Skip to content

Schema markup

Also called schema.org, schema, schema.org markup

What is schema markup?

Schema markup is structured data that uses the schema.org vocabulary to describe the things on a page, such as a product, an article, a recipe, an event or a local business, in a form search engines can read. It is usually written as JSON-LD. Google, Microsoft (Bing) and Yahoo launched schema.org in 2011, and Yandex joined later that year.

A blue interface with icons for a package, document, and storefront, visualizing how Schema markup organizes information.

Schema.org is organised as types with properties. Types form a hierarchy: LocalBusiness is a kind of Organization, which is a kind of Thing. Properties can hold text, numbers, dates or other types, so a Product has an offers property holding an Offer, which has its own price and priceCurrency.

Schema.org defines hundreds of types, but Google only uses a subset for rich results, each with its own required properties. Markup outside that subset is still valid and can help search engines understand the page; it just will not produce a special result in Google.

Why schema markup matters for SEO

Schema markup is how pages qualify for rich results, such as product prices and availability, review stars, event dates and breadcrumbs in place of the URL. Those results stand out on the SERP and can earn more clicks.

It also makes entities explicit. Organization markup with sameAs links to your official profiles, and author markup with a profile URL, help search engines connect your pages to the right business and people.

How to add schema markup

  1. Choose the most specific type that fits: Product, not Thing; Restaurant, not just LocalBusiness.
  2. Fill in Google’s required properties for that type, then as many recommended ones as you can support accurately.
  3. Write it as JSON-LD in a <script type="application/ld+json"> block, generated from the same data that renders the page.
  4. Keep it truthful: every value must match what users see on the page. Fake or hidden review markup is structured data spam.
  5. Test in the Rich Results Test, then monitor the enhancement reports in Search Console.

Schema markup example

JSON-LD (Product)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trail running shoe",
  "image": "https://www.example.com/images/trail-shoe.jpg",
  "description": "Lightweight trail shoe with a grippy outsole.",
  "sku": "TRS-042",
  "brand": { "@type": "Brand", "name": "Example" },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/shoes/trail-running-shoe",
    "price": "89.99",
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Schema markup FAQ

Does schema markup help SEO?

It does not raise rankings directly, but it makes pages eligible for rich results, which can improve click-through rate, and it helps search engines understand your content.

Which schema types should I use?

Use the types that match your content and that Google supports in its Search Gallery: often Organization, BreadcrumbList, Article, Product and LocalBusiness. Don’t add types that do not describe what is on the page.

Related SEO terms

Back to the SEO glossary

Put the terms to work

Every term here is something OpenSEO measures. It is open source: start online in a minute, or run it on your own server.