Common fight
Two graphs. Same type. Different @id.
Repeated JSON-LD deserves review when two emitters describe the same entity. Sharing the same @type with different identifiers is not enough to prove a conflict. Distinct products, organizations, and articles can legitimately share a type.
What we mean by collision
Yoast prints https://example.com/#organization. Rank Math prints something like /#schema/Organization. A theme can add a third node with no @id at all. To a consumer those are separate entities, even when the visible name is the same.
Valid is not the same as alone
Google’s Rich Results Test checks supported rich-result markup. GraphClash lists readable declarations and best-guess emitters so you can compare identity and values across each application/ld+json graph and lists the competing ids.
Pick one emitter per type
First confirm that the declarations describe the same entity. If values conflict, choose the source that matches the visible page and correct or disable the redundant declaration in staging. Keep legitimate separate entities. GraphClash does not change your site.
Check a page
Free, no account. Results stay in this browser session.
FAQ
- Is a collision a Google penalty?
- Usually not. Overlapping JSON-LD is not a ranking penalty in the way people mean that word. Conflicting entities can still weaken rich-result eligibility because the consumer has to pick a story.
- What types do you watch?
- Organization, WebSite, WebPage, Article, Product, FAQPage, and BreadcrumbList. We flag conflicting names or logos when declarations share the same @id; distinct organizations may be valid.
- How is this different from Rich Results Test?
- Google’s test checks supported rich-result markup. We ask whether two emitters are fighting on the same page. A page can pass the test and still carry two Organization nodes.
- How do people usually turn a type off?
- In the plugin you are not using as the source of truth — or with the public filters
wpseo_json_ld_output (Yoast) and rank_math/json_ld (Rank Math). GraphClash only detects. It does not ship a functions.php patch or change settings.
Back to the checker