Product Schema
How to implement schema.org/Product markup for Google's product snippet and merchant listing rich results — required vs. recommended properties, the availability enum, why Product schema isn't the same as a Merchant Center feed, and how to fix the common Search Console errors.
Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews, so the page can qualify for Shopping-style rich results. The minimum for a product snippet — the lighter of Google's two experiences — is name plus at least one of offers, review, or aggregateRating; a merchant listing needs offers outright, not as one option among three. Google splits this into two experiences with different strictness — product snippets (price/reviews on any product page; priceCurrency only recommended, price of 0 allowed) and merchant listings (transactional pages; require image, offers, and a price greater than zero with priceCurrency). The single biggest confusion I see: Product schema markup and a Google Merchant Center feed are separate systems with separate validators — passing the Rich Results Test doesn't validate your feed, and price/availability must match across your markup, your feed, and your actual checkout or Google flags a mismatch. Valid markup only makes you eligible; Google still decides whether to show the result.
TL;DR — Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. is code you add to a product page that labels the product details for search engines — “this is the name,” “this is the price,” “this is in stock,” “these are the review stars.” Adding it correctly makes the page eligible for the richer search listings you see on shopping results (price, availability, star ratings). It does not guarantee those extras show up, and it is not the same thing as uploading a product feed to Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads..
What Product schema is
When you look at a product page, you can tell the price from the product name from
the “In stock” label just by reading. A search engine sees plain text and has to
guess. Product schema spells it out in code, using the shared
schema.org vocabulary — it tags each piece of the
page with what it actually is: the name, an image, the price and currency,
whether it’s InStock, and any review ratings.
It’s almost always written as JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. — a small block of code that sits in the page without changing how the page looks.
Why it’s worth doing
The payoff is rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.: the enhanced search listings on product queries. Two kinds:
- ⭐ Product snippets — star ratings and a price under a normal product page.
- 🛒 Merchant listings — the fuller, shopping-style result (price, availability, sometimes shipping and returns) on pages where the item can be bought right there. Evidence for this claim Google uses Product structured data for product snippets and merchant listing experiences when applicable requirements are met. Scope: Google Search Product documentation; eligibility does not guarantee display. Confidence: high · Verified: Google: Product structured data
A more eye-catching listing can earn more clicks. There’s also a growing practitioner theory — not something Google documents — that AI shoppingAI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it. tools read this same markup to understand your products. It’s unproven, but getting the markup right costs nothing extra, so it’s worth doing regardless.
The four things you almost always need
To be eligible for the lighter product snippet experience, you need the product’s name and at least one of these three: an offer (price info), a review, or an aggregate rating (an average star score). The stricter merchant listing experience always needs an offer — it isn’t optional there the way it is for a snippet. In practice most stores include all four:
- name — the product’s name.
- image — a good product photo (required for the shopping-style listing).
- offers — with a price and priceCurrency (like
USD) and an availability (likeInStockorOutOfStock). - review / aggregateRating — if you have genuine customer ratings.
Complete the Product offer
jsonBefore
removed
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Shoe",
"offers": {
"@type": "Offer",
Removed line.
"price": "129.00"
}
}
Fixed
added
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Shoe",
Added line.
"image": "https://example.com/trail-shoe.jpg",
"offers": {
"@type": "Offer",
Added line.
"url": "https://example.com/trail-shoe",
Added line.
"price": "129.00",
Added line.
"priceCurrency": "USD",
Added line.
"availability": "https://schema.org/InStock"
}
}
- The Product now names an image shown on the page.
- The Offer now identifies its currency, availability, and product URL.
- Price and stock must remain consistent with the page, feed, and checkout.
The thing most people get wrong
Product schema and a Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed are not the same thing. The schema goes on your page. A Merchant Center feed is a separate file you submit to Google. They influence overlapping shopping results, and Google cross-checks them — but they’re validated separately, and fixing one doesn’t fix the other. More on that in the Advanced tab.
Two more beginner traps:
- Valid markup ≠ guaranteed rich result. It makes you eligible; Google still decides whether to display it.
- Only mark up what’s really on the page, and keep the price and stock in your markup matching what a shopper actually sees. Mismatches get flagged.
Want the full version — the snippet-vs-merchant-listing split, the availability values, the feed relationship, and how to fix Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. errors? Switch to the Advanced tab.
TL;DR — schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor./Product markup (usually JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) makes a product page eligible for two distinct Google experiences: product snippets (price/reviews on any product page —
priceCurrencyonly recommended,price: 0allowed) and merchant listings (transactional pages — requireimage,offers, and aprice> 0 withpriceCurrency). Minimum for a product snippet:name+ at least one ofoffers/review/aggregateRating— a merchant listing needsoffersoutright, not as one option among three. The biggest trap is conflating this on-page markup with a Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed — separate system, separate validator; Google reconciles them, and price/availability must match across markup, feed, and checkout or Google flags a mismatch. Valid markup only earns eligibility; Google’s systems still decide whether to show the result. Whether this article’s implementation angle or the broader ecommerce-SEO angle is what you’re here for, both live in the same place — this topic is cross-listed under structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. and under ecommerce SEOEcommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs. for exactly that reason.
What Product schema does — two experiences, not one
Most guides flatten “Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two.” into a single requirements list. Google actually splits it into two rich-result experiences with different strictness, and knowing which one you’re aiming for is half the battle:
- Product snippets — for non-transactional or general product pages, emphasizing reviews and price. Lighter requirements.
- Merchant listings — for pages where the product can be purchased directly, emphasizing full shopping details (price, availability, shipping, returns). 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.” Same schema.org/Product vocabulary
underneath — the difference is which properties Google requires for each.
Required vs. recommended properties
The minimum for a product snippet — Google’s lighter of the two experiences:
Product.name, plus at least one of offers, review, or aggregateRating.
That “one of three” flexibility is specific to product snippets. A merchant
listing always needs offers — Google’s own required-property table lists
name, image, and offers as required, full stop, with no either/or. And a
scoping rule worth internalizing — Google: “product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. only support
pages that focus on a single product (or multiple variants of the same
product).” A category page (“shoes in our shop”) is not a product; for a line
of variants, reach for ProductGroup markup instead (a direct sibling topic).
Product level
| Property | Product snippet | Merchant listing |
|---|---|---|
name | Required | Required |
image | Recommended | Required |
offers | (one of offers/review/rating) | Required |
description | Recommended | Recommended |
sku | Recommended | Recommended |
gtin / mpn | Recommended | Recommended |
brand | Recommended | Recommended (brand.name) |
aggregateRating | Recommended | Recommended |
review | Recommended | Recommended |
Offer level (offers, an Offer object)
| Property | Product snippet | Merchant listing |
|---|---|---|
price | Required (0 allowed for free items) | Required (must be > 0) |
priceCurrency | Recommended | Required |
availability | Recommended | Recommended |
priceValidUntil | Recommended | Recommended |
itemCondition | Recommended | Recommended |
hasMerchantReturnPolicy | — | Recommended |
shippingDetails | — | Recommended |
url | Recommended | Recommended |
The two rules people miss most: for merchant listings, “merchant listing
experiences require a price greater than zero” (product snippets tolerate 0), and
priceCurrency is required for merchant listings but only “currently
recommended” for basic product snippets.
The availability property and its enum values
availability isn’t strictly required for eligibility, but treat it as
essential — it drives the “In stock” / “Out of stock” label users see, and it’s a
key field Google matches against your Merchant Center feed. It takes a schema.org
enum, and passing a plain string like "in stock" instead of the URL/enum value is
one of the most common validation errors.
The full set Google documents for Product:
| Value | Meaning |
|---|---|
InStock | Available to buy now |
OutOfStock | Not currently available |
PreOrder | Not released yet; orders accepted for future delivery |
PreSale | Available for order before general availability |
BackOrder | Ordered but temporarily out of stock |
OnlineOnly | Only available online |
InStoreOnly | Only available in physical stores |
LimitedAvailability | Limited quantity |
Discontinued | No longer produced |
SoldOut | Sold out (e.g., a limited run) |
For the SEO handling of out-of-stock and discontinued items — whether to keep, redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., or noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. them — the out-of-stock products article in the ecommerce cluster goes deeper than the markup alone.
This catches missing Product, Offer price, and availability markup. A raw-HTML result cannot prove that the visible price matches schema, a feed, or checkout, so run those consistency checks separately.
Audit a live product detail page with my checker before debugging Merchant Center or Search Console. PDP SEO Checker Free
- Enter a representative product detail page URL.
- Confirm Product, Offer price, and availability are present in the fetched HTML.
- Then compare the visible page, structured data, Merchant Center feed, and checkout values.
Product schema vs. Google Merchant Center feeds — validated separately
This is the confusion I most want to kill. Product schema markupSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. and a Merchant Center product feed are two separate systems. Google reconciles them, but they are not one submission and they are not validated together.
Google spells out the 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 CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. and opt into free listingsFree product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts. within the Merchant Center console, or 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 And on why you might do both: “Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data. Some experiences combine data from structured data and Google Merchant Center feeds if both are available. For example, product snippets may use pricing data from your merchant feed if it’s not present in the structured data on the page.”
Read that carefully: they’re combined when available, which is exactly why people assume they’re the same system. The practical consequences:
- Two validators. Markup is checked with the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test and monitored in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.; the feed is checked with Merchant Center diagnostics. Passing the Rich Results Test says nothing about whether your feed is valid, and vice versa.
- You don’t need a feed to earn a merchant listing. On-page structured data alone can produce merchant-listing rich results. As John Mueller framed it, there’s also “the possibility to submit a feed to your merchant center account, to show products there.” The feed is an additive path, not a prerequisite.
Keep price and availability consistent across markup, feed, and checkout
The Merchant Center spec is explicit that merchants must “accurately submit the
product’s price and currency, and match with the price from your landing page,
structured data, and at checkout.” So price and availability have to agree in
three places: your on-page Offer, your Merchant Center feed, and the actual
checkout. If they diverge, Google can flag a mismatch or suspend the item even
when your JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. validates cleanly. Clean markup is necessary; consistency is
what keeps the listing live. If you sell on Bing too, the same discipline applies to
Microsoft Merchant CenterMicrosoft's free platform (inside Microsoft Advertising, formerly 'Bing Merchant Center') where retailers create a store and submit a product feed. One feed powers both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns — the Bing/Copilot-side twin of Google Merchant Center. As of 2026 it's also the product-data foundation Copilot draws on for AI-assisted shopping and checkout. — its feed system is the Bing-side equivalent of Google’s.
Reviews and ratings — and the self-serving-review myth
review and aggregateRating remain documented, eligible Product properties for
star ratings — nothing about that changed. Two rules to get right:
- Reviewer names must be a person or team, not promotional text. Google’s examples: “Not recommended: ‘50% off on Black Friday’. Recommended: ‘James Smith’ or ‘CNET Reviewers’.”
- Pros and cons structured data is editorial-only. Google: “Only editorial product review pages are eligible for the pros and cons appearance in Search results.” A merchant describing its own product can’t use it.
Now the myth I want to correct precisely, because it gets mangled constantly:
“Google killed review stars for product pages the same way it did for business reviews.” — False, and the distinction matters.
The self-serving-reviews restriction is scoped to 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.” That
policy dates to September 2019 and targets a business rating itself. Product
review/aggregateRating are still eligible.
What has tightened is genuine-review enforcement more broadly — Google’s Reviews System, the Product Reviews updates, and site-reputation-abuse policy increasingly discount manipulated or incentivized ratings even where the markup validates. So the correct statement is: Product review stars are still eligible, but the ratings must be genuine, user-sourced, and about the product — not a blanket structured-data ban. Also don’t aggregate ratings from other sites into your own markup; Google’s guidance is a flat “Don’t aggregate reviews or ratings from other websites.” The deeper eligibility discussion lives in the Review schemaReview schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. and AggregateRating schema siblings rather than here.
Identifiers and trust signals: sku, gtin, mpn, brand
These are “recommended,” not “required,” in Search’s own spec — but they carry real weight on the Merchant Center / shopping side, where product matching against the global catalog depends on them:
gtin— the global identifier (UPC/EAN/ISBN). The strongest matching signal; supply it whenever the product has one.mpn— manufacturer part number, for products without a GTIN.brand— the manufacturer/brand name (brand.name).sku— your own internal identifier.
Fill these in even though Search calls them optional; incomplete identifiers are a common reason a product is technically eligible yet underperforms in shopping surfaces where matching depends on them.
Return policy and shipping
For merchant listings, hasMerchantReturnPolicy and shippingDetails are
recommended. Google’s steer: define the return policy once at the Organization
level, 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.” That’s where the
Organization schemaOrganization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel. sibling comes in — the site-wide return policy belongs there,
with per-Offer overrides reserved for exceptions.
On 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.”
Why your valid markup still shows no rich result
Eligibility is not display. Mueller listed what it 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.” That last clause is the one people forget — you can do everything right and Google can still decide not to surface the enhancement. Getting the markup correct only puts you in the running.
JSON-LD and the AI-shopping angle
Use JSON-LD — it’s Google’s recommended format and by far the most maintainable at ecommerce scale (it isn’t interleaved with your HTML and can be injected by your platform). Beyond classic rich results, there’s a growing practitioner theory that complete Product schema also helps AI shopping tools read and recommend products — worth flagging as an open, unverified angle rather than something Google’s Product structured-data documentation establishes or promises. Getting the markup right costs nothing extra either way, so treat it as a reasonable bet, not a guaranteed payoff.
For where Product schema sits in the wider structured-data picture, see the broader Schema Markup and Structured Data hubs this article nests under; for the full product page, see the product page SEOProduct page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank. work in the ecommerce cluster.
AI summary
A condensed take on the Advanced version:
- What it is:
schema.org/Productmarkup (usually JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) that labels a product page’s name, image, price, availability, identifiers, and reviews so search engines can produce shopping-style rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.. - Two experiences, different strictness: product snippets (any product page;
reviews/price;
priceCurrencyonly recommended;price: 0allowed) vs. merchant listings (transactional pages; requireimage,offers, andprice> 0 withpriceCurrency). - Minimum for a product snippet:
name+ at least one ofoffers/review/aggregateRating. That’s snippet-specific — a merchant listing requiresoffersoutright, not as one of three options. Only single-product (or variants-of-one) pages qualify; use ProductGroup for a variant line. - Feed vs. markup (the key confusion): Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. (on-page, validated via Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test / Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.) is a separate system from a Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed (submitted, validated via Merchant Center diagnostics). Google reconciles them and can borrow feed pricing; a feed is additive, not required. Price/availability must match across markup, feed, and checkout or Google flags a mismatch even if the JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. is valid.
availabilityenum:InStock,OutOfStock,PreOrder,PreSale,BackOrder,OnlineOnly,InStoreOnly,LimitedAvailability,Discontinued,SoldOut. Passing a plain string instead of the enum is a common error.- Reviews:
review/aggregateRatingstill eligible on Product; reviewer names must be a person/team, pros-and-cons is editorial-only. Myth corrected: the self-serving-review ban is scoped to LocalBusiness/Organization, not Product — but genuine-review enforcement (Reviews System, Product Reviews updates) discounts manipulated ratings regardless of markup validity. - Identifiers:
gtin(strongest match) >mpn>brand>sku— “recommended” in Search but load-bearing for shopping/Merchant Center matching. - Return policy: default
hasMerchantReturnPolicyat Organization level; per-Offeronly for exceptions. - Eligibility ≠ display: valid markup + indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. page + Google deciding it’s “worth showing.” Clean markup only makes you eligible.
- AI angle (unverified): some practitioners believe complete Product schema helps AI shoppingAI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it. tools read and recommend products — Google’s own documentation doesn’t establish this, so treat it as an open question, not a documented mechanism.
Official documentation
Primary-source documentation from the search engines.
Google — structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. (the markup side)
- Intro to Product structured data — the two experiences (product snippets vs. merchant listings) and the “structured data, feed, or both” relationship.
- Product snippet (Review, AggregateRating, Offer) structured data — required/recommended properties for the lighter product-snippet experience.
- Merchant listing structured data — stricter requirements, the price-greater-than-zero rule, return-policy and image guidance.
- Review snippet (Review, AggregateRating) structured data — the self-serving-review scope (LocalBusiness/Organization) and the “don’t aggregate” rule.
- Rich Results Test — validate the markup and check rich-result eligibility.
Google — the feed side (Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads.)
- Product data specification — required feed attributes and the price/currency consistency requirement across landing page, structured data, and checkout.
- Set up structured data for Merchant Center — how structured data and the feed relate on the Merchant Center side.
Bing / Microsoft
- Marking up your site with structured data — Bing’s general structured-data support (schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor., JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. recommended).
Quotes from the source
On-the-record statements from Google. Where a source page exposes the text, the link is a deep link that jumps to the quoted passage.
Google docs — the two experiences
- “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.” Jump to quote
- “Currently, product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. only support pages that focus on a single product (or multiple variants of the same product).” Jump to quote
Google docs — structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. vs. Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed
- “To provide rich product data to Google Search you can add Product structured data to your web pages, upload data feeds with Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. and opt into free listingsFree product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts. within the Merchant Center console, or both.” Jump to quote
- “Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data… product snippets may use pricing data from your merchant feed if it’s not present in the structured data on the page.” Jump to quote
Google docs — merchant listing rules
- “Unlike product snippets, merchant listing experiences require a price greater than zero.” Jump to quote
- “We recommend you provide a global return policy for your business under Organization markupOrganization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel. instead… Only if some of your products have specific return policies… use this property under Offer.” Jump to quote
- “For best results, we recommend providing multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.” Jump to quote
Google docs — reviews
- On reviewer names: “Not recommended: ‘50% off on Black Friday’. Recommended: ‘James Smith’ or ‘CNET Reviewers’.” Jump to quote
- On pros and cons: “Only editorial product review pages are eligible for the pros and cons appearance in Search results.” Jump to quote
- On self-serving reviews (scoped to LocalBusiness/Organization): “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.” Review snippet docs
- “Don’t aggregate reviews or ratings from other websites.” Review snippet docs
Google — Merchant Center consistency
- Merchants must “accurately submit the product’s price and currency, and match with the price from your landing page, structured data, and at checkout.” Product data specification
John Mueller, Google (via Search Engine Journal)
- “It requires that the page be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., that the page has valid structured data on it, and that our systems have determined that it’s worth showing this structured data.” SEJ coverage
- “There’s also the possibility to submit a feed to your merchant center account, to show products there.” SEJ coverage
Product schema cheat sheet
The minimum for a product snippet
Product.name + at least one of offers / review / aggregateRating. A
merchant listing always needs offers — that flexibility doesn’t apply
there. Single-product pages only (use ProductGroup for a variant line).
Snippet vs. merchant listing — where they differ
| Product snippet | Merchant listing | |
|---|---|---|
| Page type | Any product page | Transactional (buy here) |
image | Recommended | Required |
offers | one-of trio | Required |
price | Required; 0 OK | Required; > 0 |
priceCurrency | Recommended | Required |
| Return/shipping | — | Recommended |
availability enum values
InStock · OutOfStock · PreOrder · PreSale · BackOrder · OnlineOnly ·
InStoreOnly · LimitedAvailability · Discontinued · SoldOut
Markup vs. Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed
| On-page Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. | Merchant Center feed | |
|---|---|---|
| Where it lives | In the page (JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) | Submitted file |
| Validated with | Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test / Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. | Merchant Center diagnostics |
| Required for merchant listing? | Can earn it alone | Additive, not required |
| Must match | price/availability = feed = checkout | same |
Identifiers, by matching strength: gtin > mpn > brand > sku.
Fast facts
- Format: JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. (recommended, most maintainable at scale).
- Valid markup = eligible, not guaranteed to show.
- Return policy: default at Organization level; per-
Offeronly for exceptions. - Self-serving-review ban = LocalBusiness/Organization only, not Product.
- Images: multiple, min 50K px (w×h), aspect ratios 16x9 / 4x3 / 1x1.
Do I need Product schema, a Merchant Center feed, or both?
Work down the questions:
1. Is the page a single product (or one product’s variants)?
- No — it’s a category/collection page → Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. isn’t eligible. Consider ProductGroup for a variant line, or breadcrumb/collection markup instead.
- Yes → continue.
2. Can the product be bought directly on that page?
- No (it’s an informational or editorial product page) → aim for a product
snippet:
name+offersand/orreview/aggregateRating.priceCurrencyrecommended;price: 0is allowed for free items. - Yes → aim for a merchant listing: add
image,offerswithprice> 0 andpriceCurrency(required), plusavailability,itemCondition, and ideallyshippingDetails.
3. Do you want your products in Google ShoppingGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. / free listingsFree product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts. and to maximize eligibility?
- Add a Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed in addition to the on-page markup. It’s a separate system, but Google combines both and it broadens your eligibility. Not required to earn an on-page merchant listing — it’s additive.
- Keep it markup-only if you just want the on-page rich result and don’t need the Shopping surfaces.
4. Whichever path — before you ship:
- Validate the markup with the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test and watch Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results..
- If you have a feed, validate it separately in Merchant Center.
- Confirm
price,priceCurrency, andavailabilitymatch across markup, feed, and checkout. This is the step that keeps listings live after they validate.
Rule of thumb: on-page Product schema is the baseline for everyone selling a product; the Merchant Center feed is the additional layer for anyone who wants the Shopping/free-listings surfaces or maximum eligibility.
Product schema myths and mistakes to avoid
Myth: “Adding Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. guarantees a rich result.” It only makes the page eligible. Per Mueller, the page also has to be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and Google’s systems have to decide the result is “worth showing.” Valid ≠ displayed.
Myth: “Product schema and my Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed are the same submission.” They’re two systems with two validators. Google reconciles them (and can borrow feed pricing for a snippet), but fixing your JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. does nothing for a broken feed, and a passing Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test says nothing about feed validity.
Myth: “Google killed review stars on product pages like it did for business
reviews.”
The self-serving-review ineligibility is scoped to LocalBusiness / Organization
(a business rating itself, per the September 2019 policy) — not Product.
Product review/aggregateRating are still eligible. What’s tightening is
genuine-review enforcement (Reviews System, Product Reviews updates), which discounts
manipulated or incentivized ratings even when the markup validates. Don’t conflate a
content-quality crackdown with a structured-data ban.
Myth: “priceCurrency is always required.”
It’s required for merchant listings but only “currently recommended” for basic
product snippets.
Myth: “You need Merchant Center to get Shopping-style results.” On-page structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. alone can produce a merchant-listing rich result. The feed is an additive path, not a prerequisite.
Myth: “Any price format works as long as there’s a number.”
Currency symbols, thousands separators, or a mis-nested priceSpecification routinely
break validation. Keep price a bare number/string and priceCurrency a separate
ISO code.
Mistake: marking up a category page as a Product. Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. only cover single-product (or single-product-variant) pages.
Mistake: fabricating or importing reviews. Reviewer names must be a person/team (not “50% off”), pros-and-cons is editorial-only, and you must not “aggregate reviews or ratings from other websites.”
Mistake: markup that doesn’t match the page. If the price/availability in your JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. disagrees with the landing page, feed, or checkout, Google can flag a mismatch or suspend the item — even with valid markup.
Clean vs. broken Product JSON-LD
A clean merchant-listing-ready snippet
Single product, price greater than zero, correct currency, a proper availability
enum URL, and a genuine aggregate rating:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Trailhead 30L Hiking Backpack",
"image": [
"https://example.com/img/backpack-1x1.jpg",
"https://example.com/img/backpack-4x3.jpg",
"https://example.com/img/backpack-16x9.jpg"
],
"description": "Lightweight 30-liter pack with a ventilated back panel.",
"sku": "TH-30L-GRN",
"gtin": "0192341567890",
"brand": { "@type": "Brand", "name": "Trailhead" },
"offers": {
"@type": "Offer",
"url": "https://example.com/backpacks/trailhead-30l",
"price": "129.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "218"
}
}The same snippet, broken
Every line flagged below is a real, common Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. failure:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Trailhead 30L Hiking Backpack",
"offers": {
"@type": "Offer",
"price": "$1,129.00",
"priceCurrency": "dollars",
"availability": "in stock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6"
}
}What’s wrong:
price: "$1,129.00"— a currency symbol and thousands separator break the numeric parse. Use"1129.00".priceCurrency: "dollars"— must be a valid ISO 4217 code:"USD".availability: "in stock"— not a valid enum; use the URL form"https://schema.org/InStock". This produces the classic Invalid enum value in field “availability” error.- No
image— required for a merchant listing (it would fall back to a product snippet at best). aggregateRatingwith noreviewCount/ratingCount— an aggregate rating needs a count to be valid.
Common Search Console errors → fixes
| Error string | Likely cause | Fix |
|---|---|---|
Invalid enum value in field "availability" | Plain string instead of enum | Use https://schema.org/InStock etc. |
Invalid enum value in field "itemCondition" | Same, for condition | Use https://schema.org/NewCondition etc. |
Missing field "priceCurrency" | Currency omitted, or wrong nesting under priceSpecification | Add priceCurrency at the right level |
Missing field "priceValidUntil" | Recommended date absent | Add an ISO 8601 date |
| Price parses wrong / rejected | Symbol, separator, or bad priceSpecification nesting | Bare number in price, ISO code in priceCurrency |
Test yourself: Product Schema
Five quick questions on schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor./Product, the two rich-result experiences, and the feed-vs-markup distinction. Pick an answer for each, then check.
Resources worth your time
My writing on this topic
I haven’t published a standalone Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. guide of my own — so rather than point you at something that doesn’t exist, the honest move is to send you to the primary sources below and to the related structured-data work on this site. For the broader vocabulary and where Product fits, see the Schema MarkupSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. and Structured Data hubs; for the AI angle, Schema Markup for AISchema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it..
From around the industry
- Intro to Product structured data (Google Search Central) — the authoritative reference for the two experiences and the feed relationship.
- Merchant listing structured data (Google) — the stricter transactional requirements, return-policy and image guidance.
- Product snippet structured data (Google) — the lighter product-snippet property set and reviewer-name rules.
- Product data specification (Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. Help) — the feed-side attributes and the price-consistency requirement across landing page, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and checkout.
- Google Says How To Get More Product Rich Results (Search Engine Journal) — the Mueller quotes on eligibility vs. display and the feed option.
- What Is Schema Markup? How to Add It & Why It Matters (Ahrefs) — a general schema guide with a useful AI-agent/product-discovery angle.
Product Schema
Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two.
Related: Schema Markup, Structured Data, Rich Results, ProductGroup Schema
Product Schema
Product schema is the schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor./Product structured-data vocabulary you add to a product page — usually as JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. — so search engines can read the product’s name, image, description, brand and identifiers (sku, gtin, mpn, brand), and nested Offer data (price, priceCurrency, availability), plus review/aggregateRating. Google uses it to power two distinct rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.: product snippets (star ratings and price on any product page) and merchant listings (fuller shopping-style results on pages where the item can be bought).
The most important thing to keep straight: Product schema markupSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. and a Google Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. product feed are two separate systems. The markup lives on your page and is validated with the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test; the feed is a file you submit and Google checks with Merchant Center diagnostics. Google reconciles them (and can borrow feed pricing when your markup lacks it), but passing one validator says nothing about the other.
The minimum bar for any product rich result is name plus at least one of offers, review, or aggregateRating. Merchant listings are stricter — they require image, offers, and a price greater than zero with priceCurrency. Adding valid markup only makes a page eligible; Google still decides whether to show the enhancement.
Related: Schema Markup, Structured Data, Rich Results, ProductGroup Schema
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Revision history
Compare the published article with an archived editorial snapshot. Added and removed words are shown only after you open a comparison.
Updated Jul 26, 2026.
Editorial summary and recorded change details.Summary
Added an inspectable Before / Fixed Product offer example.
Change details
-
Compared an incomplete merchant-listing Product offer with a bounded, internally consistent JSON-LD example that includes the visible image, price currency, availability, and destination.
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Scoped the 'universal minimum' rule to product snippets specifically (merchant listings require offers outright, not as one of three options) and qualified the AI-shopping-agent claims as unverified practitioner theory rather than documented Google behavior.
Change details
-
Reworded the required-properties minimum across the TL;DRs, beginner lens, advanced lens, ai-summary, cheat-sheet, and quiz so it's stated as the product-snippet rule, with merchant listings called out as requiring offers unconditionally.
-
Softened the AI-shopping-tools claims in the beginner lens, the advanced 'JSON-LD and the AI-shopping angle' section, and the ai-summary to label them explicitly as unverified practitioner theory, not something Google documents.
Full comparison unavailable — no prior snapshot was archived for this revision.