Panduan Product Schema

cara implement schema.org/Product markup untuk Google's product snippet dan merchant listing rich hasil — diperlukan vs. recommended properties, availability enum, why Product schema isn't yang sama sebagai sebuah Merchant Center feed, dan cara fix umum Search Console errors.

Pertama kali diterbitkan: 27 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa

Product schema (schema.org/Product) adalah data terstruktur itu tells mesin pencari sebuah halaman's product name, price, availability, dan reviews, so halaman dapat qualify untuk Shopping-style rich hasil. minimum untuk sebuah product snippet — lighter dari Google's two experiences — adalah name plus setidaknya one dari offers, review, atau aggregateRating; sebuah merchant listing perlu offers outright, not sebagai one option among three. Google splits ini ke two experiences dengan berbeda strictness — product snippets (price/reviews pada apa pun product halaman; priceCurrency hanya recommended, price dari 0 allowed) dan merchant listings (transactional halaman; memerlukan image, offers, dan sebuah price greater daripada zero dengan priceCurrency). single biggest confusion I see: Product schema markup dan sebuah Google Merchant Center feed adalah separate sistem dengan separate validators — passing Rich hasil Test doesn't validate Anda feed, dan price/availability harus match di seluruh Anda markup, Anda feed, dan Anda actual checkout atau Google flags sebuah mismatch. Valid markup hanya membuat Anda eligible; Google masih decides whether untuk tampilkan hasil.

TL;DR — schema.org/Product markup (biasanya JSON-LD) membuat sebuah product halaman eligible untuk two distinct Google experiences: product snippets (price/reviews pada apa pun product halaman — priceCurrency hanya recommended, price: 0 allowed) dan merchant listings (transactional halaman — memerlukan image, offers, dan sebuah price > 0 dengan priceCurrency). Minimum untuk sebuah product snippet: name + setidaknya one dari offers/review/aggregateRating — sebuah merchant listing perlu offers outright, not sebagai one option among three. biggest trap adalah conflating ini pada-halaman markup dengan sebuah Google Merchant Center feed — separate sistem, separate validator; Google reconciles them, dan price/availability harus match di seluruh markup, feed, dan checkout atau Google flags sebuah mismatch. Valid markup hanya earns eligibility; Google’s sistem masih decide whether untuk tampilkan hasil. Whether ini artikel’s implementation angle atau broader ecommerce-SEO angle adalah what Anda’re here untuk, both live di yang sama place — ini topic adalah cross-listed di bawah data terstruktur dan di bawah ecommerce SEO untuk exactly itu alasan.

Evidence for this claim For the current product-snippet feature, Product requires name plus at least one of review, aggregateRating or offers. This is not a universal minimum for every Product use, merchant listing, or Schema.org validator. Scope: product snippets Confidence: high · Verified: Product snippet structured data

What Product schema melakukan — two experiences, not one

sebagian besar guides flatten “Product schema” (terjemahan) “Product schema” ke sebuah single requirements list. Google actually splits ini ke two rich-hasil experiences dengan berbeda strictness, dan knowing which one Anda’re aiming untuk adalah half battle:

Evidence for this claim Google documents separate product snippet and merchant listing experiences with different property requirements. Scope: Google Search Product documentation; validate against the intended experience. Confidence: high · Verified: Google: Product structured data
  • Product snippets — untuk non-transactional atau umum product halaman, emphasizing reviews dan price. Lighter requirements.
  • Merchant listings — untuk halaman where product dapat menjadi purchased directly, emphasizing full shopping detail (price, availability, shipping, mengembalikan). Stricter requirements. Evidence for this claim Google documents separate product snippet and merchant listing experiences with different property requirements. Scope: Google Search Product documentation; validate against the intended experience. Confidence: high · Verified: Google: Product structured data

Google’s own framing: “Two markup types exist: Product snippets for non-purchase pages, emphasizing reviews, and Merchant listings for purchase pages, highlighting product details like sizing and shipping.” (terjemahan) “Two markup jenis exist: Product snippets untuk non-purchase halaman, emphasizing reviews, dan Merchant listings untuk purchase halaman, highlighting product detail like sizing dan shipping.” sama schema.org/Product vocabulary underneath — difference adalah which properties Google memerlukan untuk setiap.

