Data study · Niche schema types AI answers can read
1.5% of JSON-LD Blocks on Top-1M Sites Fail to Parse, Breaking Schema on 2.2% of Pages That Use It
We parsed 1,099,743 JSON-LD script blocks served on 539,779 top-1M pages. 16,277 (1.5%) are not valid JSON, and 40.6% of those failures come from a line break or tab pasted into a text value.
Analysis of 1,099,743 JSON-LD blocks on 539,779 top-1M pages · HTTP Archive, October 2026
Key findings
- 1
1.5% of JSON-LD blocks in served HTML (16,277 of 1,099,743) are not valid JSON, so a strict parser discards them entirely.
- 2
2.2% of pages that use JSON-LD (11,642 of 539,779) have at least one broken block.
- 3
The most common cause is an unescaped line break, tab or control character inside a text value: 40.6% of failures.
- 4
14.9% of failures are two JSON objects placed in one script tag without an array, and 11.9% are empty or cut-off blocks.
- 5
Top-1,000 sites have the lowest failure rate at 0.6% of blocks; sites ranked 100,001 to 1M fail on 1.5%.
- 6
Sites on open-source CMSs have a block failure rate of 0.8%, against 1.7% on custom or other stacks.
Summary
Picture a home builder's developer pasting the company description from a brochure into the site's schema markup. The text has a line break in the middle. The page looks fine, the markup looks fine to the eye, and a strict parser that reads it throws the whole block away because it is not valid JSON.
JSON-LD is unforgiving. One stray character can invalidate everything in a script block, including the Organization, LocalBusiness or Product details the site meant to share. There is no partial credit.
We parsed 1,099,743 JSON-LD blocks from top-1M pages exactly as they were served. 1.5% failed, which means about 1 in 68 blocks says nothing to a strict parser.
What we measured
We used the October 2026 HTTP Archive crawl (mobile) of top-1M sites, which captures each site's homepage plus one inner page. For every page we took the raw JSON-LD script contents from the served HTML and ran each block through a strict JSON parser in BigQuery. We recorded whether it parsed and, if not, the parser's error message, which we grouped into causes.
Results for the rendered page (after JavaScript runs) are almost identical: 1.4% of 1,183,013 rendered blocks fail. Platform figures are grouped into three categories (open-source CMS, hosted builder or commerce platform, custom or other stack) based on HTTP Archive technology detection.
About one block in 68 is broken
Most sites get it right. The ones that do not lose the whole block, not just the faulty line.
| Rank bucket | Blocks | Failed blocks | Block failure % | Pages with JSON-LD | Pages with a failed block | Page failure % |
|---|---|---|---|---|---|---|
| Top 1,000 | 1,169 | 7 | 0.6 | 639 | 7 | 1.1 |
| 1,001 to 10,000 | 10,640 | 130 | 1.2 | 5,613 | 87 | 1.5 |
| 10,001 to 100,000 | 87,871 | 1,429 | 1.6 | 46,844 | 1,025 | 2.2 |
| 100,001 to 1M | 1,000,063 | 14,711 | 1.5 | 486,683 | 10,523 | 2.2 |
Source: aisearchoptimization.net analysis of 1,099,743 JSON-LD blocks on 539,779 top-1M pages · HTTP Archive, October 2026
The top 1,000 sites are the most careful. Below that, the failure rate is flat at around 1.5%.
A pasted line break is the top cause
We grouped parser error messages into causes.
Failed blocks (N=16,277)
| Cause | Failed blocks | Pages | Share of failures % |
|---|---|---|---|
| Unescaped line break, tab or control character in a text value | 6,604 | 4,192 | 40.6 |
| Two objects not wrapped in an array | 2,428 | 1,757 | 14.9 |
| Empty or cut-off block | 1,942 | 1,693 | 11.9 |
| Trailing comma or unquoted key | 1,349 | 1,134 | 8.3 |
| Missing comma or bracket | 1,221 | 762 | 7.5 |
| Other syntax error | 1,140 | 930 | 7 |
| Comment or CDATA wrapper around the JSON | 966 | 780 | 5.9 |
| Unterminated string | 188 | 188 | 1.2 |
| HTML or HTML entities in the block | 121 | 115 | 0.7 |
| Empty value (comma with no value) | 119 | 105 | 0.7 |
| Bad escape sequence | 118 | 103 | 0.7 |
| Template error or unrendered template code | 81 | 73 | 0.5 |
Source: aisearchoptimization.net analysis of 1,099,743 JSON-LD blocks on 539,779 top-1M pages · HTTP Archive, October 2026
Errors like these usually trace back to text pasted into markup or inserted by a template without escaping, though the crawl cannot show how each block was made. Comment or CDATA wrappers break a strict parser but may be tolerated by some search engines.
Failure rates by type of stack
Grouped by category of platform detected on the page.
| Stack | Blocks | Failed blocks | Block failure % | Pages with JSON-LD | Pages with a failed block | Page failure % |
|---|---|---|---|---|---|---|
| Open-source CMS | 241,010 | 1,927 | 0.8 | 173,014 | 1,427 | 0.8 |
| Hosted builder or commerce platform | 225,146 | 3,587 | 1.6 | 99,522 | 2,190 | 2.2 |
| Custom or other stack | 633,587 | 10,763 | 1.7 | 267,243 | 8,025 | 3 |
Source: aisearchoptimization.net analysis of 1,099,743 JSON-LD blocks on 539,779 top-1M pages · HTTP Archive, October 2026
Custom or other stacks fail at about twice the rate of open-source CMS sites.
What this means
Run your key pages through a schema validator or a JSON linter and fix anything it rejects. Escape line breaks in text values as \n, put multiple objects in one array or an @graph, remove trailing commas, and do not wrap JSON-LD in comments or CDATA. If your markup is built from database fields, make sure the template escapes them. Template escaping is a frequent source of these errors, and good answer engine optimization services fix it at the template level so it stays fixed.
A broken block hides everything in it from machines, including the facts AI engines use to describe your business. Our free AI visibility audit includes a check for markup that fails to parse, a check any GEO agency should run before writing new schema.
Limits
We used a strict JSON parser. Some search engines may recover from certain errors, such as comment wrappers, so the share that is truly lost to them may be lower.
HTTP Archive crawls one homepage and one inner page per site.
Error grouping relies on parser messages and is approximate; 7.0% of failures fall into Other syntax error.
Stack categories depend on HTTP Archive technology detection.
Embed this research
Add the charts from this study to your page. The embed links back here.
<iframe src="https://aisearchoptimization.net/embed/data-studies/json-ld-parse-errors-top-sites" title="1 in 68 JSON-LD Blocks on Top Sites Fails to Parse" width="100%" height="720" style="border:0" loading="lazy"></iframe>
Cite this study
APA
Grenyo, K. (2026). 1 in 68 JSON-LD Blocks on Top Sites Fails to Parse. AI Search Optimization. https://aisearchoptimization.net/resources/data-studies/json-ld-parse-errors-top-sites
Plain link
1 in 68 JSON-LD Blocks on Top Sites Fails to Parse - AI Search Optimization - https://aisearchoptimization.net/resources/data-studies/json-ld-parse-errors-top-sites
Frequently asked questions
How common are JSON-LD syntax errors?
1.5% of JSON-LD blocks on top-1M pages failed to parse in October 2026, and 2.2% of pages using JSON-LD had at least one broken block.
What is the most common JSON-LD error?
An unescaped line break, tab or other control character inside a text value, responsible for 40.6% of failures. Next are two objects in one script tag without an array (14.9%) and empty or cut-off blocks (11.9%).
What happens when JSON-LD fails to parse?
A strict parser rejects the whole script block, so none of the entities in it are read. Other valid blocks on the page still work.
Do big sites have broken schema?
Rarely. Only 0.6% of JSON-LD blocks on top-1,000 sites failed, compared with 1.5% on sites ranked 100,001 to 1M.
Related studies
- Niche schema types AI answers can readOnly 24.5% of Car Dealer Sites Mark Up Their Vehicles
- Niche schema types AI answers can read28% of Recipe Pages Leave Cook Time Out of Their Markup
- Niche schema types AI answers can read98.8% of Sites Using Hiring Software Lack Job Markup
- Niche schema types AI answers can read86% of Sites With Event Tools Show No Event Markup
See where AI search leaves you out
Run the free AI visibility audit. If you want the fixes done for you, the plan is a flat $299/month.