Why "valid JSON" is the easy 5% of validation#
A JSON-LD block can be perfectly well-formed JSON and still be worthless structured data — a Product with no price, an Article with no author, a FAQPage question with no answer text are all syntactically valid JSON that Google's own documentation specifically calls out as required fields. This tool checks both layers: first that the JSON parses at all, then that the specific fields each schema type actually needs are present and non-empty.
Why only some types get deep field checks#
Schema.org defines hundreds of types, each with its own set of required and recommended properties according to Google's documentation — encoding all of them correctly would be its own multi-month project, and getting a rule subtly wrong is worse than not checking at all. This tool deeply validates the types this site's own generators produce — FAQPage, Article/NewsArticle/BlogPosting, Product, Review, HowTo, LocalBusiness, BreadcrumbList, Event, Organization and Course — where the rules are implemented and tested carefully. Any other type still gets the universal checks (valid JSON, a real @context, a non-empty @type) plus a clear note that deeper field rules were not applied for that type, rather than a false sense of a full pass.
Why it accepts either the raw object or the full script tag#
Copying structured data out of a live page usually means grabbing the whole <script type="application/ld+json">...</script> block, tags included — retyping or hand-trimming it before pasting is friction nobody needs. This tool detects and strips that wrapper automatically, so pasting either the bare JSON or the complete tag works identically.