Method

How GraphClash reads a page

Five steps. We only look at JSON-LD. Then we tell you whether two emitters are describing the same entity with different identifiers.

  1. 01

    Paste a public URL

    Any http(s) page you can open without logging in. We do not sign into WordPress or read private admin screens.

  2. 02

    Fetch the HTML

    We request the page and keep the HTML the server returned. No headed browser, no screenshot crawl.

  3. 03

    Extract application/ld+json

    Every JSON-LD script tag is parsed. Microdata and RDFa are ignored. If the only schema on the page is microdata, the report will say so.

  4. 04

    Flatten @graph

    Yoast and Rank Math wrap nodes in an @graph. We unwrap those graphs so Organization, Product, and the other watched types sit side by side.

  5. 05

    Show competing @id and @type

    Same @type with different @id, two Organizations with different names or logos, and a best-guess emitter (Yoast, Rank Math, WooCommerce, or theme). Evidence is the nodes we found, not a score.

Duplicate schema is usually not a ranking penalty. Conflicting entities can still weaken rich-result eligibility because the consumer has to pick a story. Solo and Studio recheck weekly and email when a collision appears or clears.

Try it on a public URL

Free, no account. Results stay in this browser session.

Free. No account. We do not store scans.

FAQ

Do you execute JavaScript?
No. We fetch the HTML. Schema printed only after a client-side render will not appear.
Do you read microdata?
No. Only application/ld+json.
Is the free scan stored?
No. One public URL, shown in this session. Paid weekly watch stores the URL and a result summary, not the page HTML.
Is this a schema generator?
No. GraphClash does not write markup, change plugin settings, or clone Google’s Rich Results Test.

Back to the checker