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.

Free. No account. We do not store scans.

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