Common fight
Theme JSON-LD next to an SEO plugin
Some themes print Organization — or a second Product — beside Yoast or Rank Math. The plugin graph looks fine in isolation. The page still has two stories.
What the extra copy looks like
Theme JSON-LD often has no plugin script class and sometimes no @id. We still flatten it next to the plugin @graph. If both claim Organization, that is a collision.
Pick one emitter per type
Keep the plugin you trust for Organization and WebSite, and stop the theme from printing a third copy — or the other way around. We detect. We do not edit theme PHP or disable hooks.
Not a generator
GraphClash will not write a replacement graph or tell Google which node to prefer. Duplicate schema is usually not a ranking penalty; conflicting entities can still weaken rich-result eligibility.
Check a page
Free, no account. Results stay in this browser session.
FAQ
- How do you guess “theme”?
- JSON-LD that does not look like Yoast (yoast-schema-graph, #organization fragments), Rank Math (rank-math-schema, #schema/ ids), or WooCommerce. A node with a type and no @id often reads as theme.
- Can a theme add a third Organization?
- Yes. Two plugins plus a theme copy is a common homepage. Pick one emitter per type.
- Do you read the theme’s microdata?
- No. Only
application/ld+json. Itemprop markup in the header will not show up. - How do people usually silence a plugin type?
- Plugin settings, or the public filters
wpseo_json_ld_output and rank_math/json_ld. GraphClash does not apply those filters for you.
Back to the checker