I validate structured data for every client site I manage, and the difference between these two tools determines whether I catch the right errors at the right stage of implementation. The Schema Validator is the syntax check — it tells you whether your JSON-LD conforms to the schema.org specification. The Rich Results Test is the eligibility check — it tells you whether Google's parser considers your specific implementation complete enough to qualify for a specific rich result feature. Running only the Schema Validator and assuming your structured data is "fine" is the most common validation mistake I see in technical SEO audits.
The Schema.org Validator — What It Tests
The Schema.org Validator (validator.schema.org) is a W3C-aligned tool that parses your structured data against the official schema.org vocabulary specification. It checks:
Property Names — Are They Valid?
Every property in your JSON-LD must exist in the schema.org vocabulary for the declared @type. "aggregateRating" is valid for Product. "reviewScore" is not — it doesn't exist in schema.org. The Validator catches misspelled or non-existent property names that JSON validators won't catch because they only check JSON syntax, not schema vocabulary conformance.
Value Types — Are Values the Right Data Type?
Schema.org specifies expected value types for every property. "ratingValue" expects a Number. "datePublished" expects a Date in ISO 8601 format. "author" expects a Person or Organization object, not a plain string. The Schema Validator flags type mismatches that pass JSON validation but would be misinterpreted by consuming systems.
@type Validity — Does the Declared Type Exist?
The @type value must be a valid schema.org type. "Product", "Article", "FAQPage", "LocalBusiness", "Event" — all valid. "BlogEntry" — not a schema.org type (use BlogPosting). "FAQ" — not a type (use FAQPage). The Schema Validator confirms your @type declarations map to real schema.org entities.
The Google Rich Results Test — What It Tests
The Google Rich Results Test (search.google.com/test/rich-results) tests whether a specific URL's structured data makes it eligible for Google Search rich result features. It checks the same JSON-LD but against Google's specific requirements for each rich result type — which are stricter and more specific than the general schema.org specification.
Google's Required vs Recommended Properties
Google defines specific required properties for each rich result type that go beyond schema.org's own required properties. For a Product rich result, Google requires "name" and at least one of "review", "aggregateRating", or "offers" — fields schema.org marks as recommended but not required. Without Google's specifically required fields, your markup may be schema.org-valid but ineligible for the rich result.
Whether Google Can Render and Read the Page
The Rich Results Test actually fetches and renders the URL — including executing JavaScript if required. This means it catches cases where structured data exists in the HTML source but is hidden by JavaScript errors, dynamically injected by scripts that fail to execute, or blocked by robots.txt from Googlebot's rendering. The Schema Validator works from pasted text — it has no knowledge of the page rendering context.
Which Specific Rich Result Types Are Eligible
The Rich Results Test names the specific feature your implementation qualifies for: "Product snippet", "Review snippet", "FAQ", "Breadcrumb", "Article", "Local Business". This confirms not just that your markup is valid, but which Google Search features it unlocks. The Schema Validator cannot tell you this — it only validates against the vocabulary, not against Google's feature-specific requirements.
| What It Tests | Schema.org Validator | Google Rich Results Test |
|---|---|---|
| JSON-LD syntax validity | Yes | Yes |
| Schema.org vocabulary conformance | Yes — primary function | Yes — as part of eligibility |
| Google-specific required properties | No | Yes — primary function |
| Page rendering and JavaScript execution | No — text input only | Yes — fetches and renders the URL |
| Specific rich result feature eligibility | No | Yes — names the eligible features |
| Works without a live URL | Yes — paste JSON-LD directly | Partially — also accepts code snippet input |
| Use in development (pre-launch) | Best — no URL needed | Limited — requires accessible URL |
| Use post-launch for eligibility confirmation | Partial | Best — tests actual Google eligibility |
The Correct Validation Workflow — Use Both, in Order
During Development → Schema.org Validator First
Before your page has a live URL, paste your JSON-LD into validator.schema.org. Fix any vocabulary errors — wrong property names, incorrect value types, invalid @type declarations. This catches the syntax and vocabulary problems before the page goes live, reducing the errors you'll find in the Rich Results Test later. Don't launch structured data that hasn't cleared the Schema Validator first.
After Launch → Rich Results Test for Eligibility Confirmation
Once the page is live and accessible to Googlebot, run the Rich Results Test. This confirms: the structured data is present and readable in the rendered page (not blocked by JavaScript errors or robots.txt), Google considers the required properties complete for your target rich result type, and the specific feature you want appears in the "Detected" list. A Schema Validator pass plus a Rich Results Test pass means your implementation is correct and eligible.
For Ongoing Monitoring → Search Console Enhancements Report
Once rich results are live, monitor the Enhancements section in Google Search Console. This report shows the actual indexed status of your structured data — including errors and warnings Google discovers as it crawls your pages over time, which neither the Schema Validator nor the Rich Results Test captures at scale. The Rich Results Test validates one page at a time; Search Console monitors your entire site continuously.
"I've seen implementations that pass the Schema Validator with zero errors and still produce zero rich results — consistently. The most common cause is Google-specific required properties that schema.org doesn't mark as required but Google does. For a legal services client targeting FAQ rich results, the implementation was schema.org-valid — correct FAQPage type, correct Question and acceptedAnswer structure. But the Rich Results Test flagged the Q&A content as too brief: Google's FAQ rich result requires answers with sufficient detail to be useful to searchers, not one-sentence responses. The vocabulary was correct; the content didn't meet Google's content quality threshold for that specific feature. The fix was rewriting the FAQ answers to be genuinely substantive — a content decision, not a code change. The Schema Validator couldn't have caught this. Only the Rich Results Test revealed it."
Common Errors Each Tool Catches — Reference Guide
| Error Type | Caught By Schema Validator | Caught By Rich Results Test |
|---|---|---|
| Misspelled property name ("aggregateRatings" instead of "aggregateRating") | Yes | Yes |
| Missing @context declaration | Yes | Yes |
| Invalid @type value ("FAQ" instead of "FAQPage") | Yes | Yes |
| Missing Google-required "offers" on Product markup | No — schema.org marks offers as Recommended | Yes — Google requires it for Product rich result |
| Structured data blocked by JavaScript not executing | No — text input only | Yes — renders the page |
| Structured data not matching visible page content | No | Yes — flags content/markup mismatches |
| Review markup on pages without visible review content | No | Yes — Google's spam policies apply |
Frequently Asked Questions
The Bottom Line
The Schema.org Validator and Google Rich Results Test serve different purposes and catch different errors — you need both, used in the correct order. Schema Validator during development: paste your JSON-LD, fix vocabulary errors, confirm correct @type and property names before the page goes live. Rich Results Test after launch: fetch the actual URL, confirm Google-specific required properties are complete, confirm the target rich result type appears as eligible. Search Console Enhancements for ongoing monitoring: catch errors Google discovers across your entire site continuously. A structured data implementation that has cleared all three stages — Schema Validator, Rich Results Test, and shows no Search Console errors — is correctly implemented and eligible for every rich result feature your markup supports. Use each tool at the right stage, and use all three for complete coverage.
Driven by advanced SEO expertise, deep marketing analytics, high-impact content strategy
With 5+ years of hands-on experience, I specialize in holistic search strategies that don’t just rank—they drive real, measurable business growth. I’ve worked across industries including healthcare, hospitality, legal, e-commerce, and professional services, helping brands dominate their target markets. My approach bridges the gap between raw data and creative execution. Every strategy I build is rooted in rigorous market analysis, structured SEO frameworks, and tailored content ecosystems—no templates, no shortcuts. Whether you’re a single-location brand or scaling across multiple cities, I create data-driven marketing systems designed to compound results and grow with you.
Want Better Rankings in Brave Search & Claude AI?
Get a free SEO audit from DigitalArka. We'll optimise your website for Brave Search by improving BraveBot crawlability, technical SEO, structured data, page speed, internal linking, entity signals, and content quality—helping you rank higher and increase your chances of being cited by Claude AI.
Get Your Free Brave SEO Audit →