BlogFindings

AI structured data: 103 of 385 pages with JSON-LD named no organization

Lantad requested the home page of 1,027 hostnames on 14 September 2026 and read the bytes with no JavaScript executed. 713 answered with a 2xx status and an HTML content type, and 385 of those carried at least one JSON-LD block. On 103 of the 385 the markup declared no organization complete enough to identify a publisher, and 27 of the 103 were one property short of doing so.

15 min read Lantad

On 14 September 2026 we requested the home page of each of the 1,027 hostnames in this repository's industry corpus, once over HTTPS as LantadBot/1.0, with redirects followed and no JavaScript executed. 713 answered with a 2xx status and an HTML content type. We then ran this repository's own entity confidence diagnostic over the raw bytes of each one. Before it scores anything it looks for a single thing: one Organization-family node carrying a type, a name and an absolute http or https url. 282 of the 713 had one. This post is about the 431 that did not, and in particular about the 103 of those that shipped JSON-LD anyway.

In short

  • Lantad requested the home page of each of the 1,027 hostnames in this repository's industry corpus on 14 September 2026, once over HTTPS with no JavaScript executed. 713 answered with a 2xx status and an HTML content type, 385 of those carried at least one JSON-LD block, and 282 of the 713 declared an organization a parser could resolve.
  • AI structured data has to identify a publisher before it can usefully describe a page, and on 103 of those 385 pages it did not: 71 carried JSON-LD naming no Organization-family type at all, 14 declared an organization with no name, 13 declared one with no absolute url, and five carried blocks that produced no usable type.
  • Three of the near misses are institutions an answer engine would plausibly want to attribute. Read on 14 September 2026, nasa.gov declared an Organization named NASA with an @id and no url, while who.int and usa.gov each declared an Organization with a url and a logo and no name.
  • Sector predicted the result more than platform did: 82 of 120 software marketing pages declared a resolvable identity against 17 of 91 government pages and 18 of 105 education pages, measured on 14 September 2026.
  • Google's AI features documentation, last updated 10 December 2025 and read on 14 September 2026, states that there is no special schema.org structured data you need to add to appear in those features, so nothing counted here predicts a citation.
  • Answered 2xx with HTML 713 pages of 1,027 hostnames asked
  • Carried at least one JSON-LD block 385 pages 328 carried none
  • Declared a resolvable organization 282 pages type, name and absolute url on one node
  • Carried JSON-LD and no organization 103 pages the subject of this post
  • Carried all five entity signals 45 pages identity, sameAs, @id, logo and category
713 home pages fetched on 14 September 2026, one request each, no JavaScript executed. Measured with the entity confidence diagnostic in core/src/entity.ts.

What does AI structured data have to identify?

The vocabulary an answer engine reads is schema.org, and schema.org draws a line that markup audits rarely draw. Types like WebPage, WebSite and BreadcrumbList describe the document in front of you. Types in the Organization family describe the thing that published it. Both are structured data, and only the second is an identity.

The property that carries the most weight in this reading is sameAs. The schema.org Organization page, on version 30.0 released 19 March 2026 and read on 14 September 2026, defines it as the URL of a reference Web page that unambiguously indicates the item's identity, giving a Wikipedia page, a Wikidata entry or an official website as its examples. That is an identity-resolution statement in a way that no other property in the set is, which is why the diagnostic used here weights it at 25 of its 100 points, behind only the identity gate itself at 35. Those weights sit in core/src/config.ts. They were chosen by us, and they describe how we score rather than how any engine behaves.

The gate is narrow, and it is worth being exact about whose rule it is. To count, one node has to carry all three of an Organization-family type, a name and an absolute url. Google's Organization structured data documentation, carrying Last updated 2026-09-08 UTC and read on 14 September 2026, lists name, url, logo and sameAs among its recommended properties and requires none of them. It also states where the markup belongs: we recommend placing this information on your home page, or a single page that describes your organization, for example the about us page. A page that fails the gate below is therefore not breaking a Google rule. It is failing a check we designed, for a reason we can state plainly: a name with no url identifies a string, and a url with no name identifies a document.

How that check was built, and which two signals were deleted when we measured the first version of it, is the subject of an earlier post on the five signals. That post is about the instrument. This one is the first time the instrument has been pointed at a thousand sites, and the definition it ships with is printed on the methodology page.

