Google has changed how Googlebot extracts JSON-LD from webpages, applying a single pass of HTML unescaping and requiring structured data to follow standard JSON formatting more strictly.
Google has made a small technical change to how Googlebot processes JSON-LD, but it is one worth checking if your site generates structured data dynamically.
Google says its JSON-LD extraction now applies only one pass of HTML unescaping, bringing the parser closer to standard JSON and HTML processing rules. In practical terms, markup that previously worked because Google's systems were relatively forgiving may no longer be interpreted in the same way.
This is particularly relevant when JSON-LD contains characters that have been incorrectly or repeatedly HTML-escaped by a CMS, template engine or application.
For example, a value that should eventually resolve to a normal & character can become double-escaped as &. Previously, additional processing could sometimes hide that implementation problem. With a single unescaping pass, malformed output is more likely to remain malformed instead of being silently corrected downstream.
The important point is not that JSON-LD or structured data has fundamentally changed. It hasn't.
Googlebot is simply becoming stricter about receiving valid output in the first place.
That makes this a good moment to inspect the structured data your website actually sends to Google rather than only the code you expect your application to generate. This can be particularly important on sites where JSON-LD is assembled through templates, plugins or server-side variables and values may pass through multiple encoding layers before reaching the final HTML.
Google's Rich Results Test and Schema.org's validator can help identify problems, but developers should also inspect the raw rendered JSON-LD and make sure it is valid JSON without relying on Google's parser to repair it.
There is a broader lesson here too.
For years, search engines have often been remarkably tolerant of imperfect markup. That tolerance should never be treated as part of the specification.
If a parser becomes stricter tomorrow, code that only worked because the parser was forgiving can suddenly become a problem.
For structured data, valid JSON should be the baseline — not something we expect Googlebot to fix for us.
Source
Google Search Central documentation: use Google's official structured-data documentation and the specific Google announcement about the JSON-LD extraction change as the primary references.