Entities & Knowledge Graphs

@id (Schema Node Identifier)

In short@id is the JSON-LD property that gives an entity in your structured data a unique, stable identifier, so every page can refer to the same entity.

Updated 24 Oct 2026· 2 min read

@id is a JSON-LD keyword that gives an entity in your structured data a unique, stable identifier, usually a URL. Every time the same entity is mentioned anywhere in your markup, you use the same @id. That turns dozens of separate, loosely matching declarations into one connected entity graph. MLforSEO calls it the single most important technical element of structured data for entity recognition, and the one most teams skip.

How it works

@id comes from the JSON-LD and RDF specifications, where it identifies a node in a graph. In Schema.org markup it looks like this:

  • “@type”: “Organization”, “@id”: “https://acmecorp.com/#organization”, “name”: “Acme Corp”

The URI does not have to resolve to a real page, although it often points to one with a fragment such as #organization. What matters is that it is unique to the entity and never changes. Other entities can then refer to it instead of repeating it: a Person’s worksFor, a Product’s brand and an Article’s publisher all point to {“@id”: “https://acmecorp.com/#organization”}.

Without @id, a crawler sees fifty Organization blocks that happen to share a name and has to infer they are the same company. If one says founded 2018 and another 2017, it has no way to know which is canonical, and confidence in the entity drops. With @id, it sees one entity referenced fifty times.

@id works inward, inside your own site’s graph. sameAs works outward, linking the entity to its profiles on other sites. Strong implementations use both.

How it’s used in SEO and marketing

  • Building a site-wide entity graph: Organization, WebSite, people, products and articles connected by @id references.
  • Consistency audits: check that the same entity uses exactly the same @id on every page, and that it doesn’t change during redesigns or plugin swaps.
  • Entity relationship mapping: express founder, employee, brand and publisher relationships as links between nodes.
  • Supporting AI systems that need a confident, consistent picture of your entities before citing them.

Example

A blog’s author box, about page and every article footer each output their own Person block for the founder. The audit replaces them with one full Person node on the about page (@id https://example.com/about/#jane-smith) and short references everywhere else. The Article markup now says author: {“@id”: “https://example.com/about/#jane-smith”}, and the founder becomes one entity with one set of facts.

Limitations and things to watch

  • Changing @id values breaks continuity, so choose a pattern once and document it.
  • Different plugins can output conflicting @id patterns for the same entity; check rendered markup, not just settings.
  • @id does not show up in rich result previews and is easy to drop without anyone noticing.
  • It organises your claims; it does not make inconsistent facts consistent. Fix the facts as well.

Learn it on MLforSEO

Sources and further reading

Other terms from Entities & Knowledge Graphs

See all 22 Entities & Knowledge Graphs terms →