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.

One email when the scan finishes, with the score and every check. No newsletter.
More options: paths, depth, JavaScript rendering, privacy

Crawls up to 5000 pages plus their images, scripts and stylesheets. No account needed: you get a private link to the results.

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

Every page and every type in one table, up to 5,000 pages. Free, no signup.
Scan a site, free

Read next