The identity gate in core/src/entity.ts. Three properties on one node, and the four signals after it are all statements about that node, so they are unreadable when it is absent.

What 713 home pages declared on 14 September 2026

The frame is the committed industry corpus at worker/seeds/corpus-seeds-industry.json: 1,027 hostnames across eight roughly equal sectors, assembled as a sampling frame weighted toward large organisations rather than drawn at random from the web. 999 of them answered something. 28 failed at the transport layer, 19 with a connection failure and nine with a timeout at twenty seconds.

The refusals matter more than the failures. 209 hostnames answered 403 and 57 answered 503, so a quarter of the frame turned away a request that announced itself honestly as LantadBot and asked for one HTML page. Seven answered 429. Those responses are counted nowhere below, and their absence is the largest single limit on everything that follows: a site that refuses a scanner is not a site with no markup, it is a site we did not read. One further 2xx response is excluded on a technicality worth recording, because ramp.com answered the home page request with a content type of text/markdown rather than HTML.

That leaves 713 pages. Between them they carried 726 JSON-LD blocks, eight of which do not parse as JSON, one on each of eight different sites. 385 pages carried at least one block and 328 carried none at all. That is close to the 141 of 382 measured three days earlier and written up in an earlier count of home pages carrying no structured data, but the two runs used different frames and the similarity is evidence of nothing beyond both samples being made of real sites.

Running the diagnostic across the 713 gives 282 pages with a resolvable identity and 431 without. The median score is 0, because the largest single group of pages scores nothing at all. The mean is 30.6, which is the figure that flatters the web and the reason the median is printed next to it. 45 pages carried all five signals at once, and that group is not what a sector stereotype would predict: it includes gov.sg, moh.gov.sg, utoronto.ca and broadinstitute.org alongside the software companies. Whatever is happening here, it is not a limitation of any platform or any budget. The diagnostic itself runs free on every graded report and contributes none of the 100 points in the composite, which is set out on the research page and defined in the AI visibility glossary entry.

ResponseHostnamesCounted here
2xx with an HTML content type713yes
403 refused209no
503 unavailable57no
Transport failure or timeout28no
429 rate limited7no
Other 4xx or 5xx12no
2xx with a non-HTML content type1no
Every response to one GET per hostname, 14 September 2026, redirects followed, 20 second timeout, one network location. Only the 713 in the first row are measured anywhere in this post.

103 pages carried JSON-LD and named no organization

Of the 431 pages with no identity, 328 had no JSON-LD at all to read. The other 103 did, and they are the group worth studying, because a page carrying no markup has a problem its owner can guess at, while a page carrying markup usually believes the question is settled.

The diagnostic records why each page failed, and the 103 split four ways. 71 carried JSON-LD whose types include no Organization-family type anywhere. 14 found an Organization-family node that carries no name. 13 found one that carries no absolute url. Five carried at least one block that produced no node with a usable type, which is the parse failure showing through into the result.

What the 71 carried instead is consistent enough to name. Counting pages rather than nodes across all 103, WebSite appears on 59, SearchAction on 37, WebPage on 28, ListItem on 19 and BreadcrumbList on 17. Those are the blocks a content management system emits without being asked for them: the site's own name treated as a document, the internal search endpoint, and the trail of links that sits above the heading. Every one is valid markup and not one of them says who is publishing. archives.gov is the unadorned example, carrying WebPage and PropertyValue and nothing else.

The failure has the same shape as markup that asserts values the page never displays, which was measured on a different sample and written up in the post on markup values that were not on the page. It is also the reason syntax coverage is a weak proxy for readability. 22 of 385 pages on another frame carried microdata, reported in the JSON-LD and microdata comparison, and reading that second syntax rescued four pages while changing nothing about whether any of them identified an organisation. Adding a syntax does not add a subject.

If you want to see which blocks your own home page ships to a fetcher that never runs JavaScript, what GPTBot sees prints them as they arrive, and the rest of the free tools cover the access half of the same question.