Evidence for this claim Schema.org defines the Product vocabulary, while Google separately defines which properties it supports and requires for product snippets and merchant listings. Passing generic Schema.org validation does not establish Google rich-result eligibility. Scope: vocabulary Confidence: high · Verified: Product

** minimum untuk sebuah product snippet** — Google’s lighter dari two experiences: Product.name, plus setidaknya one dari offers, review, atau aggregateRating. itu “one of three” (terjemahan) “one dari three” flexibility adalah spesifik untuk product snippets. sebuah merchant listing selalu perlu offers — Google’s own diperlukan-property table lists name, image, dan offers sebagai diperlukan, full stop, dengan no either/atau. dan sebuah scoping aturan worth internalizing — Google: “product rich results only support pages that focus on a single product (or multiple variants of the same product).” (terjemahan) “product rich hasil hanya mendukung halaman itu focus pada sebuah single product (atau multiple variants dari yang sama product).” sebuah category halaman (“shoes in our shop” (terjemahan) “shoes di kami shop”) adalah not sebuah product; untuk sebuah line dari variants, reach untuk ProductGroup markup instead (sebuah direct sibling topic).

ProductGroup seharusnya describe genuine variants di catalog, not setiap theoretical configuration sebuah selector dapat calculate. sebuah variant seharusnya memiliki sebuah stable identity, nyata attributes, sebuah reachable atau selectable state, dan sebuah offer commerce sistem dapat pertahankan saat ini. Emitting Cartesian product dari setiap option dapat produce valid-looking markup itu invents products shoppers cannot select atau buy. detailed inclusion aturan live di Product Variant SEO.

Product tingkat

PropertyProduct snippetMerchant listing
namediperlukandiperlukan
imageRecommendeddiperlukan
offers(one dari offers/review/rating)diperlukan
descriptionRecommendedRecommended
skuRecommendedRecommended
gtin / mpnRecommendedRecommended
brandRecommendedRecommended (brand.name)
aggregateRatingRecommendedRecommended
reviewRecommendedRecommended

Offer tingkat (offers, sebuah Offer object)

PropertyProduct snippetMerchant listing
pricediperlukan (0 allowed untuk free items)diperlukan (harus menjadi > 0)
priceCurrencyRecommendeddiperlukan
availabilityRecommendedRecommended
priceValidUntilRecommendedRecommended
itemConditionRecommendedRecommended
hasMerchantReturnPolicyRecommended
shippingDetailsRecommended
urlRecommendedRecommended

two aturan people miss sebagian besar: untuk merchant listings, “merchant listing experiences require a price greater than zero” (terjemahan) “merchant listing experiences memerlukan sebuah price greater daripada zero” (product snippets tolerate 0), dan priceCurrency adalah diperlukan untuk merchant listings tetapi hanya “currently recommended” (terjemahan) “currently recommended” untuk basic product snippets.

diperlukan/recommended split verified directly terhadap Google’s Product snippet dan Merchant listing structured-data docs, 2026-07-18 — ini tables dapat perubahan, so re-periksa them terhadap live halaman sebelum relying pada them untuk sebuah launch.

availability property dan -nya enum nilai

availability isn’t strictly diperlukan untuk eligibility, tetapi treat ini sebagai essential — ini drives “In stock” (terjemahan) “di stock” / “Out of stock” (terjemahan) “Out dari stock” label pengguna see, dan ini adalah sebuah key field Google matches terhadap Anda Merchant Center feed. ini takes sebuah schema.org enum, dan passing sebuah plain string like "in stock" alih-alih URL/enum nilai adalah one dari paling umum validation errors.

full set Google documents untuk Product:

nilaiMeaning
InStockAvailable untuk buy now
OutOfStockNot currently available
PreOrderNot released yet; orders accepted untuk future delivery
PreSaleAvailable untuk order sebelum umum availability
BackOrderOrdered tetapi temporarily out dari stock
OnlineOnlyhanya available online
InStoreOnlyhanya available di physical stores
LimitedAvailabilityLimited quantity
DiscontinuedNo longer produced
SoldOutSold out (e.g., sebuah limited run)

