JSON-LD Schema for AI Search

How to build one connected JSON-LD graph with @id and sameAs, what schema can and cannot do for rich results, and how to check it.

JSON-LD is a way of adding structured data to a web page as a block of JSON inside a script tag, using the schema.org vocabulary to state facts such as who published the page, who wrote it and what the page is about. Google recommends JSON-LD over other structured data formats. For AI search, its main value is removing ambiguity: it tells machines exactly which organisation, person and topic a page refers to.

Where schema.org comes from

Schema.org was launched in 2011 by Google, Microsoft (Bing) and Yahoo, and Yandex joined soon after. It is a shared vocabulary of types (Organization, Person, Article, Product, Service and hundreds more) and properties (name, address, author, datePublished). JSON-LD is one of three formats for writing it, alongside Microdata and RDFa, and it is the easiest to maintain because it sits apart from the visible HTML.

The parts that matter

Keyword What it does
@context Declares the vocabulary, almost always https://schema.org
@type The kind of thing being described, such as Organization or Article
@id A stable identifier (usually a URL with a fragment) that other nodes can point to
@graph A list of several nodes in one block, so they can reference each other
sameAs Links to the same entity on other sites, such as LinkedIn or Wikidata

A connected graph

The common mistake is to add schema piece by piece: an Organization block from one plugin, an Article block from another, author details typed as plain text. The result is several disconnected descriptions. A connected graph uses @id so that each node refers to the others:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://www.example.com/#organization",
      "name": "Example Ltd",
      "url": "https://www.example.com/",
      "sameAs": ["https://www.linkedin.com/company/example"],
      "founder": { "@id": "https://www.example.com/#jane-doe" }
    },
    {
      "@type": "Person",
      "@id": "https://www.example.com/#jane-doe",
      "name": "Jane Doe",
      "worksFor": { "@id": "https://www.example.com/#organization" },
      "sameAs": ["https://www.linkedin.com/in/janedoe"]
    },
    {
      "@type": "Article",
      "headline": "How we cut page load time by half",
      "author": { "@id": "https://www.example.com/#jane-doe" },
      "publisher": { "@id": "https://www.example.com/#organization" },
      "datePublished": "2026-03-10",
      "dateModified": "2026-06-02"
    }
  ]
}

This site uses the same pattern: the Organization node lists both co-founders by @id, and each Person node links back to the Organization and to the founder’s LinkedIn profile.

Rich results versus understanding

Google only shows special search features (rich results) for a limited list of schema types, and it has narrowed that list over time. FAQ rich results have been limited to well-known government and health sites since August 2023, and HowTo rich results are no longer shown. Many schema types never produce a visible feature.

That does not make them useless. Google’s documentation says structured data helps it understand page content, and a clear graph reduces the chance that your company is confused with another of a similar name. How much weight AI assistants give to JSON-LD is not documented by any provider, so we treat it as a clarity measure that supports, but does not replace, clear visible content.

Common problems we find

  • Two Organization nodes with different names or logos, output by a theme and an SEO plugin at the same time
  • Authors given as a plain name string instead of a Person node
  • Schema describing content that is not visible on the page, which goes against Google’s guidelines
  • dateModified updated automatically on every save, including trivial edits
  • FAQPage schema added for rich results that Google no longer shows for most sites

How to check your schema

  1. Google’s Rich Results Test shows which rich results a page qualifies for and any errors.
  2. The Schema Markup Validator at validator.schema.org checks all schema.org types, including those Google does not use for rich results.
  3. View the page source and search for “application/ld+json” to count how many separate blocks exist. More than one Organization node is a warning sign.

Frequently asked questions

Does schema improve rankings?

Google has said structured data is not a general ranking factor. It can make a page eligible for rich results, which can change click-through rates, and it helps search engines understand content.

Do I need an SEO plugin for schema?

No. Plugins such as Yoast and Rank Math generate a graph automatically, which suits most sites. A custom theme can output its own graph, as this one does. What matters is that only one source outputs the core Organization and WebSite nodes.

Related