What this validator does
It fetches the page, pulls out every <script type="application/ld+json"> block and parses each one. Broken blocks get the parser’s message with a line and column, plus a hint for the usual culprits: a trailing comma, curly quotes pasted from a doc, or a raw line break inside a string. A block with a syntax error is ignored completely, so one stray comma can hide all your markup.
How we check properties
For each entity, including the members of an @graph, we read its @type and compare it with the properties Google’s documentation marks as required for that feature. The wording is deliberate: Google may require these for a rich result. Some types, like Article and Organization, have no required properties at all; for those we list the recommended ones you’re missing. Each entity links to the Google page we used.
- Product: name, plus one of offers, review or aggregateRating.
- SoftwareApplication: name, offers.price, and aggregateRating or review.
- LocalBusiness: name and address. Event: name, startDate, location.
- VideoObject: name, thumbnailUrl, uploadDate. Recipe: name and image.
- BreadcrumbList: itemListElement, with position and name on each item and at least two items.
We also flag dates that aren’t ISO 8601 and a missing @context. FAQPage and HowTo are checked but marked as retired: Google no longer shows either rich result.
Getting markup right
- Only mark up what’s visible on the page. A price or rating in JSON-LD must match the page text.
- Generate JSON-LD from the same data that renders the page, never by hand per page.
- Validate after each deploy, then confirm eligibility in Google’s Rich Results Test.
Start from clean templates with the schema markup generator. On Versely, Organization, Breadcrumb, FAQ, Article, SoftwareApplication and VideoObject JSON-LD were part of the technical base, as described in the case study.
Limits
Server HTML only: markup injected by JavaScript isn’t seen here. We check common Google features, not every schema.org type, and show up to 30 blocks.