SCH-01
We couldn't find structured data
What the check measures
On every live page we look for structured data in two formats: <script type= blocks (JSON-LD) and schema.org microdata (itemscope/itemtype/itemprop attributes in the HTML itself). The finding is raised when neither of them is present. It is a check of presence, nothing more.
Until 19 September 2026 the check asked about JSON-LD only, which made it state an untruth about sites using microdata. Today the work is divided: a page that has microdata but no JSON-LD does not get SCH-01 but the informational SCH-06 instead. Google treats the two formats as equally fine, so it is not a defect, only information.
One exception to what counts as microdata: the page's template shell does not. The types SiteNavigationElement, WPHeader, WPFooter, WPSideBar, WPAdBlock and WebPageElement (the list lives in config/ under boilerplate_) describe navigation, header and footer, not content. A site whose only microdata is the navigation shell still gets this finding, because it states nothing machine-
What the check does not do:
- It does not judge which type of schema is there. A page with one lone
BreadcrumbListblock passes just like a page describing a product in full. That holds for both formats. - It verifies neither correctness nor completeness. Missing required properties, nonsensical values or a
Productwith no price go unnoticed. JSON validity isSCH-04; specific types areSCH-02andSCH-03. - It cannot see RDFa. The third valid format for structured data (the
typeof,propertyandvocabattributes) is one we do not read yet, so a site publishing its data only in RDFa still gets the finding. That is an admitted gap in the check, not a claim that the format is invalid. - It does not check agreement with the page. Schema describing something other than what is visible passes.
- It cannot see blocks injected by JavaScript after load. Google can process those; many AI crawlers cannot (see
ACC-03).
The finding is page-level; severity is warning.
How strong the evidence is
We recommend it because it does no harm or has some other benefit, but we promise nothing about whether it makes language models cite you. Nobody has demonstrated that yet.
Alongside ACC-02, this is the second check where we say it outright: structured data as a lever on AI visibility is not documented. And because schema is sold as the first step of “optimising for AI” nearly everywhere, it deserves spelling out in detail.
| Who | What they say | How we know |
|---|---|---|
| Google Search | Structured data is not needed for generative AI search, no special markup. Using it is good anyway, for rich results. | Google's own AI optimization guide, which explicitly warns against “overfocusing on structured data” |
| Google Search | The structured data documentation contains not one mention of AI Overviews or AI Mode. | the structured data documentation |
| OpenAI, Anthropic, Perplexity | They do not declare reading structured data at all. | their crawler documentation |
And the measurements? The best available (Ahrefs, August 2025 – March 2026): 1,885 pages that added JSON-LD on their own against 4,000 matched controls. ChatGPT +2.2 %, Google AI Mode +2.4 %, both statistically insignificant. Google AI Overviews −4.6 %, and that decline was significant. The authors themselves write that the difference could easily be random noise.
A second controlled experiment (Otterly, March 2026) found a rise for Google AI Overviews but a decline for ChatGPT, Gemini, Perplexity and Copilot. And, most importantly of all: information placed only in the schema was used by none of the platforms tested. That sentence never appears in the guides, and it is the most practical of the lot.
What this means for you. Schema does not replace content. If a price, an availability or an answer lives only in the JSON-LD and not in the page text, expect a model never to reach it. Write it into the text; schema is a label, not a hiding place.
So why keep SCH-01 as a warning rather than an informational finding, the way llms.txt is? Because here a documented benefit does exist, just elsewhere: Google uses structured data to qualify pages for rich results in classic search, and recommends it itself. That is a tangible outcome, just not the one this product is about.
And three claims that circulate about schema which you should not believe: that “Microsoft confirmed schema helps Copilot” (untraceable; no Bing blog contains it); that “generic schema is worse than none” (from a self-
How to fix it
Start from what the page actually is. The schema type is chosen by content, not by popularity:
| Page | Type |
|---|---|
| Company home page | Organization and WebSite (handled by SCH-02) |
| Article, blog post, news item | Article or BlogPosting |
| Product in a shop | Product with an Offer |
| Step-by-step guide | HowTo |
| Frequently asked questions | FAQPage (handled by SCH-03) |
| A branch or physical location | LocalBusiness |
Pick one format and stay with it. The example below is JSON-LD, and it is fair to say why: Google's documentation states that JSON-LD, microdata and RDFa are all equally fine for it as long as the markup is valid, and it recommends JSON-LD only as the easiest to implement and maintain at scale, because it sits in one block separate from the visible text. If you already use microdata and maintain it without trouble, there is no reason to convert; this finding does not apply to you anyway (see SCH-06).
A minimal sensible block for an article looks like this. It goes in <head> or anywhere in <body>; the position does not matter:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to choose a heat pump",
"datePublished": "2026-09-01",
"dateModified": "2026-09-10",
"author": { "@type": "Person", "name": "Jane Novak" },
"publisher": { "@type": "Organization", "name": "Our Company" }
}
</script>Rules that hold regardless of type:
- The schema must match what is visible on the page. A price in JSON-LD that differs from the price in the text is grounds for a penalty under Google's policies. And, more to the point, it is a lie to your customer.
- Do not describe anything in schema that is not in the text. By the measurements above, no platform will notice it anyway.
- Generate it from your template, from the same data as the visible content. Hand-written JSON-LD parts ways with reality the first time the copy is edited.
- One block per page is enough. Join several entities through
@graphand link them by@idrather than repeating the same description. - Do not inject JSON-LD with JavaScript when you can avoid it. Google will process it, but AI crawlers mostly run no scripts (
ACC-03), leaving you with schema only one of them can see.
And a closing line worth repeating every time: once you have written it, check that the same information is also in the page text. That matters more than the schema itself.
What the report says about it
Finding description
The page carries structured data in neither of the formats we read: no JSON-LD block (`<script type=
Recommendation
Add at least a basic schema matching the page type (Organization/
Sources
- Google Search Central: AI optimization guide (accessed 2026-08-19)
- Google Search Central: Intro to structured data (supported formats: JSON-LD, microdata, RDFa) (accessed 2026-09-19)
- WHATWG HTML living standard: Microdata (accessed 2026-09-19)
- Ahrefs: Schema and AI citations (difference-in-differences) (accessed 2026-08-19)
Text verified 2026-09-19