Why no identity was readPagesMost common type present
No Organization-family type anywhere71WebSite, on 59 of the 103
Organization node carries no name14SearchAction, on 37 of the 103
Organization node carries no absolute url13WebPage, on 28 of the 103
Blocks produced no node with a usable type5ListItem, on 19 of the 103
The 103 pages that carried JSON-LD and no resolvable organization, 14 September 2026. Reasons are reported by core/src/entity.ts; the types column counts pages carrying that type, so a page appears on more than one row.

Twenty seven declarations that were one property short

The 27 near misses are the most useful rows in the run, because each one is a site that decided to publish an identity and then stopped a property early. The fix is a single line in a template, not a structured data project.

Three of them are worth quoting exactly, because they are the kind of institution an answer engine would want to attribute and because anyone can check them. Read on 14 September 2026, the home page of nasa.gov carried one JSON-LD block whose graph opens with an Organization carrying an @id of https://www.nasa.gov/#organization and a name of NASA, and no url property at all. The WebSite node beside it carries the url, and points back at the organization by reference. On who.int the shape is inverted: an Organization carrying a url of https://www.who.int/ and a logo, with no name. usa.gov is the same pattern again, an Organization with a url of https://usa.gov/ and a logo, and no name.

None of those three pages is doing anything a validator objects to, and none of them is ignoring Google's guidance, which asks for these properties and requires none of them. What they have done is publish an identity that cannot be resolved without inference. A node with a name and no url leaves a parser to guess which NASA. A node with a url and no name leaves it to guess whether the entity is the organisation or the website, which is exactly the distinction the entity confidence reading exists to make, and the reason our gate demands both rather than either.

It is fair to ask whether the gate is too strict here, and we think the answer is that it is strict in the direction that costs least. A scanner that accepted a name alone would tell nasa.gov its identity is complete, which is a confident wrong grade on a page where one property is genuinely absent. The AEO glossary entry covers why identity resolution sits upstream of everything an answer engine does with a page, and the per-stack fix guides carry the template change for the frameworks where this markup is generated rather than authored.

Three Organization nodes, quoted from the raw HTML, 14 September 2026

  • nasa.gov {"@type":"Organization","@id":"https://www.nasa.gov/#organization","name":"NASA"} no url
  • who.int {"@type":"Organization","url":"https://www.who.int/","logo":"...h-logo-blue.svg"} no name
  • usa.gov {"@type":"Organization","url":"https://usa.gov/","logo":"...Logo_USAGov.png"} no name
  • 14 of the 27 were missing a name, 13 were missing an absolute url 27 near misses
Read from the home page of each host as LantadBot/1.0, no JavaScript executed. Each node is valid schema.org and each is missing one property this diagnostic requires.

Which sectors identified themselves and which did not

The eight sectors in the frame do not behave alike, and the spread is wider than the spread between platforms measured on other runs. Software marketing sites declared a resolvable organization on 82 of 120 pages. News sites managed 44 of 59. At the other end, government sites managed 17 of 91 and education sites 18 of 105.

Read carefully, the sector table says two different things at once. Most of the gap is upstream of identity: only 29 of the 91 government pages and 31 of the 105 education pages carried any JSON-LD at all, so the markup is missing before the question of who it describes arises. But the conversion rate within the pages that do carry markup is also lower. Software converts 82 of its 90 JSON-LD pages into a resolvable identity. Government converts 17 of 29, and ecommerce converts 32 of 44 while managing a stable @id on only 5 of its 67 pages, the weakest single cell in the table.

The uncomfortable part of that result is who it falls on. Government, education and healthcare publish the reference material that answer engines most want to ground a claim in, and they are the three sectors least likely to state, in the format a machine reads, which body is making the statement. We are not claiming that costs them citations, because we did not measure citations. We are claiming the statement is absent, which is a fact about their HTML on one day.

Nothing here is a capability limit. gov.sg, moh.gov.sg and utoronto.ca sit in the group of 45 that carried all five signals, on the same templates and the same budgets as their neighbours in the table. The platform-specific work is covered in the fix guide for Next.js and its siblings, and the platform-specific reading of what each answer engine does with a page sits under how to get cited.

SectorPages readCarried JSON-LDDeclared an identityAll five signals
Software120908224
News5954449
Finance9654392
Ecommerce6744321
Healthcare9645293
Travel7938211
Education10531183
Government9129172
By sector, 14 September 2026. Pages are the hostnames in that sector answering 2xx with HTML; identity means one node carrying an Organization-family type, a name and an absolute url.

