Why the duplication happens

  • Theme logic – Most Shopify themes render product schema automatically in the header and again in the product template.
  • Apps – Many SEO, review or inventory apps insert their own schema snippets without checking whether the theme already supplied one.
  • Custom liquid – Store owners who add hand-rolled schema blocks to product.liquid or product-template.liquid can unintentionally repeat what the theme or an app already emitted.

Step-by-step fix

  1. Run a validator – Open the page in Google’s Schema Markup Validator (or Rich Results Test). The tool lists every JSON-LD block it finds and flags “duplicate type definitions”.
  2. Identify the source – Look at the validator output and note which file or app produced the duplicate.
  3. Edit the theme – Delete the unnecessary schema block from the theme file.
  4. Audit installed apps – Turn off each app that adds product markup, re-run the validator, then re-enable only the apps that you confirm do not duplicate the data.
  5. Test again – After each change, refresh the validator. You should see a single product schema block with no duplicate warnings.

What’s at stake

Stores that rely on rich snippets for price and availability risk falling behind competitors who present clean, single-instance markup.

The other side

Keep markup singular and well-structured.

What to watch next

  • Theme updates
  • App policy changes

A clean schema layer is a low-effort win: one quick audit, a few line edits, and your products regain the full benefit of Google’s rich results.