Structured Data Testing Tool: what replaced it and how to test schema

·4 min read

Google retired its Structured Data Testing Tool and handed it to schema.org, where it relaunched in May 2021 as the Schema Markup Validator at validator.schema.org. Its old job is now split in two. The Rich Results Test checks whether your markup qualifies for Google's rich results, and the Schema Markup Validator checks whether it is valid schema.org without saying anything about Google. Once the page is live, Search Console's rich result reports and URL Inspection show what Google actually found.

Google's December 2020 post has the full history. Any guide that still sends you to the old Google tool predates it.

Structured data testing tool replacements compared

Use the Rich Results Test for Google eligibility and the Schema Markup Validator for schema.org validity, then let Search Console keep checking after you ship.

Rich Results Test Schema Markup Validator Search Console reports URL Inspection
Answers Can this page get a Google rich result? Is this valid schema.org? Which items across the site are invalid? What did Google find on this URL?
Types Google's rich results only Any schema.org type Supported rich results Supported rich results
JavaScript Uses the rendered page Extracts injected markup What Google indexed Live test renders the page

The validator's silence about Google is the trap. A Product whose Offer has no price is valid schema.org, so the validator passes it, while the Rich Results Test rejects it because Google requires a price on every Offer in a product snippet. For reading the Rich Results Test screen itself, see our Rich Results Test walkthrough.

How to validate schema markup

Validate twice, once as a draft and once on the live URL.

  1. Paste the draft JSON-LD into validator.schema.org or the code tab of the Rich Results Test before it ships.
  2. Deploy, then run the live URL through the Rich Results Test. Google recommends the URL input when markup depends on JavaScript.
  3. Fix every error, since an item with a missing required property cannot get that rich result.
  4. Compare the markup with what a visitor sees. Google's guidelines say markup must be a true representation of the page.
  5. After Google recrawls, watch the rich result reports and click Validate fix once a template is repaired.

Common schema validator errors and what they mean

Each error below has a usual cause and a direct fix.

Parse errors from trailing commas and curly quotes

A parse error means the block is not valid JSON, so nothing in it gets read.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": “Acme Tools”,
  "url": "https://acme.example",
}

Curly quotes come from pasting markup through a rich text editor. The trailing comma is legal in JavaScript and illegal in JSON. Build JSON-LD with JSON.stringify on the server, never in a WYSIWYG field.

A missing required property makes the item ineligible, and a missing recommended property only makes the result thinner. The Rich Results Test shows the first as an error and the second as a warning. Which is which depends on the feature. priceCurrency is recommended for product snippets but required for merchant listings. Never invent a rating to clear a warning.

Invalid enum values such as availability

An enum property accepts only values from a fixed list. "availability": "In stock" fails because Google's merchant listing docs accept schema.org values such as InStock, OutOfStock or PreOrder, one per offer. Our Product Schema Checker flags an availability that is not a schema.org value.

The wrong type

Organisation is not a schema.org type, and neither is product in lower case, because type names are case-sensitive. A price placed directly on Product is on the wrong type, since price belongs on the Offer.

Markup injected by JavaScript

JSON-LD added by a tag manager exists only after scripts run. Google renders the page and reads it, and the Rich Results Test sees it through the URL input. Tools that read raw HTML do not, and neither do most AI crawlers, as JavaScript SEO for AI crawlers explains. Put JSON-LD in the server response when you can.

Valid markup still guarantees nothing. Google says it does not promise to show structured data even when it is correct, and FAQ rich results ended for every site on May 7, 2026. Schema is one item on the AEO checklist, not a shortcut.

Validate your JSON-LD before and after it ships

Our Schema Markup Checker takes a public URL or pasted JSON-LD, so you can test a draft before it ships. For a URL it reads every application/ld+json block in the HTML your server sends. It does not run JavaScript, so it won't see JSON-LD a tag manager adds. For the rendered page, use the Rich Results Test.

It reports invalid JSON, nodes with no @type, missing required and recommended properties under Google's rich result rules, an Offer without a price, an incomplete aggregateRating and retired rich result types, and for a URL it suggests schema.org types the page is missing. It checks JSON-LD only and cannot say whether Google will show a rich result. A run costs 8 credits.

Keep reading