Google Search Central announced a change this week that sounds minor on paper but has real consequences for anyone relying on structured data. Their JSON-LD extraction now applies only a single pass of HTML unescaping, bringing it in line with actual JSON standards.
Practically, this means one thing: double-escaped entities will no longer be unrolled.
If your JSON-LD contains something like & or ✔, Google's parser used to handle that gracefully. It doesn't anymore. Those entities are now read exactly as written, which, in JSON terms, is invalid. Invalid structured data means no rich snippets, no enhanced listings, and in some cases a drop in search visibility you won't notice until your traffic has already slipped.
Where this usually breaks
This isn't a theoretical edge case. It's a pattern we see constantly:
- Shopify stores - themes and third-party apps generating JSON-LD programmatically, often double-escaping product names, descriptions, or brand fields as data passes from the CMS through the theme layer and into the schema block.
- WordPress sites - SEO plugins injecting schema without sanitising content pulled from the database, especially when special characters, currencies, or HTML tags are involved.
- Any platform with dynamic content - where user input, product feeds, or CMS fields get rendered into JSON-LD without a final validation step.
The result is schema that looks correct in your page source but fails silently in Google's parser.
What to do about it
1. Audit your structured data now. Run your key pages through Google's Rich Results Test and the Schema Markup Validator. If your JSON-LD was already clean, this change won't touch you. If it wasn't, you'll see the errors now rather than discovering them via a rankings drop.
2. Fix the escaping. Inside JSON-LD, use standard JSON escapes or Unicode hexadecimal escapes:
| Instead of | Use |
|---|---|
& | \u0026 |
< | \u003C |
> | \u003E |
&amp; | Just \u0026 - never double-escape |
3. Check your generators. If your schema is being built by a theme, plugin, or custom script, trace the data flow. Is the content being escaped once for HTML, then again for JSON? That's where the double-escaped pattern originates. The fix is usually at the generation layer, not the markup layer.
Why this matters beyond schema
This update is a reminder of something we tell clients regularly: technical SEO isn't a one-off audit. Google's parser changes. Standards evolve. A site that passed every test six months ago can have critical issues today because of a shift you never saw announced.
Structured data is only one piece of it. Page speed thresholds, Core Web Vitals benchmarks, mobile rendering rules, crawl budget allocation - these all shift over time. The businesses that maintain search visibility are the ones treating technical health as an ongoing discipline, not a box to tick at launch.
If your site relies on rich snippets, product schema, or local business markup and you're not sure whether this update affects you, talk to the team. No account manager, no pitch deck - just a straight answer on what's broken and whether it's worth fixing.

Jinnat Ul Hasan
Founder & CEO, Whizz People




