Schema

Implementing Schema.org JSON-LD for AI Entity Disambiguation

How to use Schema.org JSON-LD so ChatGPT and Claude connect your brand, domain and products to one entity, with a minimal example and validation steps.

5 min read · Updated October 2026

JSON-LD is how you tell a machine that your brand name, your domain and your product are one thing rather than three coincidences. Without it, a model has to infer that the string in your <title> is the same entity as your domain. Structured data removes the guesswork.

What problem does JSON-LD solve for AI engines?

Entity disambiguation. If your product is called Northwind and there is also a film studio called Northwind, an AI system has no reliable way to attribute a mention to you. Organization markup with a stable @id, a canonical url and a sameAs list gives it the joins it needs.

Which schema types matter most for GEO?

  • Organization — anchors your brand as an entity. The single highest-value node.
  • WebSite — ties the domain to that entity.
  • SoftwareApplication or Product — describes what you actually sell.
  • FAQPage — pairs questions with answers. Only use it where the same Q&A is visible on the page.
  • Article — signals authorship and dates on editorial pages.

How do I connect multiple nodes into one entity?

Use a single @graph and give every node an @id. Other nodes then reference those identifiers instead of repeating the data. This is what turns separate snippets into one coherent entity description.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://your-domain.com/#organization",
      "name": "Your Brand Name",
      "url": "https://your-domain.com",
      "logo": "https://your-domain.com/logo.png",
      "sameAs": [
        "https://x.com/yourhandle",
        "https://github.com/you/repo"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://your-domain.com/#website",
      "url": "https://your-domain.com",
      "name": "Your Brand Name",
      "publisher": { "@id": "https://your-domain.com/#organization" }
    }
  ]
}
</script>

The detail that gets skipped: the name must be identical across your <title>, your <h1>, your llms.txt and this markup. Three different names on one page defeats the purpose entirely.

How do I validate the markup?

  1. Run the URL through the Schema.org validator. Zero errors is the bar.
  2. Confirm the node types you intended are actually detected — not just that nothing errored.
  3. Check the rendered HTML source, not the editor. Client-side rendering can drop the script from the initial response.

Note that Google has narrowed FAQ rich results to a small set of sites, so low FAQPage eligibility does not mean the markup is useless — generative engines still parse it. See also optimizing headings for direct AI citation.

Questions about entity markup

Which schema types matter most?

Organization and WebSite. They are what let a model bind your brand name, your domain and your product to a single entity instead of guessing whether three separate strings mean the same thing.

What does sameAs actually do?

It names the profiles that are the same entity elsewhere, which is what turns a string into a resolved entity. A link to an empty or abandoned profile is worse than no link at all.

How do I validate the markup?

Paste it into a structured data validator and check two things: every node has a stable @id, and the properties its type requires are present rather than merely intended.

Evidence and sources

Adding source citations produced the largest measured visibility gain for low-ranking sites, at +115%, ahead of the addition of expert quotations at +41% and statistics at +30-40%, across the strategies tested on generative engines. — Generative Engine Optimization, KDD 2024

The weighting this site uses follows that measurement, which is why citability and evidence carry 11% while the AI context file dimension carries 5%. The full weighting, and the parts of the picture a single-URL scan cannot see, are on the methodology page.

Primary sources