Official statement
Other statements from this video 22 ▾
- 2:04 Why do your click data disappear between Search Console and Analytics after an HTTPS migration?
- 2:04 Why doesn't Google automatically detect your HTTPS migration in Search Console?
- 3:38 Do spammy .xyz backlinks and other dubious domains really hurt SEO?
- 3:41 Should you really disavow low-quality backlinks?
- 6:34 Is mobile compatibility really essential for ranking at the top?
- 7:13 Is mobile compatibility truly a game-changer for rankings?
- 9:29 How does Google really transfer signals when changing domains?
- 10:27 Does Google really transfer all signals during a domain migration?
- 12:09 Does hidden content really hurt your page SEO?
- 15:42 Should you really limit structured data to a single product per page to get rich snippets?
- 28:53 Why are your XML sitemaps showing up in search results, and how can you stop it?
- 30:00 Can subdomains really fine-tune Google's SafeSearch filtering?
- 30:26 Should you really fix every crawl error in Search Console?
- 32:53 Should you really worry about duplicate title errors in Search Console?
- 36:12 Does Google really merge your multilingual content into a single ranking entity?
- 37:29 Can geotargeting really enhance your local rankings on Google?
- 38:13 Does Hreflang really boost your international visibility?
- 42:42 Is it really necessary to sacrifice visual quality to save a few milliseconds?
- 45:58 Why doesn’t Google index images embedded in CSS Sprites for visual search?
- 50:00 Should you really worry about an increase in crawl errors in Search Console?
- 54:03 Should you really display all your content on the first load to ensure indexing?
- 74:16 Does obsessively optimizing speed really yield measurable SEO gains?
Google confirms that only one product should be marked up per page with structured data. Using multiple product markups on the same URL dilutes signals and generates errors in the Search Console. Specifically, category or listing pages that display 20 products should not include 20 Product markups: each individual product page should have its own schema.org markup.
What you need to understand
Why does Google prohibit multiple product markups on a single page?
The search engine needs to disambiguate entities to build its Knowledge Graph and display rich snippets correctly. When a URL has 10 distinct Product markups, the algorithm doesn't know which one to highlight in the SERPs.
Structured data is meant to qualify a unique resource, not to list a catalog. Google favors granularity: one URL = one main entity. This principle applies to recipes, events, job postings, and, of course, products.
What happens when multiple products are marked up on the same URL?
The Search Console generates validation errors or warnings such as 'multiple instances detected.' Google then arbitrarily selects one product, ignores the others, or worse, completely disables rich result display for that page.
E-commerce sites often make this mistake on category pages or internal comparison tools, thinking they are optimizing visibility. The opposite result occurs: no rich snippet appears, and crawl budget is wasted on poorly structured URLs.
How do you properly structure an e-commerce site with hundreds of products?
Each product page should have its own markup for Product + Offer + AggregateRating if relevant. Category pages can use a CollectionPage or ItemList markup, but not Product.
The schema.org ItemList allows for listing products without creating conflict: we list the URLs of product pages without duplicating the complete structured data. This approach remains semantically clean and avoids penalties.
- One product URL = one complete Product markup (price, availability, aggregate reviews)
- Category pages: ItemList referencing product URLs, or no markup if the listing is purely navigational
- Systematic validation in the Search Console and the rich results testing tool before deployment
- Server logs: monitor that Googlebot crawls individual product pages properly, not just categories
- Strict canonicalization: avoid URL variants (filters, sorting) that duplicate the markup of the same product
SEO Expert opinion
Is this guideline consistent with real-world observations?
Absolutely. Audits show that 90% of structured data errors come from multiple or improperly placed markups. Google has always favored granularity: one main content piece per URL.
Sites that violate this rule see their rich snippets disappear without notification. The Search Console sometimes flags 'duplicate element detected,' but often the error remains silent and organic traffic gradually drops on transactional queries.
What nuances should be considered with this directive?
Google's position is clear for classic e-commerce products. It becomes blurred for hybrid content: comparison sites, configurators, customizable bundles.
A configurator that dynamically generates a unique product based on user choices can technically hold a Product markup, provided that each combination has a distinct URL. If everything stays on the same URL with JS parameters, Google rejects the markup. [To be verified]: there is no official documentation detailing the tolerance threshold for variants (color, size) of the same product on a single URL.
In what cases does this rule create practical problems?
Marketplaces and aggregators are stuck. A page titled 'best iPhone 15 deals' lists 12 sellers with 12 different prices. Marking up each offer violates the rule, while not marking anything sacrifices enriched CTR.
The clean solution is to create one canonical product page with an AggregateOffer markup grouping the sellers, then dedicated URLs per seller if needed. It’s architecturally heavy, but it’s the only approach validated by Google.
Practical impact and recommendations
What should be done practically on an existing site?
Start with a comprehensive audit of structured data: extract all URLs with Product markup, check that none carry multiple instances. A scraper configured to parse JSON-LD or Microdata can quickly reveal duplicates.
Next, correct the templates of category and listing pages. Remove all Product markup, replace it with ItemList if relevant, or simply make no markup if the page is purely navigational.
What mistakes should be avoided during markup redesign?
Do not confuse Product and Offer. A product can have multiple offers (different sellers, different conditions), but the Product entity remains unique. The AggregateOffer markup handles this case without duplicating Product.
Avoid conditional markups in client-side JS that trigger based on user behavior. Google crawls the initial HTML, not the state after interaction. If the markup appears after a click or infinite scroll, it will be ignored.
How can the site be checked for compliance after correction?
Use Google’s rich results testing tool on a representative sample of URLs. Check that each product page yields only one Product element, with no warnings.
Monitor the Search Console 'Products' section for 4-6 weeks after deployment. Errors may take time to clear, and recrawl isn’t instantaneous. If any URLs persist in error, force a reindexing via the Indexing API.
- Scrape all URLs with structured data and identify Product duplicates
- Modify CMS templates to isolate Product markup to individual pages only
- Replace multiple markups on listings with ItemList or remove completely
- Test 20-30 representative URLs with Google’s rich results validation tool
- Deploy in staging, crawl fully, and correct regressions before production
- Monitor Search Console 'Products' and 'Rich Results' for 6 weeks post-deployment
❓ Frequently Asked Questions
Peut-on baliser plusieurs variantes d'un même produit (couleur, taille) sur une URL unique ?
Les pages catégories peuvent-elles avoir un balisage de type ItemList avec plusieurs produits ?
Que faire si mon CMS génère automatiquement des balisages Product sur les archives ?
Un comparateur de prix peut-il baliser tous les produits listés sur une page de résultats ?
Combien de temps faut-il pour que Google réindexe les corrections de données structurées ?
🎥 From the same video 22
Other SEO insights extracted from this same Google Search Central video · duration 49 min · published on 22/09/2016
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.