Hướng dẫn về OfferShippingDetails Schema

Cách implement schema.org/OfferShippingDetails — shippingRate, shippingDestination, và deliveryTime — sau Google November 2025 restructure đó đã làm điều này đó theo-sản phẩm override of an org-cấp độ ShippingService default. Bao gồm đó precedence stack, đó silent-failure trap, và hoạt động JSON-LD.

Xuất bản lần đầu: 2 thg 7, 2026 · Cập nhật lần cuối: 8 thg 8, 2026 · Advanced
Ngôn ngữ

OfferShippingDetails (schema.org/OfferShippingDetails) là dữ liệu có cấu trúc nested bên trong an Offer đó tells Google điều gì một sản phẩm costs để ship (shippingRate, một MonetaryAmount), nơi điều này ships (shippingDestination, một DefinedRegion), và cách dài phân phối takes (deliveryTime, mà là handlingTime + transitTime). As of November 2025 đây là một half of một hai-tier hệ thống: Google hiện tại khuyến nghị declaring một catalog-wide default khi tại đó organization cấp độ với ShippingService (Organization.hasShippingService), và dùng OfferShippingDetails dưới một cụ thể Offer chỉ as đó theo-sản phẩm override — đó giống nhau org-cấp độ/offer-cấp độ split điều này đã dùng cho MerchantReturnPolicy. Hai điều trip mọi người lên. Đầu tiên, 'tác giả của bạn default tại đó org cấp độ' và 'sản phẩm-cấp độ markup outranks org-cấp độ markup trong một conflict' là cả hai đúng — họ là khác nhau các câu hỏi. Second, đó silent-failure trap: markup có thể validate perfectly trong đó Rich Kết quả Kiểm thử trong khi đang fully overridden by một Merchant Center feed giá trị hoặc một Search Console shipping setting, với không lỗi until an eventual listing rejection. shippingDetails là được khuyến nghị, không bắt buộc, cho Sản phẩm rich kết quả, nhưng shipping info of some form là bắt buộc cho danh sách miễn phí trong ~30 countries. Và như all dữ liệu có cấu trúc, đây là eligibility, không phải là yếu tố xếp hạng.

Evidence for this claim Schema.org defines OfferShippingDetails for representing shipping destinations, rates, and delivery-time information associated with an offer. Scope: Schema.org vocabulary semantics. Confidence: high · Verified: Schema.org: OfferShippingDetails Evidence for this claim Google supports shipping details in Product merchant-listing structured data but does not guarantee a rich result. Scope: Google merchant-listing eligibility and precedence rules. Confidence: high · Verified: Google Search Central: Merchant listing shipping

TL;DR — OfferShippingDetails là đó schema.org loại nested dưới Offer (qua shippingDetails) đó declares shippingRate (một MonetaryAmount), shippingDestination (một DefinedRegion), và deliveryTime (handlingTime + transitTime). As of November 2025 đây là đó offer-cấp độ override half of một hai-tier hệ thống: Google hiện tại khuyến nghị declaring một catalog-wide default khi tại đó organization cấp độ với ShippingService (Organization.hasShippingService), và reserving OfferShippingDetails cho các sản phẩm đó differ — đó giống nhau org-cấp độ/offer-cấp độ split điều này dùng cho MerchantReturnPolicy. Hai điều confuse mọi người. (1) “Author your default at the org level” (bản dịch) «Tác giả của bạn default tại đó org cấp độ» và “product-level markup outranks org-level markup in a conflict” (bản dịch) «sản phẩm-cấp độ markup outranks org-cấp độ markup trong một conflict» là cả hai đúng — khác nhau axes. (2) Đó silent-failure trap: markup validates trong đó Rich Kết quả Kiểm thử nhưng nhận fully overridden by một Merchant Center feed giá trị hoặc một Search Console setting, với không lỗi until một listing rejection. shippingDetails là được khuyến nghị, không bắt buộc; đây là eligibility, không phải là yếu tố xếp hạng.

Điều gì OfferShippingDetails thực ra là

