Direct answer: Of 61 cached pages, only 14 contain JSON-LD (23.0%) and they hold 14 blocks: 11 parse and 3 fail. All three failures are homepages (E09, E14, E23), so those pages have no usable structured data. The other 47 pages have none at all.
By type there are 9 Article blocks, 2 WebSite, 1 Organization and 1 BreadcrumbList; FAQPage, Product and LocalBusiness are 0. All 9 Article blocks have headline, publish/modify dates, author, publisher and mainEntityOfPage, but only 6 have an image.
Method: read ld+json blocks and expand @graph
The study reads 25 homepage caches (2026-10-31 to 11-01) and 36 article page caches (2026-11-03 08:40–08:41) with zero network requests. It extracts application/ld+json blocks, parses the JSON, expands arrays and @graph, and counts @type values; failed blocks are counted but not guessed.
| Item | Rule | Boundary |
|---|---|---|
| Valid block | JSON parses | Required schema.org fields not validated |
| Type | Node @type string | Arrays and @graph expanded |
| Article completeness | headline / dates / author / publisher / image | Presence only |
| Organization | name / url / logo / sameAs count | Links not fetched |
| Breadcrumb | itemListElement count | Hierarchy correctness not judged |
Coverage: 14 pages with blocks, 3 failed
| Result | Pages / blocks | Note |
|---|---|---|
| Pages with JSON-LD | 14 / 61 | 23.0% |
| Valid blocks | 11 | Parsed and expanded |
| Failed blocks | 3 | E09, E14, E23 homepages, one each |
| No JSON-LD at all | 47 / 61 | 77.0% |
| Page type | Pages | With blocks | Valid | Failed only |
|---|---|---|---|---|
| Homepage | 25 | 5 | 2 (E12, E24) | 3 (E09, E14, E23) |
| Article | 36 | 9 | 9 | 0 |
Types: Article dominates, only one Organization
| @type | Blocks | Pages |
|---|---|---|
| Article | 9 | 9 (E09 five pages, E22 four) |
| WebSite | 2 | 2 (E12, E24) |
| Organization | 1 | 1 (E24) |
| BreadcrumbList | 1 | 1 (E12, only one item) |
| FAQPage / Product / LocalBusiness | 0 | 0 |
Article completeness: three lack an image
| Field | Article blocks with it | Share of 9 |
|---|---|---|
| headline | 9 | 100% |
| datePublished / dateModified | 9 / 9 | 100% |
| author / publisher | 9 / 9 | 100% |
| mainEntityOfPage | 9 | 100% |
| image | 6 | 66.7% (E09's first three pages lack it) |
The only Organization has name, url and logo but zero sameAs; the only BreadcrumbList has a single item and cannot form a path. Both WebSite blocks include SearchAction.
What this means for acceptance
- 77% of pages have no structured data. Search engines and AI must infer entities, articles and hierarchy from HTML.
- A failed block is as good as none. Three homepage blocks fail to parse; validate JSON at deploy time rather than checking tag presence.
- Article is the only type at scale. All nine blocks sit on E09 and E22; the other article pages have no Article.
- Organization and sameAs are missing. One Organization with zero sameAs gives weak entity-linking signals.
- The breadcrumb has one item. At least home plus current page is needed; the study does not judge display eligibility.
Limits
- Cached only: the two caches differ in date; later additions or fixes are not reflected.
- No schema.org validation: only JSON parsing and field presence are checked, not type correctness or required fields.
- No rich-result prediction: having Article or FAQ does not imply a rich result.
- Types as strings: case and combined types such as
["Article","NewsArticle"]are recorded as written. - 61 pages from 25 homepages and 36 articles on 10 sites, not 61 independent sites.
Data and reproduction
Anonymised data: equipment-jsonld-coverage-2026.csv (61 rows × 16 columns: blocks, valid/invalid, types, Article image gap, Organization sameAs, breadcrumb items). The repository keeps docs/research/2026-11-jsonld-coverage.csv.
Parser: scripts/jsonld_coverage_probe.py; unit tests: scripts/test_jsonld_coverage_probe.py (9 tests, no network). Run:
python -m unittest scripts.test_jsonld_coverage_probe
Related: the JSON-LD checker tool, the article head metadata pilot, and the page text share pilot., and the target=_blank and noopener pilot
Sources and definitions
- Homepage cache: 25 homepages from study 4 (2026-10-31 to 11-01).
- Article cache: 36 pages from 10 sites in study 45 (2026-11-03 08:40–08:41), five JS shells excluded.
- Parsing: ld+json block → JSON → array/@graph expansion → @type counts.
- Failed blocks are counted only; their types are not guessed.