Skip to content
Metaspry

Docs

Schema validator (JSON-LD with content cross-check)

Validate JSON-LD per-property and catch the silent failures Google Rich Results Test misses - in particular, schema that contradicts visible page content.

JSON-LD schema is how you tell search engines and AI crawlers what each entity on the page actually is. Most validators check syntax. Metaspry’s checks syntax + spec compliance + does the markup match what the page actually says — which is the gap Google’s own Rich Results Test refuses to close.

The gap nobody fills

Product schema declares price $49.99. The page renders price $59.99.

Both values are technically valid. Google’s Rich Results Test passes. The rich result fires with the wrong price. Customers notice; you don’t.

This is the documented gap in every schema generator and validator on the market in 2026. Metaspry’s schema audit is built around closing it.

What gets checked

For every JSON-LD block on the page:

Syntax

  • @context must be https://schema.org (case-sensitive in 2026; the old http:// form is dropped silently by Google).
  • Valid JSON: unescaped quotes, missing commas, dangling braces all flagged with line + column.
  • @type must resolve to a real schema.org type.

Spec compliance

Per-entity required + recommended properties via the schema-dts type system:

EntityRequired (Google)Common omissions
Articleheadline, author, datePublished, imageauthor missing → rich result blocked
Productname, image, offersoffers.price + offers.priceCurrency must both be present
FAQPagemainEntity (Question[])Question.acceptedAnswer.text empty
HowTostep[]Note: HowTo rich result was deprecated Sept 2023, schema still parsed
BreadcrumbListitemListElement[]item must be absolute URL
Organizationname, urlsameAs missing — Knowledge Graph linkage opportunity
Recipename, image, recipeIngredient, recipeInstructionsCommon bare-minimum recipe schemas fail eligibility

Content cross-check (the differentiator)

This is what Google’s tool doesn’t do. We extract the visible content from the DOM and compare it to the schema claim:

  • Article.headline → matches the <h1>?
  • Article.author.name → matches the byline element?
  • Article.datePublished → matches the visible date?
  • Product.offers.price → matches the visible price?
  • Product.name → matches the <h1> or <title>?
  • Recipe.name → matches the visible recipe title?
  • FAQPage.mainEntity[].acceptedAnswer.text → does each Q+A pair exist on the page?

Mismatches surface as warnings even when the schema is technically valid. Schema that lies is worse than schema that’s missing — Google can detect deception and demote.

Deprecated schemas

SchemaRich result removedStill parsed for AI Overviews?
FAQPage7 May 2026Yes — keep it if you care about AI citations
HowToSeptember 2023Yes — but eligibility lower than competing structured types
QAPageRestricted to forum sitesYes
Sitelinks (manual)n/a (Google generates automatically)n/a

Metaspry flags these as deprecated for rich results, kept for AI parsing rather than just “deprecated, remove” — context matters.

Rich Results eligibility heuristic

For each entity type, Metaspry runs a heuristic that mimics Google’s eligibility check:

  • All required properties present?
  • Content quality signals (length, freshness, completeness)?
  • Conflicting signals (e.g., Product schema but page has no buy button)?

The audit shows a per-entity eligibility verdict: eligible, marginal, not eligible — with the specific reason.

Knowledge Graph linkage

If the schema is Organization or Person, we check whether sameAs includes known Knowledge Graph entity URLs (Wikipedia, Wikidata, official social profiles). When present and verified, this dramatically improves entity-graph reach for AI search.

What you’ll see in the audit

The Audit tab shows a JSON-LD row per detected entity:

  • Type + count
  • Verdict: valid / warnings / errors
  • Click into per-entity drill-down for each property, with spec links and content cross-check results

Differences from Google Rich Results Test

CheckGoogle RRTMetaspry Pro
Syntax / parse errorsYesYes
Required-property checkYesYes
Rich Result eligibilityYes (Google’s list)Yes (mimics, with explainer)
Content matches visible page?NoYes
Per-property error message with spec linkLimitedYes
Knowledge Graph linkage hintNoYes
Deprecated schema context (AI Overview parse)NoYes
Rate-limitedYesNo (local)