schema.org own một-liner là terse: “OfferShippingDetails represents information about shipping destinations.” (bản dịch) «OfferShippingDetails represents information về shipping destinations.» Trong thực tế đây là đó object bạn nest bên trong an Offer qua đó shippingDetails thuộc tính — schema.org mô tả đó thuộc tính as indicating “information about the shipping policies and options associated with an Offer.” (bản dịch) «information về đó shipping policies và options associated với an Offer.» Điều này sits right alongside price, priceCurrency, và availability trong đó giống nhau Offer đó powers của bạn sản phẩm schema.

Bạn có thể declare multiple OfferShippingDetails instances on một sản phẩm — đó là dự kiến, không phải lỗi — vì một sản phẩm có thể ship tại khác nhau rates để khác nhau places, hoặc tại khác nhau rate/speed tiers để đó giống nhau place.

Đó November 2025 restructure: OfferShippingDetails so với. ShippingService

Này là đó part gần như không existing hướng dẫn có folded trong, so đây là worth đang làm cẩn thận. On November 12, 2025 Google announced hai expanded ways để share shipping và trả về policies (Google Search Central blog, covered đó giống nhau day by Search Engine Journal): bạn có thể hiện tại configure shipping trực tiếp trong Search Console settings (opened lên để bất kỳ site Google classifiers identify as một merchant, không chỉ những với một linked Merchant Center account), và bạn có thể declare an organization-cấp độ ShippingService trong dữ liệu có cấu trúc.

ShippingService là một new schema.org loại — declared qua Organization.hasShippingService — đó cho phép bạn state một tiêu chuẩn shipping policy khi, on một single trang describing của bạn business shipping, thay vì repeating điều này on mỗi sản phẩm. Google own ShippingService tài liệu frames đó mối quan hệ từ đó side: “If you need to override your standard shipping policy for a specific product, specify one or more instances of the OfferShippingDetails type,” (bản dịch) «Nếu bạn cần để override của bạn tiêu chuẩn shipping policy cho một cụ thể sản phẩm, specify một hoặc hơn instances of đó loại,» nested dưới Offer — và notes đó sản phẩm-cấp độ policies hỗ trợ “a more limited set of properties than those described here for shipping policies specified under Organization.” (bản dịch) «một hơn limited set of properties hơn những described ở đây cho shipping policies specified dưới .»

So đó authoring hướng dẫn là:

  • Org cấp độ (ShippingService) — đó được khuyến nghị default. Declare của bạn tiêu chuẩn policy khi. Google merchant-listing tài liệu chẳng hạn điều này trực tiếp: “We recommend you provide a global shipping policy for your business under Organization markup instead… Only if some of your products have specific shipping policies for which you need to override your global shipping policy, or if you don’t provide a standard shipping policy for your business, use this property under Offer.” (bản dịch) «We khuyến nghị bạn cung cấp một global shipping policy cho của bạn business dưới markup thay vì… Chỉ nếu some of của bạn các sản phẩm có cụ thể shipping policies cho mà bạn cần để override của bạn global shipping policy, hoặc nếu bạn không cung cấp một tiêu chuẩn shipping policy cho của bạn business, dùng này thuộc tính dưới .»
  • Offer cấp độ (OfferShippingDetails) — đó override. Dùng điều này cho đó các sản phẩm đó genuinely ship differently, hoặc as đó fallback nếu bạn không bao giờ declared an org-cấp độ default.

Google được xây dựng này để reduce theo-sản phẩm markup maintenance cho lớn catalogs đó all share một policy. Nếu bạn know đó MerchantReturnPolicy pattern — một default tại Organization.hasMerchantReturnPolicy, an override dưới đó Offer — này là đó giống nhau architecture applied để shipping. Google đã được actively tightening này toàn bộ thuộc tính cluster: điều này đã làm returnPolicyCountry an explicitly bắt buộc trường on đó trả về-policy sibling trong March 2025, thì đã thêm đó entire ShippingService layer trong November 2025.

