Updates / Guides
Stable identifiers: what an @id is and why it matters
A page can describe your organisation perfectly and still leave a crawler unsure whether it is the same organisation it saw on the last page. The fix is a stable identifier, and JSON-LD Schema Manager generates one for every entity so you never type it. Here is what it is, the two ways to make one, and the rule that matters.
What an @id is
Every entity your pages describe gets an @id: your organisation, each person, each article, each product. It is a web address that names the entity, and it stays the same on every page that mentions it. An article page says its publisher is https://www.example.com/#organization. So does every other page. A crawler reads a hundred pages and sees one organisation, not a hundred.
Without stable identifiers, every page describes a fresh copy of your organisation, and search engines and answer engines have no way to know they are the same thing. With them, your pages join into one picture of who you are, what you publish, and who works for you.
Two kinds of identifier
JSON-LD Schema Manager generates every @id. You never type one. There are two ways to generate them, and you pick one per entity.
- Auto-generated. The app builds the
@idfrom the page's own address and the type: the article at/articles/plan-a-home-renovation/getshttps://www.example.com/articles/plan-a-home-renovation/#article. Use it for things that belong to one page, such as an article, a product or an event. - Custom pattern. You set a fixed base address, and the app uses it everywhere. Your organisation is
https://www.example.com/#organizationon every page. For things like people, add the page's slug to the pattern, so each person keeps their own identifier wherever they are mentioned.
Things and details
Not everything needs an @id. A thing is something that exists on its own and can be mentioned from more than one place: an organisation, a person, an article. A detail belongs to one thing and makes no sense without it: an address, opening hours, a rating. Details sit inside the entity they describe and share its identity. The app knows which blocks are things and which are details, so you set an @id only where one is needed.
Would you ever want to point at it from another page? Then it is a thing and it needs an @id. If not, it is a detail.
Set it before you publish
An @id is a name, and renaming an entity after search engines have learned it makes it a new entity. Set your patterns first, publish second, and leave them alone. If you must change one, expect the entity's history to start again.
How it reads on the page
Here is an article that points at its author and its publisher. The article's identifier is auto-generated from its page. The author and the publisher use custom patterns, so every page that mentions them points at the same entity.
{
"@type": "Article",
"@id": "https://www.example.com/articles/plan-a-home-renovation/#article",
"author": { "@id": "https://www.example.com/people/alex-smith/#person" },
"publisher": { "@id": "https://www.example.com/#organization" }
}
Every guide here is the short version. The full one, step by step with the screens, is inside the app under Help & guides.