untuk SEO handling dari out-dari-stock dan discontinued items — whether untuk pertahankan, redirect, atau noindex them — out-dari-stock products artikel di ecommerce cluster goes deeper daripada markup alone.

ecommerce availability contract

availability adalah not sebuah direct copy dari sebuah warehouse quantity. sebuah product dapat physically exist tetapi menjadi unsellable di sebuah market, unavailable untuk sebuah selected variant, restricted untuk pickup, unable untuk reach sebuah postcode, atau temporarily blocked di checkout. Reconcile whole decision chain:

Evidence for this claim Google treats on-page Product structured data and Merchant Center feeds as separate, complementary ways to provide product data. Scope: Google Search ecommerce guidance; the systems can be reconciled but are validated separately. Confidence: high · Verified: Google: Share product data
Layerpertanyaan untuk reconcile
Inventory backendHow banyak units exist, dan untuk which SKU dan location?
Sellability servicedapat itu SKU menjadi offered di ini market dan channel now?
Fulfillment servicedapat selected quantity reach ini postcode oleh delivery, pickup, atau store transfer?
terlihat product halamanWhat availability melakukan selected variant dan location tampilkan customer?
Product/Offer markupWhich schema.org nilai describes published offer pada ini URL?
Merchant atau agent feedWhat saat ini item, market, channel, price, dan availability adalah submitted?
Cart dan checkoutdapat exact SKU actually menjadi purchased di bawah represented conditions?

Choose sebuah authoritative commerce service untuk underlying decision, lalu map -nya states deliberately ke smaller vocabularies diperlukan oleh schema.org, Google atau Microsoft feeds, dan agentic-commerce integrations. melakukan not let setiap template dan feed invent -nya own translation dari available, backorderable, pickup-only, atau discontinued. Evidence for this claim Google treats on-page Product structured data and Merchant Center feeds as separate, complementary ways to provide product data. Scope: Google Search ecommerce guidance; the systems can be reconciled but are validated separately. Confidence: high · Verified: Google: Share product data

Postcode-dependent fulfillment perlu two tingkat dari truth. landing halaman, markup, dan feed seharusnya state umumnya published offer accurately; setelah sebuah customer supplies sebuah location, halaman dan checkout dapat tampilkan more spesifik fulfillment outcome. melakukan not publish InStock merely because one warehouse memiliki sebuah unit when represented market cannot buy ini, dan melakukan not mark entire parent product OutOfStock because one size, store, atau delivery metode adalah unavailable. Product Variant SEO URL contract applies when availability perubahan dengan selected SKU.

Validate setidaknya ini representative states setelah catalog, template, feed, atau fulfillment perubahan:

  • sebuah ordinary di-stock SKU;
  • sebuah temporarily unavailable atau backorderable SKU;
  • one unavailable variant inside sebuah otherwise available product group;
  • sebuah postcode-restricted delivery dengan sebuah available pickup atau store option;
  • sebuah discontinued item;
  • sebuah recently restocked item sebelum dan setelah feed refresh.

untuk setiap one, capture terlihat selection, raw dan rendered markup, feed row, cart line, dan checkout hasil. sebuah passing Rich hasil Test proves markup eligibility; ini melakukan not prove feed freshness, personalized fulfillment, atau purchase success.

Evidence for this claim Google documents separate product snippet and merchant listing experiences with different property requirements. Scope: Google Search Product documentation; validate against the intended experience. Confidence: high · Verified: Google: Product structured data

Product schema vs. Google Merchant Center feeds — validated separately

ini adalah confusion I sebagian besar ingin untuk kill. Product schema markup dan sebuah Merchant Center product feed adalah two separate sistem. Google reconciles them, tetapi mereka adalah not one submission dan mereka adalah not validated together.

Google spells out three options: “To provide rich product data to Google Search you can add Product structured data to your web pages, upload data feeds with Google Merchant Center and opt into free listings within the Merchant Center console, or both.” (terjemahan) “untuk menyediakan rich product data untuk Google Search Anda dapat tambahkan Product data terstruktur untuk Anda halaman web, upload data feeds dengan Google Merchant Center dan opt ke free listings di dalam Merchant Center console, atau both.” Evidence for this claim Google treats on-page Product structured data and Merchant Center feeds as separate, complementary ways to provide product data. Scope: Google Search ecommerce guidance; the systems can be reconciled but are validated separately. Confidence: high · Verified: Google: Share product data dan pada why Anda mungkin melakukan both: “Providing both data terstruktur pada halaman web dan sebuah Merchant Center feed maximizes Anda eligibility untuk experiences dan helps Google correctly memahami dan verify Anda data. beberapa experiences combine data dari data terstruktur dan Google Merchant Center feeds jika both adalah available. misalnya, product snippets dapat gunakan pricing data dari Anda merchant feed jika ini adalah not present di data terstruktur pada halaman.”

