A single mistyped property name can silently invalidate an entire JSON-LD block. Here's how to actually validate structured data before it ships, not after a rich result fails to appear.
Structured data fails closed, not gracefully. A schema.org JSON-LD block with one invalid property, a missing required field, or a type mismatch doesn't produce a degraded rich result — it usually produces no rich result at all, and the failure is silent: the page still renders fine, the script tag still loads, and nothing in the browser console necessarily flags the problem. Validating before publishing is the only reliable way to catch this.
Schema.org's own validator (validator.schema.org) checks whether your JSON-LD conforms to the schema.org vocabulary itself — correct types, correct property names, correct nesting. It's the strictest check and the right first stop, because it validates against the specification rather than against what Google specifically chooses to support.
Google's Rich Results Test (search.google.com/test/rich-results) checks something narrower but more practically important: whether Google will actually generate a rich result from your markup. Schema.org defines hundreds of types and properties; Google's rich results only support a subset of them, with their own additional requirements layered on top (for example, FAQPage rich results require the questions to be visibly present on the page, not just in the JSON-LD). Passing schema.org validation does not guarantee passing Google's Rich Results Test, and you need both — the first confirms your markup is valid, the second confirms Google will do anything with it.
author needs to be a nested Person or Organization object with its own name property, not a plain string in most contexts).headline, image, and datePublished, for instance); missing any one of them disqualifies the whole block even if everything else is correct.Article blocks, or an Article and a BlogPosting both describing the same content, create ambiguity about which one is authoritative.If you're generating markup rather than hand-writing it, the Schema Generator produces correctly nested JSON-LD for the most common types (Article, FAQPage, Product, LocalBusiness, HowTo, BreadcrumbList) — but running the output through both validators above before publishing is still worth the two minutes, since no generator can verify that your specific page's visible content matches what you typed into the form.
No sign-up required — use them instantly in your browser.