Learn how to fix duplicate product schema on Shopify. Step-by-step guide to configure ProductGroup structured data, remove conflicting JSON-LD, and avoid Google Search Console warnings.
Developer of producteasy.io
If you're seeing structured data warnings in Google Search Console or your Shopify products aren't showing rich results, you likely have duplicate product schema on your store. This is one of the most common Shopify SEO issues, and it's surprisingly easy to fix.
In this guide, we'll show you exactly how to identify and fix duplicate schema markup on Shopify, implement the recommended ProductGroup structured data, and ensure your products are eligible for Google's rich results and Merchant Center listings.
Product schema (also called structured data or JSON-LD) is code that helps search engines understand your products. When implemented correctly, it enables rich results in Google Search — those eye-catching listings that show star ratings, prices, availability, and product images directly in search results.
According to research, pages with rich results have up to 82% higher click-through rates than standard listings. Yet only 30% of websites currently use schema markup properly — making this a major competitive advantage for Shopify store owners who get it right.
Most Shopify stores unknowingly have multiple sources outputting product schema, creating conflicts that can hurt your SEO and ad performance:
Before you can fix duplicate schema, you need to understand where it's coming from. Here are the most common culprits:
Most Shopify themes (including Dawn and its derivatives) automatically output product schema using the {{ product | structured_data }} Liquid filter. This outputs a ProductGroup with variants — which is correct, but conflicts with other schema sources.
Apps like Reviews.io, Judge.me, Yotpo, Loox, and Stamped often inject their own Product schema with aggregateRating data. This creates a second (or third) Product entity on the same page.
Apps like JSON-LD for SEO, Schema App, or Smart SEO may add their own structured data, potentially duplicating what your theme already outputs.
If you or a developer previously added custom schema markup to your theme, this could conflict with other sources.
Here's how to identify if you have duplicate product schema:
You can also use Google's Rich Results Test (search.google.com/test/rich-results) to see exactly what structured data Google detects on your page.
In February 2024, Google expanded support for ProductGroup structured data, which is now the recommended approach for products with variants (sizes, colours, etc.).
This structure is particularly important for Google Merchant Center and Shopping ads, as it helps Google understand your product variants and display the correct information.
The fix is straightforward: use ONE source for your product schema and disable all others. Here's how to do it step by step.
For Dawn theme (and most modern Shopify themes), find and comment out the structured_data filter:
{%- comment -%} Disabled for single schema source
{{ product | structured_data }}
{%- endcomment -%}Common locations to check:
Search your theme files for "structured_data" or "application/ld+json" to find all instances.
If you use a review app, you'll need to disable its schema output while keeping the review data accessible.
This way, your review ratings are still available via metafields (which ProductEasy reads), but Reviews.io won't output conflicting schema.
Check their settings for "Structured Data", "Schema Markup", or "SEO" options and disable schema output.
After making changes, verify everything is working correctly:
A properly configured ProductGroup schema includes:
Setting up schema correctly can be technical and time-consuming. That's exactly why we built ProductEasy.
ProductEasy automatically generates complete, Google-compliant ProductGroup schema for all your products. It includes:
Simply install ProductEasy, disable your theme's native schema, and you're done. No code editing, no technical knowledge required. We handle all the complexity so you can focus on growing your business.
While Google says duplicate schema isn't inherently penalised, it can cause issues. Conflicting data (different prices, missing fields) confuses search engines and may result in your rich results not showing. For Google Merchant Center, duplicate or incomplete schema can cause ad rejections.
View your product page source and search for "application/ld+json". If you find multiple blocks containing Product or ProductGroup data, you have duplicates. You can also use Google's Rich Results Test for a clearer view.
ProductGroup is the parent container for products with variants. It holds shared data like brand, description, and reviews. Each variant is a separate Product entity linked back via isVariantOf. This is Google's recommended structure since February 2024.
Yes. ProductEasy outputs complete ProductGroup schema, so you should disable your theme's {{ product | structured_data }} to avoid duplicates. We provide step-by-step guidance during setup.
Yes, positively. Clean, complete schema helps Google Merchant Center accurately understand your products and variants. This can resolve feed errors and improve your Shopping ad eligibility.
Google needs to recrawl your pages to detect the updated schema. This typically takes a few days to a few weeks. You can use Google Search Console to request indexing of specific pages to speed up the process.
Duplicate product schema is one of the most common — and most fixable — SEO issues on Shopify stores. By consolidating to a single schema source and implementing proper ProductGroup structured data, you'll improve your chances of earning rich results, keep Google Merchant Center happy, and provide clearer signals to AI-powered search engines.
Whether you fix it manually or let ProductEasy handle it automatically, the important thing is to take action. Your search visibility — and your sales — will thank you.