What this measurement does not prove

This is a reading of markup on one page per site on one day, and it needs holding at that size. No access log was read. No AI crawler was observed fetching any of these hostnames. Nothing here connects a declared identity to an appearance in any answer, and no operator of an answer engine publishes a rule that would let us make that connection honestly.

The most important limit is the one that argues against our own product. Google's AI features documentation, last updated 10 December 2025 and read on 14 September 2026, states that you do not need to create new machine readable files, AI text files, or markup to appear in these features, and that there is no special schema.org structured data that you need to add. That is the publisher of the largest set of AI answers on the web saying the markup counted above is not an entry requirement. It remains true that markup is the only place a page states its publisher in a form a parser can lift without inference, and both of those things can hold at once.

Three narrower limits are worth recording. The reader used here recognises one script type, application/ld+json, and no code path in it reads an itemprop, vocab or typeof attribute, so the 28 pages in this sample that carried microdata and no JSON-LD are invisible to it. No JavaScript was executed, which is the correct reading for a fetcher that does not render and the wrong one for a fetcher that does. And 286 hostnames refused or failed, which is a quarter of the frame absent from every figure above.

Finally, the scale itself is a decision rather than a discovery. The five weights, the type list and the three-property gate are constants we chose and can defend, not measurements of how any engine reads a page, and the diagnostic is scored outside the composite for that reason. The evidence base we are willing to publish at scan level sits on the crawlability study, and the platform pages on getting cited in Google AI Overviews and Perplexity are where the reader-facing version of this question lives.

  • Markup on the page Measured 713 home pages read in raw bytes on one day, one request each, no JavaScript executed.
  • Identity a parser can resolve Measured 282 of 713 under a three-property gate defined in core/src/entity.ts and stated in this post.
  • What any answer engine does with it Not measured No access log read, no crawler observed, and Google documents that no special schema is required.
  • Pages using microdata only Not read 28 pages in this sample carry microdata and no JSON-LD, and the reader used here parses JSON-LD only.
  • The quarter that refused Not read 209 answered 403, 57 answered 503, 7 answered 429 and 28 failed at the transport layer.
What the 14 September 2026 run establishes and what it does not. The right-hand column is the claim, not the confidence.

Written by

Lantad

Published .

AI structured data is usually discussed as a coverage problem: how many of your pages carry markup, and whether that markup validates. Both questions skip the one an answer engine has to settle first, which is who publishes this. A page can carry a perfectly valid structured data block describing its own navigation, its own search box and its own breadcrumb trail without ever naming the organisation behind it, and every one of those blocks passes a validator.

Common questions

What counts as AI structured data on a home page?

For the reading in this post, one JSON-LD node carrying an Organization-family type, a name and an absolute http or https url. That gate is defined in core/src/entity.ts and it is ours, not a vendor requirement: Google's Organization documentation, carrying Last updated 2026-09-08 UTC, lists name, url, logo and sameAs as recommended properties and requires none of them. On 14 September 2026, 282 of 713 home pages met the gate.

Does adding an Organization block get my site cited by ChatGPT or Google?

Nothing in this measurement says so, and Google's AI features documentation, last updated 10 December 2025, states directly that there is no special schema.org structured data you need to add to appear in those features. What an Organization block does is state who publishes the page in a form a parser can read without inference. Whether any engine uses that is not observable from outside the engine, and this post does not claim it is.

My markup validates. Why would it still fail this check?

Because validity and identity are different properties. On 14 September 2026, 71 of the 385 pages carrying JSON-LD carried only types that describe the document, most commonly WebSite, SearchAction, WebPage, ListItem and BreadcrumbList. All of those validate. None of them names a publisher. A further 27 pages declared an organization and left out either the name or the absolute url.

Which sectors were weakest in this sample?

Government at 17 of 91 pages and education at 18 of 105, against software at 82 of 120 and news at 44 of 59, all measured on 14 September 2026. Most of that gap is the absence of any JSON-LD rather than an incomplete organization node: 29 of the 91 government pages and 31 of the 105 education pages carried a block at all. It is not a capability limit, since gov.sg, moh.gov.sg and utoronto.ca each carried all five signals.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.