Read itu carefully: mereka’re combined when available, which adalah exactly why people assume mereka’re yang sama sistem. practical consequences:

  • Two validators. Markup adalah diperiksa dengan Rich hasil Test dan monitored di Search Console; feed adalah diperiksa dengan Merchant Center diagnostics. Passing Rich hasil Test says nothing tentang whether Anda feed adalah valid, dan vice versa.
  • Anda tidak perlu sebuah feed untuk earn sebuah merchant listing. pada-halaman data terstruktur alone dapat produce merchant-listing rich hasil. sebagai John Mueller framed ini, there’s juga “the possibility to submit a feed to your merchant center account, to show products there.” (terjemahan) “ possibility untuk submit sebuah feed untuk Anda merchant center account, untuk tampilkan products there.” feed adalah sebuah additive path, not sebuah prerequisite.

pertahankan price dan availability consistent di seluruh markup, feed, dan checkout

Merchant Center spec adalah explicit itu merchants harus “accurately submit the product’s price and currency, and match with the price from your landing page, structured data, and at checkout.” (terjemahan) “accurately submit product’s price dan currency, dan match dengan price dari Anda landing halaman, data terstruktur, dan di checkout.” So price dan availability memiliki untuk agree di three places: Anda pada-halaman Offer, Anda Merchant Center feed, dan actual checkout. jika mereka diverge, Google dapat flag sebuah mismatch atau suspend item bahkan when Anda JSON-LD validates cleanly. Clean markup adalah necessary; consistency adalah what mempertahankan listing live. jika Anda sell pada Bing too, yang sama discipline applies untuk Microsoft Merchant Center — -nya feed sistem adalah Bing-side equivalent dari Google’s. untuk variants, reconcile entire selected offer—not hanya price dan stock. Product identity, SKU, group ID, selected attributes, price, currency, dan availability seharusnya refer untuk yang sama sellable item pada terlihat PDP, di rendered JSON-LD, di feed, dan melalui cart dan checkout.

Evidence for this claim Google treats on-page Product structured data and Merchant Center feeds as separate, complementary ways to provide product data. Scope: Google Search ecommerce guidance; the systems can be reconciled but are validated separately. Confidence: high · Verified: Google: Share product data

Reviews dan ratings — dan self-serving-review myth

review dan aggregateRating remain documented, eligible Product properties untuk star ratings — nothing tentang itu changed. Two aturan untuk get right:

  • Reviewer names harus menjadi sebuah person atau team, not promotional text. Google’s contoh: “Not recommended: ‘50% off on Black Friday’. Recommended: ‘James Smith’ or ‘CNET Reviewers’.” (terjemahan) “Not recommended: ‘50% off pada Black Friday’. Recommended: ‘James Smith’ atau ‘CNET Reviewers’.”
  • Pros dan cons data terstruktur adalah editorial-hanya. Google: “Only editorial product review pages are eligible for the pros and cons appearance in Search results.” (terjemahan) “hanya editorial product review halaman adalah eligible untuk pros dan cons appearance di Search hasil.” sebuah merchant describing -nya own product dapat’t gunakan ini.

Now myth I ingin untuk correct precisely, because ini gets mangled constantly:

“Google killed review stars for product pages the same way it did for business reviews.” (terjemahan) “Google killed review stars untuk product halaman yang sama cara ini melakukan untuk business reviews.” — salah, dan distinction penting.

self-serving-reviews restriction adalah scoped untuk LocalBusiness / Organization markup, not Product. Google’s wording: “If the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature.” (terjemahan) “jika entity itu’s menjadi reviewed controls reviews tentang itself, mereka halaman itu gunakan LocalBusiness atau apa pun lainnya jenis dari Organization data terstruktur adalah ineligible untuk star review fitur.” itu policy dates untuk September 2019 dan targets sebuah business rating itself. Product review/aggregateRating adalah masih eligible.

