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

KGWritten by Kriszta GrenyoPublished October 20263 min read

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

    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.2% of pages that use JSON-LD (11,642 of 539,779) have at least one broken block.

  3. 3

    The most common cause is an unescaped line break, tab or control character inside a text value: 40.6% of failures.

  4. 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. 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. 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

1.5%of JSON-LD blocks fail to parse

Most sites get it right. The ones that do not lose the whole block, not just the faulty line.

JSON-LD parse failures by site rank
Rank bucketBlocksFailed blocksBlock failure %Pages with JSON-LDPages with a failed blockPage failure %
Top 1,0001,16970.663971.1
1,001 to 10,00010,6401301.25,613871.5
10,001 to 100,00087,8711,4291.646,8441,0252.2
100,001 to 1M1,000,06314,7111.5486,68310,5232.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

40.6%of failures come from unescaped control characters in text

We grouped parser error messages into causes.

Why JSON-LD blocks fail to parse
Failed blocksPages
Unescaped line break, tab or control character in a text value
6,604
4,192
Two objects not wrapped in an array
2,428
1,757
Empty or cut-off block
1,942
1,693
Trailing comma or unquoted key
1,349
1,134
Missing comma or bracket
1,221
762
Other syntax error
1,140
930
Comment or CDATA wrapper around the JSON
966
780
Unterminated string
188
188
HTML or HTML entities in the block
121
115
Empty value (comma with no value)
119
105
Bad escape sequence
118
103
Template error or unrendered template code
81
73

Failed blocks (N=16,277)

CauseFailed blocksPagesShare of failures %
Unescaped line break, tab or control character in a text value6,6044,19240.6
Two objects not wrapped in an array2,4281,75714.9
Empty or cut-off block1,9421,69311.9
Trailing comma or unquoted key1,3491,1348.3
Missing comma or bracket1,2217627.5
Other syntax error1,1409307
Comment or CDATA wrapper around the JSON9667805.9
Unterminated string1881881.2
HTML or HTML entities in the block1211150.7
Empty value (comma with no value)1191050.7
Bad escape sequence1181030.7
Template error or unrendered template code81730.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

0.8%of blocks fail on open-source CMS sites

Grouped by category of platform detected on the page.

JSON-LD parse failures by stack category
StackBlocksFailed blocksBlock failure %Pages with JSON-LDPages with a failed blockPage failure %
Open-source CMS241,0101,9270.8173,0141,4270.8
Hosted builder or commerce platform225,1463,5871.699,5222,1902.2
Custom or other stack633,58710,7631.7267,2438,0253

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

Download the data (CSV)

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.

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.