Free tool

Structured Data Completeness Checker

Check whether a machine can resolve what your page is, who published it and when it changed — the facts that make a claim attributable.

A narrower question than rich results

Google’s Rich Results Test tells you whether markup qualifies for a search feature. The schema.org validator tells you whether it is syntactically valid. Both are good and this duplicates neither.

The question here is: can a machine reading this page resolve what it is, who published it, and when it last changed? Those three facts are what let a claim on the page be attributed to somebody and dated. A page can pass every rich-results check and still be unattributable, and that is the case worth finding.

What, who, when

  • What this page is — a node typed Article, WebPage, Product, FAQPage or similar. Without one there may be structured data on the page that never says what the page itself is.
  • Who published it — an Organization or Person. This is the one most often missing, and the most consequential: an unattributed claim on an unfamiliar domain is the weakest possible evidence.
  • When it last changeddateModified. Currency matters most for exactly the questions people put to assistants, and an undated page tends to lose to a dated one saying the same thing.

Author is reported separately as a note. An organisation is a legitimate author; a named person with a verifiable profile is stronger, and an invented one is worse than nothing.

Invalid markup fails silently

JSON-LD that does not parse is ignored completely — it is worth exactly what having none is worth. The usual cause is a template interpolating an unescaped quote into a description field, and because nothing visibly breaks, a page can carry markup for years that no consumer has ever successfully read.

This reports unparseable blocks as an error rather than skipping past them, since “you have structured data” and “your structured data works” are different claims.

What this cannot tell you

Structured data removes ambiguity. It is not a lever. No answer engine has published that JSON-LD influences whether a page gets cited, and anyone claiming a measured effect should be asked what they measured it against.

What it does is stop a machine having to infer from prose who stands behind a claim. That is worth the twenty minutes it takes, and it is not worth a project.

Frequently asked questions

How is this different from Google's Rich Results Test?
The Rich Results Test checks whether your markup qualifies for a specific search feature, and the schema.org validator checks syntax and vocabulary. Both do that well and this does not duplicate them. This asks a narrower question: can a machine reading the page resolve what it is, who published it and when it last changed — the three facts that let a claim be attributed. A page can pass both of those tools and still fail this.
Does structured data help with AI visibility?
It helps a machine resolve facts about the page that would otherwise have to be inferred from prose — publisher, author, date. That is worth having, and it is not a ranking lever. No answer engine has published that JSON-LD influences whether a page is cited, so treat it as removing ambiguity rather than as an optimisation.
What is the minimum structured data a page should have?
A node describing the page itself (Article, WebPage, Product, FAQPage or similar), an Organization or Person identifying the publisher, and a dateModified. Those three answer what, who and when. Everything beyond that is worth adding for specific features rather than for general legibility.
Why does dateModified matter?
Because an engine has no other reliable way to tell whether a page is current, and currency matters most for exactly the sort of question people ask assistants. A page with no date is harder to trust for anything time-sensitive, and undated pages tend to lose to dated ones when both otherwise say the same thing.
What happens if my JSON-LD is invalid?
It is ignored entirely, which makes it worth the same as having none. Invalid JSON-LD is common — usually a template inserting an unescaped quote into a description — and it fails silently, so a page can carry markup for years that nothing has ever read. That is why this reports unparseable blocks as an error rather than skipping them.
Do I need an author, or is the organisation enough?
An organisation is a legitimate author and satisfies the attribution question. A named person with a real, verifiable profile is a stronger expertise signal, particularly on a domain with little history — but an invented persona is worse than none, because it is a claim that fails the moment anybody checks it.

Structured data says who you are. Whether there is a passage worth quoting is a separate question — score a draft against it.

Score a draft
Go multilingual free
Open source · your data stays yours
Start free