🔒 SEO Vault

Vitals reviews added duplicate rating schema and broke your star snippets — how to fix it

You turned on the Vitals Product Reviews module and now Search Console flags duplicate or invalid rating markup — or your star ratings just disappeared from Google. That happens because Vitals injects its own review/AggregateRating JSON-LD on top of the schema your theme (or another review app like Judge.me, Loox, or Yotpo) already outputs, so Google sees two competing rating blocks on the same product page and tends to ignore both. The fix is to figure out which sources are emitting rating schema and leave exactly one.

If you didn't already have a backup, those old values are gone — Shopify keeps no history.

The steps below recover what you can. To make the next time a 1-click undo instead of hours of CSV work: a daily snapshot of every SEO field. Free to monitor, no card — and SEO Vault only reads your store unless you click restore.

Protect my SEO free — never lose it again →

Step by step

  1. Confirm it's actually a duplicate, not a one-off. Run a product URL through Google's Rich Results Test (search.google.com/test/rich-results) and look at the detected items: two Product blocks, or more than one aggregateRating/review entry, is your duplicate. Cross-check Search Console under Merchant listings / Review snippets for errors like 'Multiple aggregate ratings' or 'Invalid object'. Quick manual check: open the product page, view source (Ctrl+U), and search for aggregateRating — if it shows up more than once, you have two emitters.
  2. Find which source emits each block. Each one leaves a fingerprint in the page: the Vitals rating sits inside its reviews widget markup, your theme's Product schema usually lives in the product template or theme.liquid, and dedicated review apps (Judge.me, Loox, Yotpo, Stamped) inject their own. Decide which single source you want to keep — normally the app whose reviews you actually display on the page — and treat the rest as the duplicate to switch off.
  3. Turn off the extra rating schema, and never leave a rating with zero reviews. In Vitals, open Product Reviews and look for the rich snippets / Google star ratings / structured data setting and disable it if your theme or main review app already outputs rating schema. If the duplicate is coming from the theme instead, disable the theme's rating output and keep the app's. One emitter only. And drop any AggregateRating on products with no reviews — Google treats a rating with zero reviews as invalid and can pull star snippets across the whole store.
  4. Re-test, request reindexing, then keep an eye on it — because this breaks silently. Re-run the Rich Results Test on the cleaned page, then in Search Console use URL Inspection and Request Indexing so Google re-reads it. The catch with bulk apps like Vitals is that an app update, a toggle that flips back on, or a newly installed app can re-inject a second rating block weeks later with no warning and no undo. A daily snapshot of each product's schema and SEO fields closes that gap: you get an alert the moment the markup changes — naming the app that changed it — and can restore the previous good state in one click instead of digging through page source again.

Source: Google Search Central — Review snippet (structured data) documentation, validated with the Rich Results Test (search.google.com/test/rich-results)

Related fixes

Never lose your SEO to an app again

SEO Vault keeps a daily snapshot of every SEO field on your store — meta titles, descriptions, alt-text, tags, handles (products AND collections) — and emails you the moment something changes in bulk, with the likely app responsible. One click restores yesterday's state, just the SEO fields. Free to monitor and get alerted; $14/mo for 1-click restore.

Protect my SEO — free →
Free forever to monitorNo credit cardRead-only — never edits your store unless you restoreInstalls in 1 click