Schema Markup Testing: A Practical Guide to Validating Structured Data
JSON-LD that passes a validator with zero errors and still never earns a rich result in search is one of the more confusing outcomes in technical SEO - because "valid" and "eligible" are two different bars, and most tooling only checks the first one.
Valid vs. Eligible
A structured data validator checks that your JSON-LD is syntactically correct and uses real schema.org properties - it doesn't check whether Google's specific rich-result eligibility rules for that content type are satisfied. A Recipe schema missing a required field for the recipe rich result can validate perfectly as generic structured data while still never being eligible for the visual treatment.
Common Ways Structured Data Fails Silently
- Data that doesn't match the visible page content.Search engines actively check for this - a review rating in your markup that isn't genuinely shown to users on the page is a policy violation, not just a technical mismatch.
- Missing required properties for the specific rich result you want.Each content type (Article, Product, FAQ, HowTo, Recipe) has its own required/recommended field list - validating against the generic Schema.org spec doesn't confirm you've met a specific rich-result type's actual requirements.
- Multiple conflicting schema blocks on one page - a page with two different
Articleblocks, or anOrganizationblock duplicated per-page instead of site-wide, confuses which one search engines should trust. - Schema injected client-side only.If the JSON-LD is added via JavaScript after initial render, a crawler that doesn't fully execute JS may never see it at all.
A Practical Testing Checklist
- Confirm the JSON-LD is present in the initial server-rendered HTML, not only after client-side hydration.
- Check every field in the markup against what's actually visible on the page - not just structurally valid, but factually consistent.
- Verify you've included the fields specific to the rich result you're targeting, not just the schema type's bare minimum.
- Re-check after any template change - a shared layout component change can silently break schema on every page that uses it at once.
See your full audit score right now
Run a free instant audit and get an AI-prioritized fix list for performance, SEO, and accessibility.
Run a free auditRelated reading
Schema Markup Checker
Check whether your page ships JSON-LD structured data search engines and AI agents can read.
Structured Data and AI Search: What JSON-LD Actually Does for You in 2026
What JSON-LD structured data is, why it matters for both Google rich results and AI crawlers, and a practical checklist for auditing what's actually on your pages.