Đó schema.org proposal behind đó thay đổi (GitHub vấn đề #3617, initiated by Google Shopping engineer Irina Tuduce) là rõ ràng đó điều này “introduces a new type, ShippingService, that groups shipping constraints,” (bản dịch) «introduces một new loại, ShippingService, đó groups shipping constraints,» và đó “redundant fields from ShippingRateSettings are therefore… deprecated.” (bản dịch) «redundant các trường từ ShippingRateSettings là do đó… deprecated.» Note điều gì đó làm và không có nghĩa là: OfferShippingDetails itself đã là không deprecated — điều này đã là repositioned. Chỉ certain redundant các trường bên trong đó related ShippingRateSettings loại đã là dropped.

Đó properties, một by một

Bên trong an OfferShippingDetails object:

  • shippingRate — một MonetaryAmount (hoặc ShippingRateSettings). schema.org: “The shipping rate is the cost of shipping to the specified destination.” (bản dịch) «Đó shipping rate là đó cost of shipping để đó specified đích.» Này là nơi một value of 0 marks free shipping. ShippingRateSettings là điều gì đó 2025 restructure extended để hỗ trợ percentage-of-order-giá trị và percentage-of-weight rates.
  • shippingDestination — một DefinedRegion. schema.org: điều này “indicates (possibly multiple) shipping destinations. These can be defined in several ways, e.g. postalCode ranges.” (bản dịch) «indicates (possibly multiple) shipping destinations. Những có thể là được định nghĩa trong several ways, e.g. postalCode ranges.» Bạn express điều này as một country (addressCountry), một region, hoặc một postal-code range — mà là vì sao một sản phẩm có thể carry several OfferShippingDetails entries cho khác nhau regions.
  • shippingOrigin — cũng một DefinedRegion: “Indicates the origin of a shipment, i.e. where it should be coming from.” (bản dịch) «Indicates đó origin of một shipment, i.e. nơi điều này nên là coming từ.»
  • deliveryTime — một ShippingDeliveryTime object. schema.org calls điều này “The total delay between the receipt of the order and the goods reaching the final customer.” (bản dịch) «Đó total delay giữa đó receipt of đó order và đó goods reaching đó cuối customer.» Crucially, đây là không một number — đây là đó sum of hai sub-properties (dưới).
  • doesNotShip — một Boolean: “Indicates when shipping to a particular shippingDestination is not available.” (bản dịch) «Indicates khi shipping để một particular shippingDestination không phải khả dụng.»
  • hasShippingService — một ShippingService (đó new org-cấp độ loại; này là đó link giữa đó hai tiers).
  • validForMemberTier — ties một shipping option để một loyalty/membership tier (e.g. free shipping cho members).
  • weight / height / width / depth — package dimensions dùng cho rate-matching.

deliveryTime = handlingTime + transitTime

Đó single hầu hết-missed detail. deliveryTime (một ShippingDeliveryTime) là đã làm of:

  • handlingTime — schema.org: “The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup.” (bản dịch) «Đó typical delay giữa đó receipt of đó order và đó goods either leaving đó warehouse hoặc đang prepared cho pickup.» Này là của bạn processing delay trước bất cứ điều gì ships.
  • transitTime“The typical delay the order has been sent for delivery and the goods reach the final customer.” (bản dịch) «Đó typical delay đó order đã được đã gửi cho phân phối và đó goods reach đó cuối customer.» Này là đó carrier delay sau điều này ships.
  • cutoffTime“Order cutoff time allows merchants to describe the time after which they will no longer process orders received on that day. For orders processed after cutoff time, one day gets added to the delivery time estimate.” (bản dịch) «Order cutoff time cho phép merchants để mô tả đó time sau mà they sẽ không lâu hơn xử lý orders đã nhận on đó day. Cho orders processed sau cutoff time, một day nhận đã thêm để đó phân phối time estimate.»
  • businessDays — đó days of đó week bạn thực ra xử lý orders.

Nếu một buyer sees “arrives in 4–7 business days,” (bản dịch) «arrives trong 4–7 business days,» đó là xử lý (chẳng hạn 1–2 days) plus transit (3–5 days), với cutoffTime bumping đó estimate một day cho muộn orders. Collapsing đó hai vào một single đã làm-lên transit number là một lỗi thường gặp.

Là điều này bắt buộc?

Không — và này là một persistent myth. shippingDetails là một được khuyến nghị, không bắt buộc, thuộc tính cho merchant-listing dữ liệu có cấu trúc. Đó chỉ bắt buộc merchant-listing properties là price (mà cho merchant listings phải được “greater than zero” (bản dịch) «greater hơn zero») và priceCurrency (ISO 4217). Bạn có thể earn một hợp lệ Sản phẩm rich kết quả với không shipping markup tại all.

Evidence for this claim Google supports shipping details in Product merchant-listing structured data but does not guarantee a rich result. Scope: Google merchant-listing eligibility and precedence rules. Confidence: high · Verified: Google Search Central: Merchant listing shipping

có một tách biệt requirement mọi người conflate với này một: shipping information of some form — markup, một Merchant Center feed giá trị, hoặc một Search Console setting — là bắt buộc cho eligibility trong Google free sản phẩm listings trên khoảng 30 countries (theo Google Merchant Center Help; đó list spans Australia, Brazil, Canada, hầu hết of Western Europe, India, Japan, South Korea, đó UK, đó US, và hơn). đó là “you must supply shipping info somehow,” (bản dịch) «bạn phải supply shipping info somehow,» không “the shippingDetails schema property is mandatory.” (bản dịch) «đó schema thuộc tính là mandatory.» Hai khác nhau requirements.

Multiple options và Google tie-break logic

Vì bạn có thể (và thường nên) list several rate/speed combos — chẳng hạn $5 USD cho 5–7 days và $15 USD cho 1–2 days — Google cần một rule cho mà một để surface. Theo của nó ShippingService tài liệuSEJ coverage: khi several entries có thể apply để đó giống nhau buyer và đích, Google cho thấy đó lowest-cost option và của nó associated speed, breaking cost ties by đó fastest speed. So listing một cheap-nhưng-chậm option có nghĩa là Google có thể cho thấy đó một — worth knowing trước khi bạn list điều này.

Precedence: điều gì wins khi sources conflict

Author the normal default once at the organization level, but debug conflicts from the strongest source downward.

Merchant API or Content API values are strongest. Merchant Center or Search Console shipping settings come next. Product-level OfferShippingDetails overrides organization markup. Organization-level ShippingService is the recommended place to author the default but is the weakest source when values conflict.

Ở đây đó confusion đó trips lên nearly mọi người, và đây là worth stating as hai tách biệt các câu hỏi:

Câu hỏi MỘT — nơi nên I tác giả my default? Tại đó org cấp độ (ShippingService). đó là đó authoring khuyến nghị trên.

Câu hỏi B — khi several sources declare shipping cho đó giống nhau sản phẩm, mà giá trị làm Google thực ra dùng? MỘT khác nhau câu hỏi với một khác nhau câu trả lời. Google own Merchant Center tài liệu establishes hai links trong này chain trực tiếp: item-cấp độ shipping settings có thể override account-cấp độ settings, và cập nhật pushed qua đó Nội dung API cho Shopping hoặc Merchant API có thể overwrite manual Merchant Center edits. Đó đầy đủ four-tier stack dưới — mà folds trong dữ liệu có cấu trúc cũng — là magstags’ practitioner synthesis, consistent với những hai được ghi lại links nhưng không itself một single chính thức Google nguồn, strongest để weakest:

  1. Nội dung API cho Shopping / Merchant API (account-cấp độ settings) — strongest.
  2. Merchant Center hoặc Search Console shipping settings.
  3. Sản phẩm-cấp độ OfferShippingDetails markup.
  4. Org-cấp độ ShippingService markup — weakest.

Notice đó apparent inversion: ShippingService là đó được khuyến nghị điều để tác giả, nhưng trong một conflict, sản phẩm-cấp độ OfferShippingDetails outranks điều này. Cả hai là đúng. “Where should my default live” (bản dịch) «Nơi nên my default trực tiếp» và “what wins in a fight” (bản dịch) «điều gì wins trong một fight» là khác nhau axes, và conflating them là đó top practitioner lỗi ở đây. As magstags diễn đạt điều này: “Stronger sources override weaker ones completely. There is no blending.” (bản dịch) «Stronger sources override weaker ones completely. Có không blending.»

Đó silent-failure trap

Này là đó single hầu hết valuable pattern để internalize — nhưng đây là worth đang precise về điều gì Google documents trực tiếp versus điều gì là một well-corroborated practitioner observation. Google own tài liệu xác nhận đó underlying mechanism: item- và account-cấp độ settings có thể silently override của bạn markup (đó precedence stack trên), và Merchant Center có thể disapprove một listing cho inaccurate hoặc bị thiếu shipping information. Điều gì Google tài liệu không spell out đầu đến cuối là đó chính xác failure sequence magstags các báo cáo: của bạn OfferShippingDetails markup validates perfectly trong đó Rich Kết quả Kiểm thử, thì nhận completely overridden by một Merchant Center feed giá trị hoặc một Tìm kiếm Console shipping setting sitting cao hơn trong đó precedence stack — với không lỗi surfaced anywhere. Đó chỉ symptom là an eventual listing rejection nếu đó displayed shipping cost không match điều gì một buyer sees tại checkout. Treat đó sequence as một mạnh practitioner pattern để kiểm tra cho, không an chính thức Google bảo đảm. magstags cũng flags đó related gotcha đó shipping/trả về policies edited trong Merchant Center become chỉ đọc trong Search Console cho 30 days. Nếu của bạn markup “isn’t showing,” (bản dịch) «không cho thấy,» kiểm tra đó cao hơn tiers of đó stack trước khi bạn touch đó markup.

Google so với. Bing

Đó asymmetry là stark. Bing có không dedicated shipping-schema tài liệu paralleling Google merchant-listing / ShippingService tài liệu, không OfferShippingDetails hoặc ShippingService bắt buộc-thuộc tính các bảng, và không tương đương để Google free-listings shipping requirement. Bing Quản trị viên web Tools validates schema.org markup generically, nhưng không publish một bespoke shipping feature. Này là đó giống nhau pattern đó commerce schema hub đã documents cho ProductGroup — treat Bing as “generic schema.org support, no bespoke shipping feature” (bản dịch) «generic schema.org hỗ trợ, không bespoke shipping feature» until một Bing rep says nếu không, thay vì assuming parity với Google.

Làm điều này help thứ hạng?

Không — giống nhau caveat as all dữ liệu có cấu trúc. Điều này buys eligibility cho đó shipping line trong một merchant listing hoặc knowledge panel; điều này không phải một tín hiệu xếp hạng. John Mueller đã được blunt on đó chung point: “Structured data won’t make your site rank better,” (bản dịch) «Dữ liệu có cấu trúc sẽ không làm trang web của bạn xếp hạng tốt hơn,» và đó dùng điều này cho other purposes “won’t cause problems, but you’re unlikely to see any visible change from it in Google Search” (bản dịch) «sẽ không nguyên nhân các vấn đề, nhưng bạn là khó có khả năng để see bất kỳ visible thay đổi từ điều này trong Google Search» (relayed qua Công cụ tìm kiếm Roundtable).

”Is schema dying?” (bản dịch) «Là schema dying?» — một nhanh disambiguation

Bạn có thể có seen muộn-2025 coverage đó Google sẽ “remove support for [certain] structured data types in Search Console and its API” (bản dịch) «xóa hỗ trợ cho [certain] dữ liệu có cấu trúc types trong Search Console và của nó API» starting January 2026 (theo SEJ). Đó là một nhỏ set of unrelated, underused types — điều này có không có gì để làm với shipping schema. Đó opposite happened ở đây: shipping schema đã là expanded (ShippingService đã thêm) trong November 2025, đó giống nhau season đó “schema is dying” (bản dịch) «schema là dying» narrative đã là circulating. Mueller cách diễn đạt đó week — “markup types come and go, but a precious few you should hold on to” (bản dịch) «markup types come và go, nhưng một precious một vài bạn nên hold on để» (SER) — là đó right lens: không strip hợp lệ shipping markup on một sai alarm.

Nơi này sits

OfferShippingDetails là một thuộc tính-cấp độ loại trong đó dữ liệu có cấu trúc sub-cluster, nested dưới đó commerce schema hub alongside ProductProductGroup. Của nó closest sibling là MerchantReturnPolicy — đó giống nhau org-cấp độ-default / offer-cấp độ-override architecture applied để trả về thay vì shipping. Cho đó rộng hơn vocabulary, deprecation cycles, và cách chọn một loại, see schema markup; cho đó format itself, JSON-LD.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.