Structured Data
JSON-LD Graph & Duplicate Schema Checker
Most validators check one JSON-LD block against one schema type. Real pages usually ship several blocks at once — Organization, WebSite, WebPage, Article, plugin output — that reference each other by @id. Paste the full page HTML and this tool builds that reference graph and finds what per-type validators cannot: duplicate or conflicting @id values, dangling references that point at nothing, unusual circular chains, misspelled @type names, and two competing primary entities fighting for the same page.
Runs entirely in your browser. Nothing you paste here is sent anywhere except an anonymized usage count.
Paste the whole page source (every <script type="application/ld+json"> block is extracted automatically), or paste raw JSON-LD directly.
What this checks, and how to fix it
Duplicate / conflicting @id. When two nodes share the same @id but hold different data (a different name, logo, or URL), search engines cannot tell which one is authoritative — it is undefined which values win. Give every entity its own unique @id, or make sure duplicates are truly identical copies.
Dangling references. A property like mainEntityOfPage, isPartOf, author or publisher can point at another node purely by {"@id":"..."} instead of repeating its data inline. If that @id is never declared anywhere on the page, the reference resolves to nothing — fix the id, or add the missing node.
Circular chains. A WebPage node pointing at its Article via mainEntity, while the Article points back at the WebPage via mainEntityOfPage/isPartOf, is a completely normal 2-node pattern (shown here as informational). A longer, unusual loop is worth a second look — it usually means a copy-paste mistake between plugin-generated blocks.
Misspelled @type. Schema.org type names are case-sensitive PascalCase strings. "Aricle" or "artikel" instead of "Article" parses as valid JSON but is simply not a real type — search engines silently ignore it. This tool flags near-miss spellings against the real schema.org vocabulary.
Duplicate or competing primary entities. A page should generally have one primary content entity — one Article, one Product, one Recipe. Two Article nodes, or an Article and a Product both untied to each other, forces search engines to guess which one this page is actually about.
This is a structural / cross-block audit, not a per-type field validator — pair it with a dedicated Article, Product, Recipe, Event, FAQ or Local Business schema validator to also check each entity's own required properties.