Glossary

What is Schema markup?

Schema markup is machine-readable structured data — usually JSON-LD in a script tag — that states explicitly what a page is about: that this is an article, that this is its author, that these are its questions and answers.

Why it matters

Search engines and AI systems can infer much of this from the page text, but inference is lossy and inconsistent. Structured data replaces a guess with a declaration, which is what makes rich results possible and what lets an engine reconcile the same entity across pages — recognising that the organisation publishing this article is the same one described on the about page.

How it works in practice

The mechanism worth understanding is the `@id`. Every entity in a graph can carry a stable identifier, and nodes that share one are understood to be the same thing. Getting this wrong is the most common serious error: an Organization declared as `https://example.com#organization` on one page and `https://example.com/#organization` on another is two separate brands as far as the engine is concerned, and the authority that should accumulate to one is split between them.

Schema must describe what the page actually shows. Google requires the questions and answers in FAQPage markup to be visible on the page, and asserting a rating, an author, or a date the page does not display is a policy violation that risks manual action. Structured data is a claim about the page, not a place to make additional claims.

More markup is not better markup. Emitting the same entity from several script tags — a common accident when a plugin and a theme both inject schema — produces conflicting definitions under one identifier and is worse than emitting nothing. One page should carry one coherent graph.

Also called: structured data, JSON-LD, schema.org.

Related terms

See how RankForGEO handles this in the product guide.