How is this different from Google’s Rich Results Test (search.google.com/test/rich-results)?
Both are useful; they answer different questions.
Google’s Rich Results Test is the source of truth for “will this rich result appear in Google SERP?” It runs Google’s actual rich-result eligibility rules and returns: pass/fail per rich-result type, the rendered preview, and Googlebot-fetched HTML. Use it as the final eligibility check before pushing schema to production.
This validator is the per-property debugger. It tells you where your JSON-LD is broken, what datatype each property should be, and gives copy-pastable fix examples. Google’s tester gives a binary pass/fail with cryptic error messages (“Either ‘offers’, ‘review’, or ‘aggregateRating’ should be specified”); this validator gives offers.priceCurrency: expected ISO 4217 code, got "USD " (trailing whitespace).
My recommended flow:
- Paste snippet into this validator, iterate until score ≥85, zero errors, zero warnings.
- Deploy to staging.
- Run Google’s Rich Results Test against the staging URL. If it passes, ship to production. If it fails, paste the staging-rendered JSON-LD back into this validator, one of the post-render values is probably empty (out-of-stock product, configurable with no default selection, etc.).
- Re-test on production 24h after deploy. Search Console reflects the change in 2-6 weeks.