Schema.org is a col­lab­or­at­ive project between the search engine providers Google, Microsoft, Yahoo and Yandex. The goal of the ini­ti­at­ive is to stand­ard­ise semantic an­nota­tion for website markup. Its af­fil­i­ated website contains the Schema.org markup: a com­pre­hens­ive vocab­u­lary that allows ad­di­tion­al in­form­a­tion to be entered in HTML code. This machine-readable content makes it possible for semantic contexts to then be read out by programs like web crawlers. This concept, known as struc­tured data, comprises the basis of the semantic web. Schema.org’s markup language supports the formats RDFa, Microdata, and JSON-LD.

Three reasons for Schema.org

Struc­tured data is becoming more and more important for web owners. Unlike human visitors, computer programs need a cor­res­pond­ing markup language in order to process a website’s semantic contexts. Struc­tured data plays a crucial rule when it comes to indexing, but website owners can also benefit from semantic notation. Content that is labeled in a unified matter enables search engines to tar­getedly extract in­form­a­tion and display this in their own formats on search engine result pages (SERPs). The most important aspect for this process is a feature called Rich Snippets. This name refers to the bits of in­form­a­tion that expand search results, gen­er­at­ing more attention in the process. In order to guarantee uni­form­ity for these semantic an­nota­tions (which use many different data types), Schema.org supplies users with stand­ard­ised schemata, known as ‘types’. These types have the ability to then be further defined with a specified set of ‘prop­er­ties’. Website owners have three major ad­vant­ages when they use Schema.org’s markup.

  • Stand­ard­isa­tion: Schema.org’s markup is based on an agreement between the world’s largest search engine providers. Content that is annotated according to Schema.org is es­sen­tially being labeled with a markup that is largely con­sidered to be today’s de facto standard.
  • Com­pat­ib­il­ity: stand­ard­ised types and support from the most commonly used data formats–RDFa, Microdata, and JSON-LD –help ensure for maximum com­pat­ib­il­ity of semantic an­nota­tion. Content marked up according to Schema.org is ready to be processed by the internets most common web clients.
  • Val­id­a­tion: a unified standard offers the advantage of quick, un­com­plic­ated error analyses. Tagging according to Schema.org with Microdata, RDFa, and JSON-LD can be easily validated with Google’s free struc­tured data testing tool.

Schema.org type hier­arch­ies

Schema.org’s markup is a system composed of types and prop­er­ties. While types are able to assign content elements in order to label these entities as clearly defined items, prop­er­ties are used to further define these types with certain values. Schema.org provides a hier­arch­ic­ally struc­tured set of types spe­cific­ally for this purpose; the site also lays out which prop­er­ties are able to be assigned to which types.

The spectrum of types that items can be assigned to ranges from broadly defined defin­i­tions, like ‘Thing’, to more specified types, like ‘Movie’. Each type, with the exception of the un­spe­cified category, ‘Thing’, has one or more parent types.

Thing > Cre­at­ive­Work > Movie

While ‘Thing’ labels an un­spe­cif­ic item, the type, ‘Cre­at­ive­Work’ labels a more specific aspect related to the category its name describes (e.g. books, pho­to­graphy, or movies). The type, ‘Movie’, is a sub­cat­egory of the type ‘Cre­at­ive­Work’, which in turn is a sub­cat­egory of ‘Thing’. This hierarchy shows that specific types are inherent to the prop­er­ties of their parent types. An item labeled as ‘Movie’ can be paired with the specific prop­er­ties of a given movie: movies have actors, directors, trailers, etc. These are all pos­sib­il­it­ies for further defining ‘Movie’.

Prop­er­ties of the parent type ‘Cre­at­ive­Work’ also apply to the type ‘Movie’. Like all forms of storytelling, movies have an author, a genre, and reviews. The type ‘Movie’ also receives the prop­er­ties of the parent type ‘Thing’: name, de­scrip­tion, URL, and image. All prop­er­ties can be labeled with in­di­vidu­al values according to the item that’s been assigned to them.

Types and prop­er­ties defined on Schema.org are equally used by RDFa, Microdata, and JSON-LD. However, the way in which the markup is in­cor­por­ated into a website varies greatly depending on which data format is used.

Choosing a data format

Once you’ve decided to use Schema.org’s markup vocab­u­lary, the next step is to choose a data format. A detailed an­nota­tion de­scrip­tion with RDFa, Microdata, and JSON-LD based on the stand­ard­ised types and prop­er­ties of Schema.org markups is laid out for you in the following articles:

Go to Main Menu