Structured data
Bulk schema markup validator: every page of a site at once
Structured data is written once in a template and then multiplied across every page that template builds. A missing property is never on one page; it is on all four hundred products. Testing addresses one at a time finds the fault and hides its size.
Enter a domain. The crawl reads the JSON-LD, microdata and RDFa on every page and reports what does not parse and what a rich result needs that is not there.
What you get
One row for each page that carries structured data, pages with errors first:
- The formats found: JSON-LD, microdata, RDFa.
- The types the page declares: Product, Article, FAQPage and so on.
- Errors: JSON-LD that does not parse, with the parser's message, and required properties that are missing, named by type.
- Recommended properties that are missing: not errors, but the difference between a plain rich result and a full one.
The summary counts how many of the site's indexable pages carry structured data at all and which types are commonest, which is the quickest way to see that a whole section has none.
The types it checks properties for
Required and recommended properties follow Google's documentation for the rich results most sites aim at:
- Article, NewsArticle and BlogPosting
- Product, Offer, AggregateRating and Review
- FAQPage, Question and Answer
- BreadcrumbList
- LocalBusiness and its common subtypes (Dentist, Restaurant, Plumber, LegalService and about forty more), and Organization
- Event
- Recipe
- JobPosting
- VideoObject
- SoftwareApplication
- WebSite
Nested items are checked too: the Offer inside a Product, the Question inside an FAQPage, the ListItem inside a BreadcrumbList. Any other schema.org type is listed as present without a property check.
The faults it finds most
JSON-LD that is not JSON. A trailing comma, an unescaped quotation mark inside a product description, a template variable that printed nothing. The whole block is ignored by search engines, silently.
A Product with no offer, review or rating. Google needs at least one of the three before a product result is possible.
An Offer with no price, usually on out-of-stock items where the template skipped the field.
A rating with a value and no count, or a Review with no author.
An Article with no headline, a LocalBusiness with no address, an Event with no start date. The field that editors leave blank is the field the template leaves out.
Fixing by template, not by page
Sort the table by type and the pattern shows: every page of one type shares the same missing property. Fix the template that prints the block, re-run the scan, and the count for that type should fall to zero at once. If it falls by some, the remaining pages have empty data rather than a broken template.
Then paste one fixed address into Google's Rich Results Test to confirm eligibility, and watch the Enhancements reports in Search Console for the site-wide result over the following weeks.
Where it stops
It reads the HTML the server sent. Structured data injected by a tag manager or built in the browser is not in that HTML, and is not checked. It checks presence, not truth: a price of 0 or a five-star rating from one review passes. And it covers the common types above, not the whole schema.org vocabulary.
To pull any other value out of every page, such as each og:image or each page's raw JSON-LD, use the source search with a CSS selector. The crawl runs 37 checks in all, hreflang and canonicals among them.
Questions people ask
- How do I check schema markup on all pages of a website?
- Crawl the site and read the structured data on each page as it is fetched. Enter the domain above: the Structured data check lists every page that declares any, the types it declares, and the errors that would stop a rich result, in one table you can export.
- How is this different from Google’s Rich Results Test?
- The Rich Results Test checks one address at a time, thoroughly, and it is the authority on whether that page qualifies. This checks every page of a site at once, against the required and recommended properties for the common types. Use this to find which pages have a problem and Google's tool to confirm the fix on one of them.
- Does it validate microdata and RDFa?
- It reports them: every page that uses microdata or RDFa is listed with the types it declares. The property checks are run on JSON-LD, which is the format Google recommends and the one most sites use.
- Does valid schema guarantee a rich result?
- No. Valid markup makes a page eligible. Whether a rich result is shown is the search engine's decision, and it also depends on the markup matching what is visibly on the page.
- How many pages can it check?
- Up to 5,000 pages per crawl, free, with no account.
Validate schema across a whole site
Read next
- Whole-site accessibility checker — axe-core run in a real browser on every page of the crawl, not only the home page, worst impact first.
- XML sitemap generator — an XML sitemap of up to 5,000 indexable pages built from a crawl, and an image sitemap beside it.
- Find all pages on a website — five ways to list every URL of a site, what each one misses, and a crawl that gives you the list as a CSV.
- The free site crawler — the crawl all of these checks read from, and what else it records.