Theme switch leftovers and Google Shopping: what to remove
Google’s Merchant Center help says structured data must match the values shown to the customer, and a theme migration is the easiest way to break that. After a switch, hunt down duplicate product markup, old verification tags and orphaned app code, and keep one source for each product fact.
Why this matters
Google's “About structured data markup for Merchant Center” page sets the rule: “Structured data must match the values that are shown to the customer. Providing incorrect data on your product landing pages is a violation of our structured data guidelines.” Two Product blocks on one page, one from the old theme still carrying last season's price, means one of them is incorrect data by definition. The same page explains the payoff of getting it right: automatic item updates read this markup to correct price and availability mismatches in your product data.
The landing page rules ask the same of the page itself. The “About landing page requirements” page says “If your website uses structured data, the requirements about price, availability, currency and condition apply to your site as well.” It also says “Do not change displayed product information after initial loading.” An old script that rewrites a price or stock message after the page appears breaks that rule quietly, long after everyone has forgotten it is there.
Verification tags are a smaller mess with a sharper edge. Google's URL verification help says “A single URL can only be claimed by one account.” A google-site-verification tag left by an old agency or a previous account is clutter at best. Before you delete any of them, check in Search Console which owner relies on each one, so you do not remove the tag your current account uses.
Migrations leave things behind because nobody owns the old theme once the new one is live. Apps pasted code into the old theme, the new theme brings its own markup, and a tag manager adds a third copy. Each one works; together they disagree, and nobody sees it until two prices do.
The free scan reads the structured data on your pages. It flags a price, stock status or currency in the markup that contradicts what the page shows. A leftover block that is malformed is yours to find: run one page per template through the Rich Results Test. The misrepresentation checker lists every structured data check, and JSON-LD Product schema covers building one clean block.
Typical evidence
The old site never quite leaves
A migration leaves archaeological layers — a second schema block, a stray verification tag, a dead pixel — all in the source, all emitting signals. Two Product schemas on one page means the page declares its price twice, and after any change the two declarations diverge.
The public signals this check looks for:
View source on a product page shows two Product blocks, one from the old theme and one fro…
View source on a product page shows two Product blocks, one from the old theme and one from the new, with different prices or stock values.
A review app and the theme both output product markup, each with its own rating and price
A review app and the theme both output product markup, each with its own rating and price.
Two or more google-site-verification tags sit in the page head, one of them from an agency…
Two or more google-site-verification tags sit in the page head, one of them from an agency or an account nobody remembers.
An old tracking pixel or tag manager container still fires alongside its replacement, so e…
An old tracking pixel or tag manager container still fires alongside its replacement, so every event is counted twice.
Code from uninstalled apps is still pasted into the theme files and loads scripts that no …
Code from uninstalled apps is still pasted into the theme files and loads scripts that no longer do anything useful.
Old social sharing tags carry a price or description from before the migration
Old social sharing tags carry a price or description from before the migration.
What it looks like once it is right
The page carries one Product block at £24.00, in stock, matching what the shopper sees. The Rich Results Test finds a single Product item, one verification tag remains, and the old theme’s code is deleted, not just switched off.
Common mistakes
Common mistake
Fix checklist
View source, search for the leftovers, delete them
The duplication lives in the head and in script tags nobody scrolls to, so it's a 'read the source on purpose' job — best done right after the migration, while you still remember what changed.
Questions merchants ask
Is it a problem to have two Product schema blocks on one page?
It is when they disagree, and two blocks from two themes rarely stay in step. Google's structured data page for Merchant Center says the markup must match the values shown to the customer. Keep one block from one source, and check it in the Rich Results Test.
Should I delete old google-site-verification tags?
Only the ones you can match to an account you no longer use. Google's verification help says a single URL can only be claimed by one account, so check in Search Console and Merchant Center which tag your current account relies on before you remove anything.
Does uninstalling an app remove its code from my theme?
Not always. Some apps paste code into theme files that stays after you uninstall them. After removing an app, search the theme for its name and view the source of a product page to check its scripts and markup are gone.
Remediation
Risk signal
Similar cases
Sources
Last reviewed 29 Sep 2026.
That is one issue. The library documents 134.
The free scan lists what it finds on your store. The paid report adds the affected pages, captured evidence and step-by-step fixes. Start free, with no account needed.