Structured dataBeginner

Schema.org

Schema.org is the shared vocabulary of types and properties that search engines use to read structured data about pages, products, people and organizations.

Also called: Schema.org vocabulary, Schema vocabulary

Schema.org is a collaborative project, founded in 2011 by Google, Microsoft, Yahoo and Yandex, that publishes a common vocabulary for describing things on the web. It defines types such as Organization, Product and Article, and the properties each type can carry, such as name, price or author. When SEOs talk about adding schema to a page, they almost always mean marking content up with Schema.org terms in JSON-LD.

Types, properties and the hierarchy

The vocabulary is a hierarchy. Everything descends from Thing, which has properties like name, description, url and sameAs. Below it sit broad types such as CreativeWork, Organization, Person, Place, Event and Product, and each of those has more specific children. BlogPosting is a kind of SocialMediaPosting, which is a kind of Article, which is a kind of CreativeWork. A child type inherits every property of its parents.

Properties expect particular value types. The author property expects a Person or Organization, offers expects an Offer, and dates expect ISO 8601 strings. Getting these expected types right is most of what separates clean markup from markup that validators flag.

Schema.org versus what Google supports

Schema.org has hundreds of types, and new ones are proposed and added in numbered releases. Search engines use only a subset. Google documents the types it uses for rich results in its Search Gallery, along with required and recommended properties, and those requirements are often stricter than the vocabulary itself. A page can be perfectly valid Schema.org and still not qualify for any Google feature.

Types outside Google's list are not wasted. They can still help any parser understand the page, but you should not expect a visible change in search results from them.

Formats that carry the vocabulary

Schema.org is a vocabulary, not a syntax. It can be written in JSON-LD, Microdata or RDFa. Google supports all three and recommends JSON-LD because it sits in one script block and is easier to maintain.

  • JSON-LD: a script block, separate from the visible HTML
  • Microdata: itemscope, itemtype and itemprop attributes on HTML elements
  • RDFa: vocab, typeof and property attributes on HTML elements

Example

Picking types for a SaaS marketing site

A scheduling SaaS, Tidewicket, maps its templates to Schema.org types: Organization and WebSite on the homepage, SoftwareApplication on the product page, BlogPosting on articles, BreadcrumbList sitewide, and Person on author pages. It checks Google's Search Gallery for each type to see which properties are required for a rich result and which are only recommended.

Common mistakes

Inventing types or properties

Only terms defined on schema.org are understood. A property like "pricingTier" that does not exist in the vocabulary is ignored, and validators will flag it.

Assuming every type earns a rich result

Most Schema.org types have no Google search feature. Check the Search Gallery before promising stakeholders a visual change.

Questions

A steering group and community working through the Schema.org project and a W3C community group. Changes ship in versioned releases listed on the site.

Structured data is the general practice of describing content in a machine-readable way. Schema.org is the vocabulary most commonly used to do it for search engines.

Know the terms. Now win the searches.

We find the searches your buyers make, then build, publish and improve the pages that win them.