Schema markup is not new, but it is not yet fully adopted either.
Webmasters and site designers may find it too complex or tedious to build into new sites or add to existing sites. However, Schema offers such advantages that it deserves a second look. Let's examine it in this post.
What is Schema?
Schema is a system of markups that can be embedded into a site’s HTML code to provide search engines a clearer picture of data on a web page. You could think of Schema markup as adjectives added to describe existing nouns, or as labels explaining what’s on a page. Schema allows search engines to decipher page elements at a more granular level. This makes the search engine’s job easier, increases its reliability and helps it deliver your audience to your site.
Website owners benefit from better-targeted search results. The more detail a search engine can glean about the content on a page, the more effectively it can match results to search queries and businesses to potential customers. Schema markups also allow search engines to provide rich snippets in search results.
Schema was developed jointly by Google, Microsoft, Bing and Yandex. By standardizing the markup, these companies hoped to encourage more sites to utilize Schema in their HTML. They selected the microdata format over RDFa and microformats, because microdata offers a good balance of functionality and usability.
Elements of Schema
There are three basic elements in a Schema markup — itemscope, itemtype and itemprop.
Itemscope is at the top of the hierarchy. It marks the data within a particular <div> as related. In this example, itemscope tells the search engine that a movie’s title, year, genre and director, and a link to its trailer, belong together — that is, they describe the same movie.
In short, the itemscope attribute, inserted within the <div> tag, tells search engines to treat information within the <div> as related. Itemtype identifies the type of entity described in the <div>. In the example, it marks the information as describing a movie, as defined in the schema.org type hierarchy. Item types are URLs. The full hierarchy is at schema.org/docs/full.html.
Itemprop identifies specific details about the thing described in the <div>, using properties defined in the schema.org hierarchy. For a movie, half a dozen properties are defined, and a movie also inherits dozens of properties from higher levels in the hierarchy — such as author, date published, editor, genre and publisher from “CreativeWork.”
Like HTML, Schema has its own protocol and vocabulary. See the Schema.org full hierarchy for a more complete picture and for details about specific terms.
Keeping in mind that Schema exists to help machines understand things that are generally clear to humans, you won’t be surprised that there are more possibilities, including the following.
Dates can be ambiguous even to humans, because there are different formats and conventions in different countries. Search engines may struggle even more. Use of the <time> tag with a datetime attribute, with the latter’s reliable YYYY-MM-DD format (or, if the time is included, YYYY-MM-DDTHH:MM, where the “T” separates the date and the time), removes all ambiguity.
Durations can be ambiguous to search engines. If the length of a meeting — perhaps a BusinessEvent, as defined in the hierarchy — is 1½ hours, it can be marked up as in the next example. (P, for “period,” begins a duration.)
Schema also includes lists of possible values for common enumerations (items with fixed lists of possible values). For example, product availability has these values defined: Discontinued, InStock, InStoreOnly, LimitedAvailability, OnlineOnly, OutOfStock, PreOrder and SoldOut.
Implied or missing content — which may be visible in a graphic to the human eye, but not visible to a search engine’s crawler — can be handled with the <meta> tag. For example, if a graphic at a movie review site awards a film 3½ of 4 possible stars, Schema allows that information to be added for search engines, which cannot read the graphic.
The best practice is to use the <meta> tag only for content that is visible to a human reader, not for hidden text and only for information which cannot otherwise be marked up.
How Much Schema Do You Need? And How Much Do You Need It?
You may not need to mark up every bit of data on every page of your site. Remember that Schema exists to make information comprehensible to search engines, which then deliver it to your audience. If something on your site is not visible or important to your audience, don’t mark it up. If a search engine understanding something at your site will not help your audience to find you, don’t mark up that thing.
It’s important to remember that you can mark up multiple items on a single page — and you probably want to. Lists of URLs or products should have each item marked up individually, as should relevant embedded items, pieces of text and other content.
Schema is designed to help search engines help people find you. If you need that traffic, you need Schema. And if you need a competitive advantage, consider the added benefit you might enjoy by being the first in your business space — or even almost the first — to leverage the power of Schema.
Along the way, if you need something that isn’t already in Schema, you can add it with the Extension Mechanism (schema.org/docs/extension.html).