Commerce Schema
Commerce schema is my catch-all for the schema.org listing types — Product, ProductGroup, and JobPosting — that Google turns into Shopping-style and Jobs-style rich results. Here's how they relate and when to use which.
1 evidence signal on this page
- Related live toolSchema Markup Validator
"Commerce schema" is my practitioner label — not a Google or schema.org category — for the schema.org listing types that power transactional rich results: Product (a single sellable item), ProductGroup (a parent that groups variants), and JobPosting (one open job). Google splits them across two doc families (Product/Variants under "Shopping," Job posting in the general feature guides), and schema.org doesn't unify them either — Product/ProductGroup are parent/child, JobPosting sits in a totally different branch. What ties them together is purely the SEO use case: structured listings Google turns into specialized SERP treatment (Merchant listings, Google for Jobs). None of it is a ranking factor — it earns eligibility, not rank, and it's not a CTR, display, or AI-citation guarantee either. Review stars run on their own separate eligibility profile (not every product page qualifies), and Organization-level return policy vs. Offer-level shipping exceptions are two separate records to keep current. The lifecycle stakes differ sharply too: a stale product mostly loses eligibility, but a stale, unremoved job posting can earn you a manual action. This hub routes; the property tables live in the type-specific deep dives.
TL;DR — “Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.” is my shorthand for 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. types you use to mark up things people can search for and act on — products to buy and jobs to apply for. There are three: Product (one item for sale), ProductGroup (a group of variants, like a shirt in several sizes and colors), and JobPosting (a single open job). Add the right one and your page becomes eligible for a fancier search listing — Shopping-style product results or a Google for JobsJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). card. It doesn’t make you rank higher, doesn’t guarantee the result actually shows or earns more clicks, and it’s not a way to get cited by AIAn AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking. either. This hub routes you to the right type; the full property tables live in each type’s own article.
What “commerce schema” means
“Commerce schema” is a practical grouping, not a single Schema.org type or Google feature. Evidence for this claim Commerce schema is an editorial grouping rather than a single Schema.org type or Google feature. Scope: This article's taxonomy; Schema.org and Google document individual types and search experiences. Confidence: high · Verified: Schema.org: Product Google documents distinct product, merchant-listing, and 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. requirements and eligibility. Evidence for this claim Google documents distinct structured-data requirements for product snippets and merchant listings, and valid markup does not guarantee display. Scope: Google Product structured data and merchant-listing experiences. Confidence: high · Verified: Google: Product structured data
When you look at a page selling a jacket, you can tell the price from the color options from the “in stock” label just by reading. A search engine sees plain text and has to guess. 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. is code you add to spell it out — “this is the price,” “this is the availability,” “this is a job title” — using a shared vocabulary from a site called schema.org.
“Commerce schema” isn’t an official term. It’s just my umbrella for the schema.org types that describe commercial or transactional listings — individual items a person can search for, filter, and do something with:
- Product — a single item that’s for sale.
- ProductGroup — a parent that ties together the variants of one item (sizes, colors) so search engines know they’re options of the same thing, not separate products.
- JobPosting — one open job on a careers page.
I group these three together because they share a job in SEO: you add them so Google can turn your listing into a specialized search result. But be clear — Google and schema.org don’t file them together. I’ll come back to that honesty in the Advanced tab, because it matters.
This hub’s own job follows from that: it’s a router, not the implementation guide. Figure out which of the three types your page is below, then go read that type’s deep dive (and, where reviews, returns, or shipping are involved, the adjacent Review/MerchantReturnPolicy/OfferShippingDetailsOfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default. records) for the actual property tables.
Why you’d bother: rich results
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 listings that stand out in search:
- 🛍️ a product with price, an “in stock” label, and review stars
- 👕 a product that shows its size and color options
- 💼 a job that appears in Google’s Jobs box with the company, location, and salary
Add the matching schema with all its required details, and your page becomes eligible for that treatment. Eligible, never guaranteed — Google still decides whether to actually show it.
The thing most people get wrong
Adding commerce schema does not make you rank higher. Google has said this plainly and repeatedly. What schema does is make you eligible for a richer listing and help engines understand your page. That’s different from ranking better — and eligible isn’t the same as guaranteed, either: valid markup doesn’t promise the rich result will actually show, doesn’t promise more clicks, and isn’t a way to get cited in an AI answer. Treat each of those as its own separate outcome.
One more beginner trap: these types aren’t interchangeable. Use Product for a single item, ProductGroup when that item comes in variants, and JobPosting for a job — and never for a page listing several jobs at once. That last rule is stricter than most people expect.
Want the full version — where these sit in the schema.org hierarchy, how each connects to 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 Google for Jobs, and which article to read next? Switch to the Advanced tab.
TL;DR — “Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.” is my practitioner grouping, not a Google or 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. category, for the listing types that earn transactional 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, ProductGroup, and JobPosting. Google actually splits them — Product/Variants live under “Shopping,” Job posting sits in the general feature guides list. schema.org doesn’t unify them either: Product → ProductGroup is a real parent/child (
Thing > Product > ProductGroup), while JobPosting is off in the Intangible branch (Thing > Intangible > JobPosting), unrelated to Product. The only thing binding all three is the SEO use case — structured listings Google turns into specialized SERP treatment (Merchant listings, Google for JobsJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles).). None of it is a ranking factor; it buys eligibility — not a guaranteed display, a CTR lift, or an AI citationAn AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking., which are three separate, unguaranteed outcomes. Review/AggregateRating eligibility runs on its own separate profile, and return/shipping data splits into an Organization-level policy plus Offer-level exceptions — two more contracts this hub only routes to. And the lifecycle risk differs across the three: a stale Product mostly loses eligibility, but a stale, un-expired JobPosting can trigger a manual action.
First, an honest framing: this is my grouping, not Google’s
The grouping in this article combines several related vocabularies and search features for convenience. Evidence for this claim Commerce schema is an editorial grouping rather than a single Schema.org type or Google feature. Scope: This article's taxonomy; Schema.org and Google document individual types and search experiences. Confidence: high · Verified: Schema.org: Product Each Google experience has its own required and recommended properties, and valid markup does not guarantee display. Evidence for this claim Google documents distinct structured-data requirements for product snippets and merchant listings, and valid markup does not guarantee display. Scope: Google Product structured data and merchant-listing experiences. Confidence: high · Verified: Google: Product structured data
I want to be transparent up front, because most content that talks about “commerce” or “ecommerce” schema quietly implies these types are an official family. They’re not.
- Google’s own docs split them. In the structured data gallery, “Job posting” sits in the flat, general Feature guides list — right alongside unrelated types like Article, Local business, and Organization. Meanwhile “Product snippet,” “Merchant listing,” and “Variants” live under a separate Shopping sub-heading. Two different documentation families.
- schema.org doesn’t unify them. Its own type hierarchy has a dedicated “Product, Offer, and AggregateOffer” group — and JobPosting appears in no top-level grouping alongside it.
So why put them in one article? Because in practice — the way an SEO actually works — they’re the same kind of problem: structured, listing-style content you mark up to unlock a specialized search experience. That shared use case is real and useful. The shared taxonomy is not. I’d rather say that plainly than pretend Google drew this box.
The three types at a glance
- Product (
schema.org/Product) — a single sellable item. Google turns valid Product markupProduct 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 two experiences: product snippets (review stars and price on non-purchase pages) and merchant listings (fuller Shopping-style results on pages where you can buy the item). Bare minimum for a rich result:nameplus at least one ofoffers,review, oraggregateRating— but thereview/aggregateRatingroute rides on Google’s separate Review snippetReview 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. rules (its own eligibility profile, including the self-serving-reviews restriction), not a blanket “any product page can show stars.” Not every Product or merchant page automatically qualifies for review stars; see 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. deep dive for that profile. - ProductGroup (
schema.org/ProductGroup) — a parent that groups the variants of one conceptual item (a t-shirt in several sizes and colors) so Google understands they’re options of the same product, not unrelated listings. It ties variants together withhasVariant,variesBy, andproductGroupID. Crucially, it doesn’t replace Product — every variant is still its own full Product; the ProductGroup sits above them. - JobPosting (
schema.org/JobPosting) — a single open job, marked up so it’s eligible for the Google for Jobs experience (the card/carousel of listings in Search). Baseline required properties aretitle,description,datePosted,hiringOrganization, andjobLocation(orapplicantLocationRequirementsfor fully remote roles).
I keep this hub deliberately shallow on each type’s property tables — the deep dives live in the three child articles I point to at the end.
Where they sit in the schema.org hierarchy
This is the part almost nobody cites correctly, and it’s the difference between a guess and a fact:
- Product —
Thing > Product. - ProductGroup —
Thing > Product > ProductGroup. It’s a genuine subtype of Product, inheriting all of Product’s properties and addinghasVariant,productGroupID, andvariesBy. So “Product vs ProductGroup” isn’t a real either/or — ProductGroup is a specialized Product, purpose-built for the variant case. - JobPosting —
Thing > Intangible > JobPosting. A completely separate branch. The JobPosting definition makes no reference to Product, Offer, or any commerce type.
Conclusion: Product and ProductGroup are taxonomically related (parent/child, verifiable, citable); JobPosting is taxonomically unrelated. The connective tissue across all three is the SEO use case, not type inheritance. Say that, and you’re on solid ground.
Product vs. ProductGroup: when to use which
Simple rule:
- One purchasable configuration → plain Product. A single SKU, one price, one page-that-can-be-bought.
- One conceptual item, multiple purchasable variants → ProductGroup wrapping
its Product members. The shirt-in-five-colors case. A ProductGroup itself isn’t
offered for sale — its
hasVariantmembers are, each with its ownsku/gtin, price, and availability.
Google also documents ProductGroup differently: it lives on the Variants page,
not as a standalone top-level feature guide — reinforcing that Google treats it as an
extension of Product rather than a wholly separate rich-result type. Full property
tables, the variesBy full-URL gotcha, and 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. item_group_id
reconciliation belong in the ProductGroup deep dive, not here.
JobPosting: the odd one out
JobPosting shares nothing taxonomically with Product — but it’s the same shape of problem, so it earns its place in this hub. Two things set it apart operationally:
- One job per page, always. Google’s rule: “The JobPosting markup must only be used on pages that contain a single job posting.” Never on a listing or search-results page. Product/ProductGroup has no equivalent single-item-per-page restriction — in fact ProductGroup exists precisely to handle several variants on one page.
- Expired postings are a compliance obligation, not a set-and-forget. More on the risk below — this is where the stakes diverge hardest from Product.
Shared ground rules across all three
Even though the types don’t share a taxonomy, they share Google’s general structured-data guidelines, and it’s worth stating the rules once:
- Required properties are the eligibility gate. Miss a required property and the page isn’t eligible for that rich result. Recommended properties raise quality — Google literally uses job-posting salary as its own example: users prefer postings with stated salaries over those without. The same “more complete is better” logic applies to Product.
- Eligibility ≠ guaranteed display. Valid markup gets you into the pool; Google’s systems still separately decide whether to show the enhancement.
- Only mark up visible, accurate content. No invisible markup, no fake reviews, no misleading data — Google’s spam and content-quality policies apply across all three, plus each type carries its own feature-specific policy (JobPosting’s content policy, for instance).
- 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 the recommended format for all of them — easier to maintain at scale than inline Microdata/RDFa.
Where each connects beyond on-page markup
The real unifying value isn’t taxonomy — it’s that Google gives listing-style content its own product-line treatment:
- Product / ProductGroup ↔ 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.. You can provide product data as 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., as a Merchant Center feed, or both. Google recommends both to maximize eligibility, and it reconciles the two — they’re separate systems that are validated separately, not one submission. Passing 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 doesn’t mean your feed is valid, and vice versa. Price and availability need to match across the on-page markup, the feed, and checkout.
- JobPosting ↔ Google for Jobs. Valid JobPosting markup makes a single-job page eligible for the Jobs experience — a distinct vertical, not the Shopping surface.
- Returns and shipping split the same way, at a finer grain. MerchantReturnPolicy usually lives at the Organization level — your standard, site-wide return window and terms. OfferShippingDetails works at the Offer level, and exists specifically to override the org-level default for one item (a heavier product, a region with different rates). Treat those as two separate records that can each drift stale on their own, not one blob you set once — the org-level policy and any offer-level exceptions both need their own upkeep. Full precedence rules live in the MerchantReturnPolicy and OfferShippingDetails deep dives.
- On-page structured data, a Merchant Center feed, and what Google’s Search features or an AI answer actually surface are three separate contracts, not one pipeline — valid markup earns eligibility in the first, doesn’t automatically populate the second, and doesn’t guarantee anything in the third. Passing one doesn’t prove parity with the others.
The Bing asymmetry is worth stating plainly: Bing validates all three types generically against the schema.org shape, but it publishes no bespoke required/recommended property tables or content policies for any of them, and it has no equivalent to Merchant listings or Google for Jobs. On ProductGroup specifically, Bing’s own Fabrice Canel said (September 2024) it doesn’t yet consume ProductGroup markup in its shopping captions, though it’s “on their radar.” So: same base vocabulary, but only Google has built dedicated, documented rich-result experiences on top of it.
Risk and lifecycle differences
Here’s the contrast I most want people to internalize, because no one else frames it: stale listings need lifecycle hygiene across all three types — but the stakes differ sharply.
- A stale or out-of-stock Product mostly just loses rich-result eligibility, or shows a “sold out”/“out of stock” label. Annoying, not catastrophic.
- A stale, unremoved JobPosting is a different animal. Google: “We don’t allow
expired job postings,” and failure to expire or remove closed jobs “may result in
a manual action.” That’s a materially worse outcome than ordinary ineligibility.
The three accepted ways to expire a job: set
validThroughin the past, return a 404/410, or strip the markup.
Same lesson — structured listings need a lifecycle process — but if you only build one cleanup pipeline, build it for jobs.
Does commerce schema help SEO?
No, not rankings. John Mueller has been direct: “Structured data won’t make your site rank better.” What it does is earn eligibility for rich results and specialized experiences, and separately help Google understand your pages. Conflating “I added schema” with “I’ll rank better” is the single most common myth across all three types.
And it’s not just rankings. Eligibility, an actually-displayed rich result, a CTR lift, and revenue are four separate claims — don’t collapse them into one. Valid markup doesn’t guarantee your listing shows up in Shopping or the Jobs experience (eligibility isn’t display), doesn’t guarantee more clicks, and — since none of this hub’s schema types are documented AI-visibility signals — it isn’t a lever for showing up or getting cited in AI OverviewsAI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index. or AI Mode either. Measure each of those outcomes on its own; a schema rollout is worth doing for the search feature it can earn, not as a proxy for any of the rest.
My own take echoes Mueller’s: know what schema is actually for before you spend dev time on it. It’s here to stay — Mueller has also said Google isn’t killing schema — but you implement it to win a search feature, not to move up the results, guarantee a click, or move an AI answer.
Where to go next
This hub is the map; each of these is its own deep dive nested under it:
- 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. — the two Google experiences (product snippets vs. merchant
listings), the required/recommended property split, the
availabilityenum, and the feed-vs-markup confusion untangled. Start here if your page sells one item. - ProductGroup schemaProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/variesBy/productGroupID; it doesn't replace it. — grouping variants with
hasVariant/variesBy/productGroupID, the single-page vs. multi-page patterns, the full-schema.org-URL gotcha, and reconciling with Merchant Center’sitem_group_id. Start here if your item comes in sizes/colors/materials. - JobPosting schemaJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). — required vs. recommended properties, remote/hybrid handling, the single-job-per-page rule, expiration hygiene, and the 2024–2025 IndexingStoring 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. API access changes for job boards. Start here for a careers page or job board.
- MerchantReturnPolicy schemaMerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) via the hasMerchantReturnPolicy property, so Google can show return details in product rich results and knowledge panels. — the nested, property-level type for your return
policy: the precedence order between markup and Merchant Center settings, and the
applicableCountryvs.returnPolicyCountrymix-up. - OfferShippingDetails schemaOfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default. — the shipping-rate/destination/delivery-time companion property, and when Google actually requires it for free listings.
- Review schema — the separate eligibility profile behind the
review/aggregateRatingroute into a Product rich result: single-review vs. aggregate rules, the self-serving-reviews restriction, and why not every product page automatically qualifies for stars. Start here once you’re past “which of the three do I use” and into “can this page actually show review stars.”
For the wider picture, this hub nests under the broader 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. subcluster — see also the sibling 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. article there for the vocabulary, formats, and deprecation cycle. And it all lives in the on-page cluster, where structured data sits alongside the rest of on-page technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own..
AI summary
A condensed take on the Advanced version:
- What it is: “Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.” is Patrick’s practitioner grouping — not a Google or 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. category — for the schema.org listing types that earn transactional 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, ProductGroup, JobPosting.
- Not an official family: Google’s gallery puts Product/Merchant listing/Variants under “Shopping” and Job posting in the general feature guides list. schema.org groups “Product, Offer, and AggregateOffer” together and files JobPosting in no top-level group with them.
- Hierarchy: Product =
Thing > Product; ProductGroup =Thing > Product > ProductGroup(a real subtype of Product, for variants); JobPosting =Thing > Intangible > JobPosting(unrelated branch). Product/ProductGroup are parent/child; JobPosting is taxonomically separate. - When to use which: one purchasable config → Product; one item with variants → ProductGroup wrapping its Product members (ProductGroup itself isn’t sold); one open job → JobPosting (one job per page, never a listing page).
- 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 → product snippets + merchant listings; ProductGroup → variant-aware merchant listings; JobPosting → Google for JobsJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles)..
- Shared rules: required properties = eligibility gate; eligibility ≠ guaranteed display; only mark up visible/accurate content; 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.
- Beyond markup: Product/ProductGroup ↔ 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. (separate but reconciled systems; provide both; price/availability must match markup, feed, and checkout). JobPosting ↔ Google for Jobs. Returns/shipping split the same way at a finer grain — MerchantReturnPolicy is typically Organization-level, while OfferShippingDetailsOfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default. overrides it per Offer for exceptions; two records, two upkeep schedules.
- Review stars are a separate profile: the
review/aggregateRatingroute into a Product rich result rides on Google’s own Review-snippet eligibility rules, not a blanket “any product page qualifies” — see 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. article. - Bing: validates all three generically, no bespoke specs/policies, no Merchant listings or Jobs equivalent; per Fabrice Canel (Sept 2024) doesn’t yet use ProductGroup markup in shopping captions.
- Risk profile: stale Product mostly loses eligibility; stale/unremoved
JobPosting can trigger a manual action — expire via past
validThrough, 404/410, or markup removal. - SEO impact: not a ranking factor (Mueller: “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. won’t make your site rank better”) — it earns eligibility and aids understanding, but that’s separate from an actual display, a CTR lift, or citation in an AI answer; none of this hub’s types are documented AI-visibility signals.
- This hub routes, it doesn’t implement: full property tables live in the Product, ProductGroup, JobPosting, Review, MerchantReturnPolicy, and OfferShippingDetails deep dives, not here.
Official documentation
Primary-source documentation for the three commerce-schema typesSchema 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 the rules they share.
Google — shared rules
- General structured data guidelines — the eligibility principle, content-quality and spam policies that apply across all three types.
- Structured data search gallery — the source of truth for what currently produces 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.; also where you can see the “Shopping” vs. “Feature guides” split.
Google — Product & ProductGroup (“Shopping”)
- Intro to Product structured data — the product-snippet vs. merchant-listing split and the structured-data-vs-feed relationship.
- Product snippet structured data — required/recommended properties for the lighter snippet experience.
- Merchant listing structured data — the stricter “buy it here” requirements.
- Product variant (ProductGroup) structured data — where ProductGroup is documented, as an extension of Product.
- Merchant Center — Product data specification — the feed-side spec that reconciles with on-page markup.
Google — JobPosting (“Feature guides”)
- Job posting structured data — required/recommended properties, the single-job-per-page rule, content policies, and expiration handling.
Schema.org (taxonomy)
Bing / Microsoft
- Bing Webmaster Tools — Marking up your site with structured data — generic schema.org support; no type-specific eligibility spec.
Quotes from the source
On-the-record statements. Where a page exposes the text, the link is a deep link that jumps to the quoted passage.
Google docs — the shared eligibility principle
- “Specify all required properties listed in the documentation for your specific rich result type. Items that are missing required properties are not eligible for 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 more recommended properties that you provide, the higher quality the result is to users. For example: users prefer job postings with explicitly stated salaries than those without…” Jump to quote
- “Content in 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. must also follow the additional content guidelines or policies, as documented in the specific feature guide. For example, content in JobPosting structured data must follow the job posting content policies.” Jump to quote
Google docs — Product & the 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. relationship
- “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
- “To provide rich product data to Google Search you can add Product structured dataProduct 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. 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
Google docs — JobPosting’s distinctive rules
- “The JobPosting markup must only be used on pages that contain a single job posting. We don’t allow the use of JobPosting markup in any other page, including pages that do not list any job.” Jump to quote
- “We don’t allow expired job postings. Ideally you should remove expired job postings from your website. If you prefer to not remove them, then you need to ensure the validThrough property is populated and in the past.” Jump to quote
- “Jobs that are no longer open for applications must be expired in one of the following ways. Failure to take timely action on expired jobs may result in a manual action.” Jump to quote
John Mueller, Google — schema is not a ranking factor
- “Structured data won’t make your site rank better.” And: “It’s fine to use it for other things in 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., that won’t cause problems, but you’re unlikely to see any visible change from it in Google Search.” Coverage Relayed via Search Engine Roundtable’s coverage of Mueller’s April 2025 Bluesky posts; treat the phrasing as transcribed secondary reporting.
- “In order to be eligible to be shown as a rich result, you need to make sure that the page uses the right structured data and that it complies with the appropriate policies on our side.” Coverage Relayed via Search Engine Land’s coverage of a 2019 #AskGoogleWebmasters answer.
- “Exactly. Understand that markup types come and go, but a precious few you should hold on to (like title, and meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen.).” Coverage Relayed via Search Engine Roundtable’s coverage of a November 2025 Reddit reply.
Fabrice Canel, Microsoft Bing — on ProductGroup
- “ProductGroup markup isn’t used in our captions yet, but it’s on our radar. Our team is closely monitoring its adoption. Stay tuned!” Coverage Relayed via Search Engine Roundtable’s coverage of a September 2024 statement on X; dated — re-check Bing’s current ProductGroup support before relying on it.
Commerce schema at a glance
The three types compared
| Product | ProductGroup | JobPosting | |
|---|---|---|---|
| What it marks up | One sellable item | A parent grouping an item’s variants | One open job |
| 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. hierarchy | Thing > Product | Thing > Product > ProductGroup (subtype of Product) | Thing > Intangible > JobPosting |
| Google rich result | Product snippet / merchant listing | Variant-aware merchant listing | Google for JobsJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). |
| Google doc family | ”Shopping" | "Shopping” (Variants page) | “Feature guides” (Job posting) |
| Minimum for eligibility | name + one of offers/review/aggregateRating | name (variants need hasVariant/variesBy/productGroupID to work) | title, description, datePosted, hiringOrganization, jobLocation |
| One item per page? | No — several variants OK | No — grouping is the whole point | Yes — one job only, never a listing page |
| Beyond on-page markup | 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 | Merchant Center feed (item_group_id) | Google for Jobs vertical |
| Bing | Generic schema.org validation | Not consumed in shopping captions (Sept 2024) | Generic validation; no “Bing for Jobs” spec |
| Stale-listing risk | Loses eligibility / “out of stock” | Loses eligibility | Possible manual action |
Fast facts
- “Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.” is a practitioner grouping, not a Google or schema.org category — the three types share an SEO use case, not a taxonomy.
- Product and ProductGroup are parent/child; JobPosting is an unrelated branch.
- Eligibility ≠ display — valid markup gets you in the pool; Google still decides whether to show the enhancement.
- Not a ranking factor — and not a CTR, display, or AI-citation guarantee either. Schema earns rich-result eligibility and aids understanding. Whether the result actually shows, whether it earns more clicks, and whether it shows up in an AI answer are three separate, unguaranteed outcomes.
- Review/AggregateRating eligibility is its own profile. Not every product or merchant page automatically qualifies for star ratings — that route runs through Google’s separate Review snippetReview 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. rules. See 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. deep dive.
- Returns and shipping split at a finer grain too. MerchantReturnPolicy is typically Organization-level (your default policy); OfferShippingDetailsOfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default. overrides it per Offer for exceptions. Two records, two upkeep schedules.
- 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 Google’s recommended format for all three.
- Merchant Center feed and on-page Product markupProduct 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. are separate systems Google reconciles — provide both, and keep price/availability consistent across markup, feed, and checkout.
- Job hygiene is highest-stakes: expire closed jobs (past
validThrough, 404/410, or remove markup) or risk a manual action.
Which commerce schema type do I need?
Answer for the page you’re marking up, and you’ll land on the right type (and the right deep dive to read next).
Pick the right commerce schema type
Mistakes I actually see with commerce schema
These are concrete errors people make with Product, ProductGroup, and JobPosting markup — not hypothetical ones. Each has a fix.
Putting JobPosting markup on a page that lists several jobs
Google’s rule is explicit: JobPosting markup “must only be used on pages that contain a single job posting,” and it’s disallowed on any other page, including a page that doesn’t list a job at all. Adding it to a careers-indexStoring 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. or search-results page doesn’t earn you multiple Jobs listings — it just makes the markup non-compliant and ineligible.
Do instead: give every open role its own single-job URL and mark up only that page. Use the listing/index page for navigation, not JobPosting schemaJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles)..
Letting a closed job posting sit live without expiring it
A stale Product mostly just loses eligibility or shows “out of stock” — mildly annoying. A stale JobPosting is a different risk class: Google says it doesn’t allow expired job postings, and failure to expire or remove a closed one “may result in a manual action.” That’s a site-wide penalty, not a lost rich-result snippet.
Do instead: the moment a role closes, do one of the three things Google accepts —
set validThrough to a date in the past, return a 404/410 on the URL, or strip the
JobPosting markup entirely. Build this into your hiring-system offboarding step, not a
manual afterthought.
Treating ProductGroup as a substitute for marking up each variant
ProductGroup is a parent that ties variants together with hasVariant, variesBy,
and productGroupID — but it doesn’t replace Product. Every variant (each size,
color, or material combination) still needs its own full Product markupProduct 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. with its own
sku/gtin, price, and availability. Publishing only the ProductGroup and skipping
the individual Product entries leaves the variants without the data Google actually
needs to sell them.
Do instead: mark up every purchasable variant as its own Product, then wrap the set in a ProductGroup that references them.
Expecting commerce schema to move your rankings
This is the most common myth across all three types, and Google has said it plainly and repeatedly — John Mueller: “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. won’t make your site rank better.” Treating a schema rollout as a ranking play sets the wrong expectation for stakeholders and can lead to cutting corners elsewhere in favor of markup work that was never going to move rankings.
Do instead: implement commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting. to win eligibility for a specific search feature (a merchant listing, a Jobs card) — a legitimate goal with its own value in clicks and presentation — and measure it against that goal, not rank position.
Letting on-page markup, the Merchant Center feed, and checkout drift out of sync
Product data can come from on-page structured data, a 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, or both, and Google reconciles them as separate systems rather than treating one as a copy of the other. Passing 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 doesn’t mean your feed is valid, and vice versa — if price or availability differs between the markup, the feed, and what checkout actually charges, that mismatch undermines both eligibility and user trust.
Do instead: keep price and availability identical across all three surfaces, and validate the on-page markup and the feed separately rather than assuming one covers the other.
Tools for building and checking commerce schema
My Schema Markup Validator is the first stop once you’ve written 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. for any of the three types. Paste a Product, ProductGroup, or JobPosting block (or a full page) and it runs severity-tiered checks against 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.’s vocabulary and Google’s rich-result requirements — useful for catching a missing required property before you ship, whichever of the three types you’re working on.
My Rich-Result Eligibility Checker answers the more
specific question this hub keeps circling back to: not “is this valid 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.” but
“does this page actually qualify for a rich result.” Paste JSON-LD, an HTML page, or
fetch a live URL, and it shows which required fields are present versus missing for
Product (offers/review/aggregateRating) or JobPosting (title, description,
datePosted, hiringOrganization, jobLocation) — the exact eligibility gate this
article describes.
My PDP SEO Checker is built for the product-detail-page side of this hub specifically — it looks at a live product page beyond just the schema, covering the on-page signals that go alongside Product/ProductGroup markup when you’re deciding whether a single-SKU page or a variant-grouped page is set up correctly.
Once markup passes those checks, run the page through Google’s own Rich Results Test — it’s the tool Google actually uses to decide eligibility, so it’s the final word before you ship, for any of the three types in this hub.
Test yourself: Commerce Schema
Five quick questions on the three commerce-schema typesSchema 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., how they relate, and what they do (and don’t) do. Pick an answer for each, then check.
Resources worth your time
My 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. writing
- 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. — my broader take on the vocabulary, the formats, entity understanding, and the deprecation cycle. Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting. is a slice of this.
- The Beginner’s Guide to Technical SEO — where I frame schema as code that helps engines understand content and powers the features that make a listing stand out.
- Enterprise SEO — my pragmatic rule, applied here too: “I’m a fan of schema markup as long as it gets you a search feature.”
My speaking
- How Search Works (SlideShare) — my walkthrough of crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., indexingStoring 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 ranking; useful background on where 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. fits. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.”)
From around the industry
- Google Again Says Structured Data Does Not Make Your Site Rank Better (Search Engine Roundtable) — Mueller’s April 2025 statement, the myth-bust behind this whole hub.
- Google Is Not Killing Schema — Markups May Come & Go (Search Engine Roundtable) — the “markup types come and go, but a precious few you should hold on to” framing.
- Bing May Use ProductGroup Markup In The Future (Search Engine Roundtable) — Fabrice Canel’s Sept 2024 statement on Bing’s non-support of ProductGroup.
- Stick to structured data guidelines if you want the rich result (Search Engine Land) — Mueller on eligibility requiring the right markup and policy compliance.
- schema.org type hierarchy — the vocabulary itself, straight from the source; see the “Product, Offer, and AggregateOffer” grouping and where JobPosting is (and isn’t).
Commerce Schema
"Commerce schema" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.
Related: Schema Markup, Product Schema, ProductGroup Schema, JobPosting Schema
Commerce Schema
Commerce schema\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting. isn’t a term Google or 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. uses themselves — it’s shorthand for a small group of schema.org types that all mark up something a searcher can act on: buy it or apply to it. The three types are Product (a single sellable item), ProductGroup (a parent that groups product variants like size and color), and JobPosting (a single open job listing).
Google files these separately rather than as one family — Product and its variants sit under “Shopping” in Google’s documentation, while Job posting lives in the general structured-data feature guides. schema.org’s own type hierarchy splits them further: ProductGroup is a direct subtype of Product (Thing > Product > ProductGroup), but JobPosting sits in a completely different branch (Thing > Intangible > JobPosting) with no structural relationship to Product at all.
What actually ties the three together is the SEO use case, not the vocabulary: each is 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. Google can turn into a specialized search treatment — Merchant-style product listings or a Google for JobsJobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). card — rather than a plain blue link. None of the three is a ranking factor; each only affects eligibility for that richer listing. The stakes for letting markup go stale also differ: an outdated Product mostly just loses its rich-result eligibility, while a stale, unremoved JobPosting can trigger a Google manual action.
Related: Schema Markup, Product Schema, ProductGroup Schema, JobPosting 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
Updated Jul 17, 2026.
Editorial summary and recorded change details.Summary
Broadened the 'schema doesn't rank you' disclaimer to also cover CTR, actual display, and AI-citation/revenue causality; added routing to the separate Review-schema eligibility profile and the Organization-level-return-policy-vs-Offer-level-shipping-exception split.
Change details
-
The 'Does commerce schema help SEO?' section and the Beginner myth callout now state that eligibility, actual display, CTR, and AI-answer citation are four separate, unguaranteed outcomes — not just 'it doesn't rank you.'
-
Added a Review-schema eligibility caveat to the Product bullet and a new Review schema entry in 'Where to go next,' since not every product/merchant page automatically qualifies for review stars.
-
Added an Organization-level MerchantReturnPolicy vs. Offer-level OfferShippingDetails distinction to 'Where each connects beyond on-page markup,' with matching cheat-sheet and summary updates.
Full comparison unavailable — no prior snapshot was archived for this revision.