What is a schema validator and what does it check?
A schema validator, like the Schema Markup Validator, is a tool that reads the markup of a page or a snippet of code and checks that it is well formed and that it uses the Schema.org vocabulary correctly. The reference one is validator.schema.org, heir to Google's old tool, and it does not evaluate Google's own rich result requirements.
Key takeaways
- A schema validator checks the syntax of the markup and its use of the Schema.org vocabulary, whatever the type.
- The Schema Markup Validator was born in 2021 from Google's old Structured Data Testing Tool, when that tool stopped checking Google's own types.
- Schema.org is flexible by design: many unexpected uses are not errors, and a validator is not obliged to treat them as such.
- Google's requirements, like the required properties of a merchant listing, are checked with the Rich Results Test.
- No validator checks that the markup describes what the page shows: that part of Google's guidelines cannot be tested with an automated tool.
A schema validator is the tool you use to check a page's Schema.org markup, what the industry calls schema markup. When someone says "run it through the validator" they usually mean the Schema Markup Validator, at validator.schema.org.[1]Schema.org. Schema Markup Validator It matters because it is the neutral tool: it does not tell you whether Google will show your product page with rich results, like the price or the stars, but whether your markup is well written and uses a vocabulary that does not belong to Google alone. Schema.org was founded in 2011 by Microsoft, Yahoo!, Google and Yandex, with what their search engines could make use of in mind.[2]Schema.org. Data model
Where it comes from
Until 2020, the validator everyone used was Google's structured data testing tool. On December 15, 2020, Google announced it was repurposing it: it would move to a new domain in service of the Schema.org community, its main purpose would be checking the syntax and the conformance of markup with Schema.org standards, and it would stop checking the rich result types of Google Search. For that it pointed to the Rich Results Test.[3]Google Search Central Blog (December 15, 2020, with 2021 updates). An update on the Structured Data Testing Tool
On May 11, 2021, Schema.org announced the tool's new home, already under the name Schema Markup Validator, and on August 9, 2021, with the validator stabilized, Google began redirecting the old tool to a page for choosing which one to use.[3]Google Search Central Blog (December 15, 2020, with 2021 updates). An update on the Structured Data Testing Tool Today Google sums it up this way: start with the Rich Results Test to see which Google rich results your page can generate, and use the Schema Markup Validator to validate any type of Schema.org markup without the warnings specific to Google features.[4]Google Search Central. Test your structured data
What it checks, layer by layer
Markup can fail on four different layers, and each tool reaches one of them. Separating them is the most useful way to read a validator.
1. Syntax. The code has to be a valid document: in JSON-LD, commas, quotes, braces and brackets in their place. It is the layer the two tools share. Google's, for example, lists errors of this kind that stop parsing before it even knows what type the item is: invalid JSON document, a missing comma or closing brace, an incorrect escape sequence, a single property defined twice.[5]Search Console Help. Rich Results Test
2. Vocabulary. The types and properties have to exist in Schema.org and be used with reasonable values. This is the validator's own ground: Google gives it as an example of its use, for anyone who only wants to make sure they use valid Schema.org properties or to validate a type Google does not consume.[3]Google Search Central Blog (December 15, 2020, with 2021 updates). An update on the Structured Data Testing Tool Here it helps to know something about how Schema.org is designed: it is flexible on purpose. Its data model accepts that text may arrive where a person or an organization is expected, that one description may combine properties from several types (something can be a book and a product at once), and it says validators may warn about what turns out ambiguous but are not obliged to treat an unexpected structure as an error.[2]Schema.org. Data model That is why a validator gives so many warnings and so few errors.
3. Google's requirements. For a product page to qualify for merchant listings, Google requires a name, an image and an offer with a price greater than zero and its currency on the product.[6]Google Search Central. Merchant listing (Product, Offer) structured data Schema.org requires none of that: a product with no image is a perfectly valid product in its vocabulary. Only the Rich Results Test looks at this layer.[4]Google Search Central. Test your structured data
4. What no tool sees. Google asks you not to mark up content the reader of the page cannot see, for the markup to truly represent the main content and not be misleading, and warns that an automated tool cannot easily check these quality guidelines.[7]Google Search Central. General structured data guidelines
In a store
The same product, marked up four ways, in a fictional example store. The first version is the correct one:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "6-cup stovetop espresso maker",
"image": "https://example-store.com/img/moka-6.jpg",
"offers": { "@type": "Offer", "price": 39.9, "priceCurrency": "USD" }
}
And this is how each of the other three would fail:
| Version (fictional example) | What changes in the code | Layer that fails | Who is built to see it |
|---|---|---|---|
| A | The comma after "name" is missing |
Syntax | Both tools |
| B | The property is written "cost" instead of "price" |
Vocabulary | The schema validator |
| C | There is no "image" |
Google requirement | Only the Rich Results Test |
| D | The price in the markup is not the one the page shows | None of the three | None: you have to look at the page |
Row B has a practical consequence: a vocabulary validator detects that cost is not a Schema.org property, but for Google that offer also has no price, so the product page stops being eligible. One failure can show up on two layers at once, which is why it pays to run both tools. Row D is the one that costs a store the most and the one no markup tool detects: it is the job of publication verification.
What people often confuse
Reading "no errors in the validator" as "eligible for Google". The validator checks Schema.org syntax and vocabulary; Google's rich result requirements are not its job, and Google separated them on purpose when it moved the tool.[3]Google Search Central Blog (December 15, 2020, with 2021 updates). An update on the Structured Data Testing Tool A product page with no image passes the validator clean and is not eligible for merchant listings.[6]Google Search Central. Merchant listing (Product, Offer) structured data And the other way around: a validator warning about an unexpected value type is not always a problem, because Schema.org accepts those uses.[2]Schema.org. Data model
How to check it
- Open validator.schema.org and paste the URL of a published product page or the block of markup you want to review.[1]Schema.org. Schema Markup Validator
- Fix the syntax errors first: while the document cannot be read, no other check is worth anything.[5]Search Console Help. Rich Results Test
- Read the vocabulary warnings one by one. A misspelled property gets fixed; text where an object was expected can stay, depending on what you need.[2]Schema.org. Data model
- Run the same URL through the Rich Results Test for Google's layer, the one with each result's required properties.[4]Google Search Central. Test your structured data
- Compare two or three values in the markup by hand with what the page shows: price, availability, name. Nobody validates that layer for you.[7]Google Search Central. General structured data guidelines
Related concept: the Rich Results Test
The Rich Results Test is Google's tool: it checks only the types Search uses and applies Google's requirements to them, and it shows a preview of the result. A schema validator checks any Schema.org type, without Google's rules.[4]Google Search Central. Test your structured data They do not replace each other: they chain. First the validator or the test for syntax, then Google's test for its layer, and last the published page for what neither of them sees. Catalog data coverage is the next step: not whether one product page's markup is right, but how many product pages in the catalog have the data that markup needs.
To keep going, the comparison validating markup vs verifying publication separates the two questions, and the measurement and verification reading path orders the rest of the terms.
Synonyms
- English
- Schema Markup Validator, schema validator
- Español
- validador de marcado Schema.org
Sources
- [1] Schema.org. Schema Markup Validator. Accessed . ↑ ↑
- [2] Schema.org. Data model. Accessed . ↑ ↑ ↑ ↑
- [3] Google Search Central Blog (December 15, 2020, with 2021 updates). An update on the Structured Data Testing Tool. Accessed . ↑ ↑ ↑ ↑
- [4] Google Search Central. Test your structured data. Accessed . ↑ ↑ ↑ ↑
- [5] Search Console Help. Rich Results Test. Accessed . ↑ ↑
- [6] Google Search Central. Merchant listing (Product, Offer) structured data. Accessed . ↑ ↑
- [7] Google Search Central. General structured data guidelines. Accessed . ↑ ↑
Change history
- First English version.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
Rich Results Test
What Google's Rich Results Test is, what it checks on a product page, what it cannot see and how to read its errors and warnings.
Schema.org
What Schema.org is, who maintains it, how its types and properties are organized, and why it is not the same as the format or as what Google requires.
Schema markup
What schema markup means when an audit asks for it or an app promises it: which vocabulary, which format, which types, and what it gets a store today.
JSON-LD
What JSON-LD is, what @context, @type, @id and @graph mean, why Google recommends it and how to find and check the block on your product page.
Structured data
What structured data is, which pieces make it up, what a store gets from it according to Google, and how to check it matches the product page.
Publication verification
What publication verification is: checking that what you save in your store's admin reaches the public page, field by field, and how to do it.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.