SCH-01

We couldn't find structured data

WarningSchema.org

What the check measures

On every live page we look for structured data in two formats: <script type="application/ld+json"> 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/microdata.json under boilerplate_types) 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-readable about its content.

What the check does not do:

  • It does not judge which type of schema is there. A page with one lone BreadcrumbList block 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 Product with no price go unnoticed. JSON validity is SCH-04; specific types are SCH-02 and SCH-03.
  • It cannot see RDFa. The third valid format for structured data (the typeof, property and vocab attributes) 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

Effect not demonstrated

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.

WhoWhat they sayHow we know
Google SearchStructured 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 SearchThe structured data documentation contains not one mention of AI Overviews or AI Mode.the structured data documentation
OpenAI, Anthropic, PerplexityThey 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-published, unreviewed preprint by the owner of a commercial agency, where the aggregate effect came out insignificant); and that “Ahrefs measured a 2.2 % improvement” (the number is real, but the authors themselves refuse to read it as evidence, and the significant decline in AI Overviews gets left out).

How to fix it

Start from what the page actually is. The schema type is chosen by content, not by popularity:

PageType
Company home pageOrganization and WebSite (handled by SCH-02)
Article, blog post, news itemArticle or BlogPosting
Product in a shopProduct with an Offer
Step-by-step guideHowTo
Frequently asked questionsFAQPage (handled by SCH-03)
A branch or physical locationLocalBusiness

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 @graph and link them by @id rather 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="application/ld+json">`) and no microdata markup (`itemscope`/`itemtype`/`itemprop`). The third valid format, RDFa, we do not read yet, so a page carrying its data only in RDFa gets this finding too; take that as an admitted limit of the check. To be precise about what structured data means: it has documented value mainly for classic search, where Google uses it to recognise content type and build rich results on top of it. With AI assistants the effect is inconsistent. A controlled experiment (Otterly, March 2026) measured an increase for Google AI Overviews but a decrease for ChatGPT, Gemini, Perplexity and Copilot, and information placed ONLY in the schema was used by none of those platforms.

Recommendation

Add at least a basic schema matching the page type (Organization/WebSite on the homepage, Article/BlogPosting on articles, Product on product pages). We suggest JSON-LD: Google supports JSON-LD, microdata and RDFa equally, but names JSON-LD as the easiest to implement and maintain, because it sits in one block separate from the HTML. This audit can generate the matching snippets; see the "Downloads" section. Treat it as an investment in classic search and future machine readability, not as a lever on AI citations. And above all: what is not in the visible text of the page will not be taken from the schema. Markup describes content, it does not replace it.

Sources

Text verified 2026-09-19