Free to explore: filter winning sites by DR, traffic and niche  ·  Try the live explorer →

Schema markup: what it does for SEO

JSON-LD structured data in a code editor

The short answer to “what is schema markup in SEO?” is that it is a way of telling search engines what the things on your page are, in a format they agree on. The longer answer involves correcting a myth. Schema is often sold as a ranking boost. It is better understood as a translation layer: it removes ambiguity, and in some cases it makes your result eligible for a richer display. Those are real benefits, but they are not the ones usually promised.

What is schema markup in SEO?

Schema.org’s getting started guide states the problem plainly. Search engines “have a limited understanding of what is being discussed on those pages.” A page about a film shows a title, a director’s name and a date, but to a crawler those are strings of text. The markup labels them, so the engine knows which string is the title and which is the director.

The stated purpose is to “help search engines and other applications better understand your content and display it in a useful, relevant way.” Note the two halves: understand, then display. Understanding comes first. Display is a possible consequence, not an automatic one.

A recipe result with a rating in search

The vocabulary is shared because the search engines built it together. Schema.org was founded by Google, Microsoft, Yandex and Yahoo!, so one set of types and properties works across all of them. You do not need to write separate markup for each engine.

How schema markup works

Schema.org’s guide teaches the basics using microdata, which adds attributes directly to your existing HTML. Three attributes do most of the work.

AttributeWhat it doesExample value
itemscopeMarks a block of HTML as being about one itemNo value; it is a flag
itemtypeSays what kind of item it ishttps://schema.org/Movie
itempropLabels a property of that itemname, director

In practice that looks like this, with the markup wrapped around text that is already on the page:

A rich results test showing detected items

Microdata is not the only format. Schema.org’s examples also show RDFa, another set of inline attributes, and JSON-LD, which keeps the markup in a separate block of JSON rather than mixing it into the HTML. The vocabulary is the same in all three. JSON-LD is the format most SEO plugins write, because it can be generated from a template without touching the visible page.

What schema markup does for SEO, and what it does not

Google’s documentation on the visual elements of search results says that rich attributes, such as review stars, prices or event dates, are typically powered by structured data you provide. That is the main, visible payoff. A recipe can show its rating, a product its price and stock, an event its dates.

A product page showing price and stock

Two claims go further than the evidence, and both are common.

  • “Schema is a ranking factor.” Nothing in the sources above says so. Schema helps a search engine understand a page. That may help it match the page to the right queries, but it is not a lever that pushes a page up the results.
  • “Add schema and you get rich results.” Markup makes a page eligible. Whether the enhanced result appears is the search engine’s decision, and it can change by query.

The honest pitch is narrower. Schema reduces ambiguity, and it is the route to rich results for page types that support them. If those rich results earn more clicks, that is where the benefit shows, in click-through rather than position. Our post on SERP features covers which result types take clicks from the standard listings.

An FAQ section on a web page

How to add schema markup

Start with the types that match what your pages genuinely are. A shop needs product markup. A recipe site needs recipe markup. A publisher needs article markup, and a site with an events calendar needs event markup. Marking up content that is not on the page, or labelling a page as something it is not, defeats the purpose: the whole point is accuracy.

  1. Pick the type. Find the closest schema.org type for each page template.
  2. Choose a format. JSON-LD is usually simplest to maintain, because it sits apart from the visible HTML.
  3. Add it at the template level. One product template marked up well covers every product page.
  4. Test it. Run a sample of pages through a structured data testing tool and confirm the detected items are the ones you intended.

Do not try to mark up everything at once. A site with a handful of templates can cover most of its pages by doing the product, article or recipe template properly, then adding organisation and breadcrumb markup site-wide. Edge cases can wait until the core templates are correct and tested.

An event listing with dates

Schema also supports entity work. Describing your organisation, authors and the topics you cover in consistent markup helps search engines connect the dots between pages, which is the subject of our guide to entity SEO. Breadcrumbs are one of the simplest places to start; see are breadcrumbs important for SEO for how breadcrumb markup works.

Keeping markup accurate

The most common failure is drift. Markup is added once, at launch, and the page changes underneath it. A price updates in the visible page but not in the JSON-LD. An event date moves. An FAQ section is edited and the markup still describes the old questions. The markup then disagrees with the page, which is the opposite of what it is for.

Plugins create a quieter version of the same problem. Install two SEO plugins, or a plugin and a theme that both output markup, and a single page can end up describing itself twice, sometimes with different types. Before adding anything, view the source of a few templates and list what is already there. Removing a duplicate block is often more useful than adding a new one.

Generating markup from the same data that renders the page solves most of this. If the price in the template and the price in the schema come from one field, they cannot disagree. Hand-written blocks pasted into individual pages are where drift starts.

A developer adding markup to a template

There is a limitation worth stating. You cannot easily measure what schema did for you. Rich results appear for some queries and not others, the search engine decides when to show them, and there is no clean control group. A before-and-after comparison of click-through on the affected pages is the closest thing to evidence, and seasonal shifts will muddy it. Treat schema as correct practice for the right page types, not as an experiment that should prove itself in a week. Our technical SEO checklist shows where it fits among the other on-page checks.

Frequently asked questions

Is schema markup a ranking factor?

It is not presented as one. Schema helps search engines understand a page and can make it eligible for rich results, which may affect clicks rather than position.

Does schema markup guarantee rich results?

No. Markup makes a page eligible. The search engine decides whether to show an enhanced result, and that can vary by query.

Which schema format should I use?

Schema.org’s examples show microdata, RDFa and JSON-LD. The vocabulary is the same in each. JSON-LD is usually easiest to maintain because it sits apart from the visible HTML.

Who created schema.org?

Google, Microsoft, Yandex and Yahoo! founded it, so one vocabulary works across their search engines.

The takeaway Schema markup labels what your content is. It helps understanding and can make the right page types eligible for rich results; it does not lift rankings by itself or guarantee a display.