Schema Markup Validator Workflow (Generator → Validator → Rich Results Test)
Table of Contents
Generating valid-looking JSON-LD is only half the job. The other half is making sure Google can actually use it. Schema that validates against schema.org can still fail Google's stricter requirements for rich results. The fix is a 3-step workflow: generate, validate, monitor. This guide walks through each step so your schema goes from copy-paste to live rich result without breaking in production.
The Three-Step Validation Workflow
Every piece of schema you deploy should pass through these three checks:
- Schema Markup Validator at validator.schema.org — checks general schema.org syntax compliance
- Google Rich Results Test at search.google.com/test/rich-results — checks if Google can use the schema for rich results
- Search Console monitoring — tracks errors as Google crawls your live pages
Steps 1 and 2 happen before deployment. Step 3 is ongoing after deployment. Skipping any of them is how broken schema slips into production.
Critical point: a pass on Step 1 doesn't guarantee a pass on Step 2. The schema.org validator is more lenient than Google. You can have technically valid schema that Google refuses to use because it lacks fields Google requires for rich results.
Step 1: Schema Markup Validator
The Schema Markup Validator at validator.schema.org is the official schema.org tool. It parses your JSON-LD against the schema.org vocabulary and flags any structural problems.
How to use it:
- Generate your JSON-LD with our free generator
- Open validator.schema.org
- Choose "Code Snippet" tab and paste your script tag (or "Fetch URL" if your page is already live)
- Click "Run Test"
What you'll see: a tree view of your schema with any errors or warnings highlighted. Errors mean the schema is broken — fix before deploying. Warnings mean the schema works but may not be optimal — review and decide.
Common errors to fix immediately:
- "Property X is not a known property" — typo in a field name
- "Expected Y but got Z" — wrong data type (e.g., string when an object was expected)
- "Missing required property" — a required field for the schema type isn't included
Step 2: Google Rich Results Test
The Google Rich Results Test is stricter than the schema.org validator. It checks not just whether your schema is valid, but whether Google can actually use it to generate rich results.
How to use it:
- Open search.google.com/test/rich-results
- Choose "Code" tab to paste a snippet, or "URL" tab to test a live page
- Paste or enter your URL and click "Test URL"
- Wait for the test to complete (usually under 30 seconds)
What you'll see: Google's interpretation of your page, including which schema types it detected and whether each is eligible for rich results. Click on each detected item to see which fields Google parsed and any warnings.
Common Google-specific issues that don't show in the schema validator:
- Image URL too small or wrong format
- Missing fields Google requires but schema.org doesn't (e.g., review aggregateRating without reviewCount)
- Hidden content that doesn't match visible page content
- Multiple conflicting schemas on the same page
If both tools pass, your schema is ready to deploy. If only the schema validator passes but Google's test fails, fix the Google-specific issue before going live.
Sell Custom Apparel — We Handle Printing & Free ShippingStep 3: Search Console Monitoring (Ongoing)
Once your schema is live, Google Search Console tracks it as Google crawls your pages. The Enhancements section reports any errors or warnings found in production schema.
Reports to watch:
- FAQ — flags FAQ pages with errors
- HowTo — flags how-to pages
- Product / Merchant Listings — flags product pages
- Recipe — flags recipe pages
- Local business — flags business pages
- Article — flags article pages
- Breadcrumbs — flags breadcrumb errors
- Sitelinks searchbox — flags sitelink schema
- Logo — flags Organization schema with logo issues
Check these reports weekly for the first month after a major schema deployment, then monthly after that. Fix errors within a few days — Google can stop showing rich results for sites with consistent unfixed errors.
Common "False Pass" Scenarios
Schema can pass both validators and still fail in production. Watch for these scenarios:
- Schema doesn't match canonical URL. Your validator test was on yoursite.com/page but your canonical points to yoursite.com/page/ (trailing slash). Google sees the mismatch and rejects.
- Schema renders client-side via JavaScript. Google may not execute your JavaScript when crawling. Test with the URL test, not the code snippet test, to catch this.
- Multiple schemas conflict. Your page has both auto-generated WordPress schema and your custom schema, and they have different values. Google flags as inconsistent.
- Schema is in a frame or shadow DOM. Google can't always parse schema inside iframes or shadow DOM elements.
- Robots.txt blocks the schema host. If your schema references images or URLs blocked in robots.txt, Google can't verify them.
The fix for all of these: always test the live URL after deploying, not just the code snippet before deploying. The URL test catches issues the code snippet test can't.
When to Use Which Tool
| Tool | Best For | Limitations |
|---|---|---|
| Schema Markup Validator | Pre-deployment syntax check | Doesn't catch Google-specific issues |
| Google Rich Results Test | Pre-deployment Google compatibility check | One page at a time |
| Search Console Enhancements | Ongoing site-wide monitoring | Slow feedback (days to weeks) |
| Lighthouse SEO audit | Quick smoke test during dev | Less detailed than Rich Results Test |
For most sites: schema.org validator + Google Rich Results Test before deployment, Search Console monitoring after. Run all three for high-stakes pages (homepage, top product pages, cornerstone content).
For other parts of the schema workflow, see our FAQ schema guide, Product schema guide, and community recommendations.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free Schema Markup GeneratorFrequently Asked Questions
What's the difference between Schema Markup Validator and Google Rich Results Test?
The schema.org validator checks general schema.org syntax compliance — does the JSON-LD parse correctly against the schema.org vocabulary? Google's Rich Results Test checks if Google specifically can use the schema for rich results. Google's test is stricter and catches Google-specific requirements the schema.org validator doesn't care about.
Can schema pass the validator but still not show rich results?
Yes, often. Validation is necessary but not sufficient. Even valid schema may not trigger rich results if your page lacks authority on the topic, the rich result type has been narrowed by Google, or your schema lacks fields Google considers required (even though schema.org marks them optional).
How often should I check Search Console for schema errors?
Weekly for the first month after a deployment, monthly after that. Sudden spikes in errors usually indicate a CMS update broke something or a Google requirement changed. Fix errors within a few days to maintain rich results eligibility.
Should I test schema before or after deploying to production?
Both. Test the snippet before deploying (catch syntax errors). Test the live URL after deploying (catch deployment issues like canonical URL mismatch or JavaScript rendering problems). Then monitor in Search Console ongoing.
What if Google Rich Results Test shows a warning but no error?
Warnings mean the schema is valid but missing recommended fields. The page will still be processed, but the rich result may be less complete or less likely to show. Treat warnings as opportunities to improve, not blockers.
Why did my schema work yesterday and break today?
Most common causes: a CMS or plugin update changed how schema is generated, a content update changed fields the schema referenced, Google updated their requirements for that schema type, or a robots.txt change blocked an image URL. Check the Search Console error message for the specific cause.

