Structured data is the quiet plumbing that decides whether retail pages win rich results, get cited by AI search, or disappear into the long tail. Get it right and a single product page can collect star ratings, price, availability, FAQ snippets, and breadcrumb links in Google. Get it wrong and you either invite manual actions or waste hours marking up fields that Google and Bing simply ignore.
This guide walks through what to mark up on a US retail site in 2026, what to skip, and how to validate the result before it ships. It is part of our broader retail marketing playbook, which covers AI search, social commerce, and search engine optimization end to end.
In short
- Mark up Product, Offer, AggregateRating, and Review on every product page. These four types unlock the most visible rich results in Google Shopping and US organic listings.
- Add Organization, WebSite, and BreadcrumbList sitewide. They feed knowledge panels, sitelinks search boxes, and breadcrumb trails.
- Use FAQPage selectively on category and guide pages. Google narrowed FAQ rich results in 2023; the markup still helps AI assistants and Bing.
- Skip vanity types like ItemList for unrelated grids, deprecated HowTo on retail pages, and any markup that does not match visible content. Hidden or misleading schema triggers manual actions.
- Validate with the Rich Results Test plus a crawl of your Search Console structured data report. Live HTML wins arguments faster than theory.
Why retail structured data matters in 2026
Retail search has changed shape twice in the last three years. Google merged its Shopping and organic results in late 2024, then started pulling product attributes directly into AI Overviews. Bing and ChatGPT Search now lean heavily on schema.org markup to extract price, availability, and reviews. If a competitor sends Google a clean Product object and you send messy HTML, the competitor wins the rich result, the AI citation, and often the click.
The good news: retail structured data is one of the few SEO investments with a clear ceiling. There is a finite list of types that matter for a store, a finite list of properties Google reads, and a finite list of mistakes worth fixing. Once a site reaches that ceiling, additional markup yields almost nothing.
The bad news: most retail sites stop halfway. They install a plugin, see green checkmarks in the Rich Results Test, and never audit again. Six months later half the products show availability mismatches, ratings stop appearing, and nobody knows why. The fix is not more schema. It is a disciplined map of what to ship and what to leave alone.
Key terms before we go deep
Three vocabularies overlap in this space, and confusing them is the first mistake teams make.
- schema.org is the open vocabulary maintained by Google, Microsoft, Yahoo, and Yandex. It defines types like Product, Offer, Review, and Organization, plus the properties each type accepts.
- JSON-LD is the serialization format Google strongly recommends. It lives in a
<script type="application/ld+json">block in the page head or body. Microdata and RDFa still work but are harder to maintain. - Rich results are the visual enhancements in search listings: star ratings, price, availability, FAQ accordions, sitelinks, breadcrumbs. Rich results require both valid markup and editorial trust signals.
One more distinction: structured data is not a ranking factor in the classic sense. Google has repeated this since 2017. What it does is unlock formatting that earns more clicks and feeds large language models the clean data they need to cite you. In a 2026 retail search engine results page, that distinction is academic. More clicks means more revenue, whether the algorithm calls it “ranking” or not.
What to mark up on a retail site
The list below is ordered by impact for a typical US retailer. Ship items 1 through 4 first. Items 5 through 8 are accelerators. Skip anything below item 8 unless you have a specific use case.
- Product on every product detail page, with Offer, AggregateRating, and Review nested inside.
- Organization sitewide, on the homepage at minimum, with sameAs links to social profiles and a logo property.
- BreadcrumbList on every page below the homepage. Powers the breadcrumb display under your title in Google.
- WebSite on the homepage, with a SearchAction. Enables the sitelinks search box.
- FAQPage on category pages, buying guides, and policy pages where a real FAQ exists in visible HTML.
- VideoObject if you embed product videos, with thumbnailUrl, uploadDate, and duration.
- Article or BlogPosting on editorial content. Picked up by Discover and Google News for eligible publishers.
- LocalBusiness if you have physical stores. Pair it with a complete local SEO setup including Google Business Profile and on-page address blocks.
Notice what is missing. There is no Offer Catalog, no ItemAvailability shortcuts, no Service. Retail teams routinely add these and see no benefit, because Google does not consume them for storefronts.
The four objects you must get right on product pages
Most rich result wins live in a single block of JSON-LD on the product detail template. Here is the minimum viable shape, formatted for readability:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme Insulated Tumbler 20oz",
"image": ["https://shopappy.com/images/acme-tumbler.jpg"],
"description": "Vacuum insulated stainless tumbler, dishwasher safe.",
"sku": "ACME-TUM-20",
"gtin13": "0123456789012",
"brand": { "@type": "Brand", "name": "Acme" },
"offers": {
"@type": "Offer",
"url": "https://shopappy.com/p/acme-tumbler-20",
"priceCurrency": "USD",
"price": "24.99",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31",
"itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "1832"
}
}
Three things matter inside this block. First, every property must match what a shopper sees on the page. If JSON-LD says $24.99 and the buy button says $29.99, Google treats the markup as misleading and suppresses the rich result. Second, gtin13 (or gtin12, gtin8, gtin14, mpn) is no longer optional for Google Merchant Center. Missing it eliminates the page from free product listings and most Shopping placements. Third, aggregateRating fires only if the reviews actually live on the same page, in HTML, with matching counts.
For variants (size, color, capacity), use ProductGroup with hasVariant pointing to individual Product nodes. Google rolled out ProductGroup support in early 2024 and it now consolidates ratings across SKUs instead of fragmenting them.
Organization, WebSite, and BreadcrumbList: the sitewide trio
These three objects rarely move revenue on their own, but together they shape how Google represents your brand in search. Add them once in the global template and leave them alone.
Organization should include legalName, url, logo (an absolute URL pointing to a square or wide PNG at least 112×112 pixels), and sameAs entries for every social profile you control. The logo property is what surfaces in knowledge panels and AI search citations, so use the same file you would hand a press kit. For multi-brand retailers, consider one Organization per brand and link them with parentOrganization.
WebSite is two lines longer than most templates make it look:
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://shopappy.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://shopappy.com/?s={search_term_string}",
"query-input": "required name=search_term_string"
}
}
That SearchAction is what activates the sitelinks search box under your homepage listing. If Google does not display it after three weeks, the cause is almost always an internal search URL pattern that does not actually return results for arbitrary terms. Test by hand before you blame the markup.
BreadcrumbList belongs on every page beneath the homepage. Each item needs position, name, and item (a URL). Skip the homepage entry; Google infers it. For deeply nested categories, ship the full hierarchy: home, department, category, subcategory, product. Pages that omit breadcrumbs lose the secondary navigation row in search listings, which on mobile is roughly a 4 to 8 percent click-through hit by most retailer audits.
FAQ markup: still worth doing, with caveats
In August 2023 Google narrowed FAQ rich results to government and health sites in most regions. Many retailers ripped out FAQPage markup the same week. That was a mistake. Bing still surfaces FAQ accordions. ChatGPT Search, Perplexity, and Gemini all consume FAQPage to extract answer pairs for AI summaries. Your zero-click revenue may not exist as a measurable line, but it is real.
The rules to follow have not changed:
- Only mark up FAQs that exist in visible HTML on the same page. Hidden FAQs trigger manual actions.
- Use FAQPage on pages that are primarily FAQs (shipping policy, returns, sizing guide), not on every product page where you happen to list two questions.
- Keep answers under 300 words. AI assistants truncate longer responses and you lose the citation anyway.
- Question text must end with a question mark. Both Bing and Google quietly drop entries without one.
Pair FAQ markup with a search-friendly H2 above each question. Voice search and AI Overviews lean on H2 text as a secondary signal when the FAQ wrapper is generic.
Comparison: what each schema type unlocks in 2026
| Schema type | Where to use | Rich result in Google | AI search benefit | Effort to ship |
|---|---|---|---|---|
| Product + Offer | Every product detail page | Price, availability, free shipping badge | High (cited for product queries) | Medium (variants, GTIN cleanup) |
| AggregateRating | Product pages with real reviews | Star rating, review count | High (drives trust in summaries) | Low if reviews already exist |
| Review | Individual product reviews | Snippet of top review | Medium | Low |
| Organization | Homepage only | Knowledge panel, logo | High (brand citations) | Low (one-time setup) |
| WebSite + SearchAction | Homepage only | Sitelinks search box | Low | Low |
| BreadcrumbList | Every non-home page | Breadcrumb under title | Medium (nav clarity) | Low (template work) |
| FAQPage | Policy, sizing, buying guides | Limited in 2026 | High (cited in AI answers) | Low |
| VideoObject | Pages with product video | Video thumbnail in SERP | Medium | Medium |
| LocalBusiness | Physical stores | Local pack inclusion | High (local AI answers) | Medium |
| Article / BlogPosting | Editorial content | Top Stories, Discover | High for publishers | Low |
What to skip and why
Most schema mistakes are sins of addition. Teams read the schema.org documentation, get excited, and add markup that either does nothing or actively hurts. The list below covers the patterns that come up in roughly every audit.
HowTo on commercial pages
Google deprecated HowTo rich results for non-cooking content in October 2023. The markup still validates, and Google still parses it, but the visual treatment is gone for retail. Adding HowTo to a “how to assemble” guide on a furniture product page no longer earns an accordion. Use it only if you are actively publishing recipes.
ItemList on category pages
Schema.org documents ItemList as a way to express a collection. In practice Google ignores ItemList on category pages because category URLs already paginate naturally and the markup is rarely accurate after sorting or filtering. Some teams ship it anyway. There is no penalty, but there is also no benefit. Skip it and save the engineering hours.
Speakable for non-publishers
Speakable is a beta property for voice search snippets. Eligibility is restricted to news publishers in approved regions. A retailer adding Speakable is wasting bytes.
Service on product pages
Service describes a service business. Retailers sometimes mark up shipping, returns, or installation as Service objects. None of those rendered as rich results in 2024 or 2025, and Google’s own documentation explicitly discourages mixing Service with Product on the same page.
Fake or borrowed reviews
AggregateRating without a corresponding review block on the page is the single most common manual action in retail. Reviewers must be identifiable, the rating must aggregate visible reviews, and the count must match. Buying reviews from a third party that does not surface them in HTML is a fast way to lose all rich results sitewide.
Schema in iframes or behind tabs
If your product description, reviews, or FAQ live in a tab that loads via JavaScript on click, Google may not see them when it parses the page. Either pre-render the content server-side or ship without the markup. Half-loaded schema is worse than no schema.
Aggregating one review as if it were many
A common starter mistake on new product launches: a single five-star review with reviewCount of 1, formatted as AggregateRating. Google’s threshold for showing star ratings is fuzzy but consistently above one. Below five reviews you will usually see no stars in search, and the markup adds noise without payoff. Wait until you have at least 10 to 20 verified reviews before exposing AggregateRating publicly.
Marking up sale prices that are not real sales
If priceValidUntil expires and the price does not change, the Offer drops from rich result eligibility for several days while Google revalidates. Worse, repeated cycles of fake “sale” pricing flagged by consumer protection complaints can lead to manual actions on retailer accounts in Merchant Center. Mark sale prices only when they are real, time-bound, and reflected at checkout.
Implementation patterns that scale
On WooCommerce, Shopify, BigCommerce, and most headless stacks, structured data is generated by a combination of the platform core and an SEO plugin. The right pattern depends on volume.
- Small stores (under 500 SKUs): let a single SEO plugin handle everything. RankMath, Yoast, or AIOSEO each generate Product + Offer correctly out of the box if the underlying WooCommerce data is complete. Audit the output once, then move on.
- Mid-market stores (500 to 50,000 SKUs): custom JSON-LD template at the theme level, populated from product data. SEO plugins are useful for non-product pages but tend to bloat product schema with unused properties.
- Enterprise stores (50,000+ SKUs): generate JSON-LD server-side as part of the product API. Cache aggressively. Use a structured data monitoring tool to catch availability and price drift in production.
Whatever the stack, three operational habits separate the teams that win:
- Weekly Search Console structured data report review. Spike in errors usually traces to a deploy.
- Sample-based Rich Results Test on five new products every week. Plugins regress.
- One owner. Structured data without a name on it rots quietly.
For a curated list of tools and vendors that help retail teams ship and monitor schema at scale, see our roundup of SEO tools and vendors for 2026. The same vendors also appear in our broader retail marketing guide, which sets the strategic context.
How AI search consumes retail structured data
Most published guidance still treats structured data as a Google rich result lever. In 2026 the more interesting consumer of schema is the AI search layer: Google’s AI Overviews, ChatGPT Search, Perplexity, Gemini, and Copilot all parse JSON-LD heavily when assembling answers to product queries.
Three patterns are now well documented from public retailer audits and AI assistant teardowns:
- Product attributes flow into comparison answers. When a user asks “best insulated tumbler under 30 dollars,” AI assistants pull name, price, brand, and aggregateRating directly from JSON-LD on candidate pages. Retailers without clean schema get omitted from the comparison even when their content is otherwise strong.
- Organization markup feeds brand citations. The logo, sameAs, and legalName properties surface as the brand image and verified profile in AI assistant cards. Sites that ship Organization correctly get cited by name; sites that ship a generic favicon get cited as “a retailer.”
- FAQPage drives long-tail citations. Even with Google’s narrower rich result eligibility, FAQPage entries on policy and buying-guide pages are quoted verbatim in AI assistant answers more often than equivalent prose. The structured wrapper makes the question-answer pair easy to lift.
The practical implication is that retail structured data is not a Google-only investment any more. It is the canonical machine-readable representation of your catalog and brand. Treat it that way and the AI search returns will follow the same trend lines as classic rich results, just with less reporting visibility.
Migration playbook for legacy retail sites
Most US retailers we audit fall into one of three legacy states:
- No structured data at all. Older custom storefronts, often with an in-house CMS. The fastest path is a JSON-LD template inserted into the product detail template, populated from existing product data. Two to three weeks of engineering, immediate visibility lift.
- Plugin-generated schema, never audited. The middle of the bell curve. Yoast or RankMath shipped Product and Offer, but reviewCount was never wired to the actual review platform, GTIN is missing, and priceValidUntil has been frozen in 2023. A two-day audit followed by targeted fixes usually doubles eligible products.
- Custom schema written years ago. Often the worst state because the team thinks the job is done. The original implementation may use deprecated properties (priceCurrency as a number, image as a single string), inconsistent currency codes, or HTML-encoded entities inside JSON-LD that break parsers. The audit takes longer but the lift is dramatic when fixed.
For all three states, the migration sequence is the same: snapshot current Search Console structured data status, fix sitewide objects first (Organization, WebSite, BreadcrumbList), then Product on the top 20 percent of SKUs by revenue, then long-tail SKUs, then editorial and FAQ pages. Do not try to migrate the whole catalog in one deploy. Stagger by category and watch Search Console for unexpected regressions between releases.
Examples from US retail and e-commerce
Three quick teardowns from public retail sites, with the lessons each one offers.
Target.com ships Product, Offer, AggregateRating, and BreadcrumbList on product detail pages. Notably, Target uses ProductGroup for color and size variants instead of separate Product objects per variant. The result is consolidated ratings across SKUs, which lifts visibility for popular base products. The lesson: if you carry variants, ProductGroup is no longer optional.
REI.com includes Review objects with named authors on every product page. Most retailers ship only AggregateRating; REI ships both, which earns the occasional review snippet directly in search listings. The lesson: if your review platform supports it, expose individual reviews in JSON-LD, not just the average.
HomeDepot.com ships LocalBusiness on store locator pages with full address, phone, openingHoursSpecification, and a hasMap link to Google Maps. This pairs with a clean Google Business Profile to dominate local pack results across thousands of locations. The lesson: if you have stores, LocalBusiness is half the local SEO battle. The other half is the profile itself.
For deeper context on how brand identity intersects with structured data, our piece on brand profile tools for 2026 covers the Organization and sameAs side of the schema, which feeds knowledge panels and AI brand citations.
Validation and monitoring workflow
Shipping schema once is easy. Keeping it accurate as products, prices, and stock levels change is the actual work.
A reliable workflow has four checkpoints:
- Pre-deploy. Run the Rich Results Test (search.google.com/test/rich-results) on the staging URL of every template change. Block deploys on warnings, not just errors.
- Post-deploy. Crawl 100 representative product URLs with Screaming Frog or a similar tool, exporting JSON-LD. Diff against the previous deploy.
- Weekly. Open Search Console, navigate to the structured data sections (Products, FAQs, Breadcrumbs, etc.), and triage anything red. Most issues are property mismatches or expired priceValidUntil.
- Quarterly. Sample 50 random products from analytics top sellers. Compare visible HTML to JSON-LD by hand. This catches the slow drifts that automated tools miss.
For US sites, also subscribe to Google Search Central’s structured data documentation for product markup updates, and watch the schema.org Product page for new properties. Both update several times a year.
FAQ
Does structured data improve rankings directly?
No. Google has consistently said schema markup is not a ranking factor on its own. What it does is unlock rich results and provide cleaner data to AI search systems, which together produce more clicks. For practical purposes the distinction does not matter to revenue, but it does matter for setting expectations with stakeholders.
How long until rich results appear after I ship new schema?
For Product and AggregateRating, expect 7 to 21 days for Google to recrawl, validate, and start showing rich results. Organization and WebSite can take longer because they tie to broader entity signals. If 30 days pass and Search Console shows no eligible items, the markup is probably wrong, not slow.
What is the difference between Product and ProductGroup?
Product describes a single buyable SKU. ProductGroup describes a parent product with variants (sizes, colors) that share a name and reviews. Use ProductGroup when you have variants you want Google to consolidate. Stick with Product alone if every variant has its own unique reviews and you want them to compete separately.
Do I still need GTIN, MPN, or both?
For Google Merchant Center and free product listings in 2026, you need either GTIN (preferred) or MPN plus brand. New products without a real GTIN can use mpn plus brand.name, but the listing pool is smaller. Counterfeit risk is also higher without a verified GTIN, so prioritize getting the real number from manufacturers.
Should I add FAQPage markup to every product page?
No. Only mark up FAQs that exist as real, visible question and answer pairs on the page. Most product pages have at most one or two real questions, which is below the threshold where FAQPage adds value. Use FAQPage on policy pages, sizing guides, and buying guides where five or more real FAQs already exist in HTML.
Can I copy schema from a competitor’s site?
You can copy the structure and property choices, which is fair game and how most teams learn. You cannot copy values (names, prices, reviews) because that is content theft and Google detects it. The lesson from teardowns is the template, not the data.
What happens if my schema has errors in Search Console?
It depends on the severity. Warnings (recommended properties missing) usually mean reduced rich result eligibility but no penalty. Errors (required properties missing or invalid) mean the affected pages drop out of the rich result pool until fixed. Manual actions are reserved for misleading or hidden markup and are rare for honest mistakes.
Structured data for retail rewards discipline more than ambition. Ship the four core objects on product pages, the three sitewide objects, and FAQs where they earn their place. Skip the rest, monitor weekly, and revisit the strategy chapter in our retail marketing guide when the search engines change the rules again, which they will.