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.

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

  • Structured data

    Structured data is code in a standard format that describes a page’s content to search engines, making it eligible for rich results.

  • JSON-LD

    JSON-LD is a JSON-based format for structured data, placed in a script tag. It is the format Google recommends for schema markup.

  • Rich results

    Rich results are Google search results with extra visual features, such as star ratings, prices or event dates, usually powered by structured data.

  • Rich snippets

    Rich snippets are search results enhanced with extra details, such as review stars, prices or cooking times, usually from structured data.

  • LocalBusiness schema

    LocalBusiness schema is structured data that describes a business’s name, address, phone, hours and more in a format search engines can read.

  • Breadcrumbs

    Breadcrumbs are a row of links showing where a page sits in a site’s hierarchy, such as Home > Shoes > Running. They help users and search engines.

  • Entity

    An entity is a distinct, identifiable thing, such as a person, place, organisation or product, that search engines and AI models recognise.

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.