The Schema Markup Validator reads the JSON-LD blocks on a page and checks them. It reports blocks that are not valid JSON, lists each type it finds, and shows which required properties are missing for types like Organization, Product, Article and FAQPage. You get a pass or fail per type plus a warning if the page has no FAQPage block.
Updated
The result lists every JSON-LD block on the page by type, with how many required properties it has and which ones are missing. Types the validator has no rules for are counted but not checked.
A type passes when every property on its list is present. Google decides separately whether to show a rich result for it.
It reads JSON-LD, the script tags with the type application/ld+json. Microdata and RDFa are ignored, so a page that marks up its content with either of those shows no structured data here, even if the markup is fine.
If a block uses @graph or an array, each item inside it is checked as its own block.
A fail is something to fix. That means a block with invalid JSON, a type with a required property missing or empty, or a page with no JSON-LD at all. A block with invalid JSON is skipped entirely, so nothing inside it gets checked.
A warning is a suggestion. The only one is a page with no FAQPage block.
These are the properties the validator checks. A property that is missing, empty or null counts as missing. The list does not cover everything Google documents for each type.
| Type | Required properties |
|---|---|
| Article, BlogPosting, NewsArticle | headline, image, datePublished |
| Product | name, image, offers |
| Organization | name, url |
| LocalBusiness | name, address, telephone |
| FAQPage | mainEntity |
| HowTo | name, step |
| Recipe | name, image, recipeIngredient, recipeInstructions |
| Event | name, startDate, location |
| BreadcrumbList | itemListElement |
| VideoObject | name, thumbnailUrl, uploadDate |
| SoftwareApplication | name, offers, applicationCategory |
| Person | name |
| WebSite | name, url |
FAQPage needs a mainEntity list of questions and answers. Every question and answer in the markup has to appear as visible text on the page. Markup for content a visitor cannot see can be ignored.
In 2023 Google limited FAQ rich results to well-known government and health sites, so most sites no longer get the expandable FAQ in search results.
The validator only checks that mainEntity is there, so compare the markup with the visible text yourself. The schema generator builds the block from questions and answers you paste in.
Google's Structured Data Testing Tool moved to schema.org in 2021 and became the Schema Markup Validator (validator.schema.org). For whether a page qualifies for Google rich results, use Google's Rich Results Test. This structured data validator checks JSON-LD syntax and a fixed list of properties across many types. Google's Rich Results Test shows whether a page is eligible for a specific rich result, with Google's own errors and warnings. Use the validator for a quick check, then run the Rich Results Test on any page where you want a rich result.
Related guide: The GEO guide covers how to optimize your pages for language models.
Related study: What Do the Pages ChatGPT Cites on Specific Questions Look Like?
Peak Answer runs checks like these every week, then writes the content and gets the placements.