What memiliki tightened adalah genuine-review enforcement more broadly — Google’s Reviews sistem, Product Reviews updates, dan situs-reputation-abuse policy increasingly discount manipulated atau incentivized ratings bahkan where markup validates. So correct statement adalah: Product review stars adalah masih eligible, tetapi ratings harus menjadi genuine, pengguna-sourced, dan tentang product — not sebuah blanket structured-data ban. juga don’t aggregate ratings dari lainnya situs ke Anda own markup; Google’s guidance adalah sebuah flat “Don’t aggregate reviews or ratings from other websites.” (terjemahan) “Don’t aggregate reviews atau ratings dari lainnya situs web.” deeper eligibility discussion lives di Review schema dan AggregateRating schema siblings alih-alih here.

Identifiers dan trust signals: sku, gtin, mpn, brand

ini adalah “recommended,” (terjemahan) “recommended,” not “required,” (terjemahan) “diperlukan,” di Search’s own spec — tetapi mereka carry nyata weight pada Merchant Center / shopping side, where product matching terhadap global catalog depends pada them:

  • gtin — global identifier (UPC/EAN/ISBN). strongest matching signal; supply ini whenever product memiliki one.
  • mpn — manufacturer bagian angka, untuk products without sebuah GTIN.
  • brand — manufacturer/brand name (brand.name).
  • sku — Anda own internal identifier.

Fill ini di bahkan though Search panggilan them optional; incomplete identifiers adalah sebuah umum alasan sebuah product adalah technically eligible yet underperforms di shopping surfaces where matching depends pada them.

kembalikan policy dan shipping

untuk merchant listings, hasMerchantReturnPolicy dan shippingDetails adalah recommended. Google’s steer: define kembalikan policy once di Organization tingkat, not per-offer — “We recommend you provide a global return policy for your business under Organization markup instead… Only if some of your products have specific return policies… use this property under Offer.” (terjemahan) “kami recommend Anda menyediakan sebuah global kembalikan policy untuk Anda business di bawah Organization markup instead… hanya jika beberapa dari Anda products memiliki spesifik kembalikan policies… gunakan ini property di bawah Offer.” itu’s where Organization schema sibling comes di — situs-wide kembalikan policy belongs there, dengan per-Offer overrides reserved untuk exceptions.

pada images, Google recommends “multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.” (terjemahan) “multiple tinggi-resolution images (minimum dari 50K pixels when multiplying width dan height) dengan following aspect ratios: 16x9, 4x3, dan 1x1.”

Why Anda valid markup masih menampilkan no rich hasil

Eligibility adalah not display. Mueller listed what ini takes: “It requires that the page be indexed, that the page has valid structured data on it, and that our systems have determined that it’s worth showing this structured data.” (terjemahan) “ini memerlukan itu halaman menjadi terindeks, itu halaman memiliki valid data terstruktur pada ini, dan itu kami sistem memiliki determined itu ini adalah worth showing ini data terstruktur.” itu last clause adalah one people forget — Anda dapat melakukan everything right dan Google dapat masih decide not untuk surface enhancement. Getting markup correct hanya puts Anda di running.

JSON-LD dan AI-shopping angle

gunakan JSON-LD — ini adalah Google’s recommended format dan oleh far paling maintainable di ecommerce scale (ini isn’t interleaved dengan Anda HTML dan dapat menjadi injected oleh Anda platform). Beyond classic rich hasil, there’s sebuah growing practitioner theory itu complete Product schema juga helps AI shopping alat read dan recommend products — worth flagging sebagai sebuah open, unverified angle alih-alih something Google’s Product structured-data documentation establishes atau promises. Getting markup right costs nothing extra either cara, so treat ini sebagai sebuah reasonable bet, not sebuah guaranteed payoff.

untuk where Product schema sits di wider structured-data picture, see broader Schema Markup dan data terstruktur hubs ini artikel nests di bawah; untuk full product halaman, see product halaman SEO berfungsi di ecommerce cluster.

Add an expert note

Pin an expert quote

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