Structured data is used to help search engines better understand the content of your page. Search engines are great at measuring the technical parameters of your page, like speed and mobile optimization. They are also pretty good at identifying the type of the page and its main topic. But, when it comes to the specifics, to the meaning of smaller content elements, search engines could use a little help.
That's where Schema markup comes in. Simply speaking, Schema is a collection of standardized tags that can be used to describe various page elements. Without markup, search engines would perceive these elements as plain bits of code. With markup, these bits of code can be interpreted as company logos, reviews, contact details, recipes, job listings, and thousands of other types of content. Schema markup infuses your page with meaning and increases its value in the eyes of search engines.
What is structured data, exactly?
Structured data is a standardized way of describing page elements to search engines. The descriptions are added to the code of the page in the form of tags. The tags are created using specific vocabulary (words) and syntax (grammar).
There are several different vocabularies, e.g. Schema.org and Microformats.org, as well as several different syntaxes, e.g. JSON-LD and Microdata, that can be used for structured data. Although over the years the combination of Schema.org vocabulary and JSON-LD syntax has become the golden standard for describing page elements:
"name": "Party Coffee Cake"
Above is an example of using structured data to describe a recipe page. The description is contained within the <script> tag and highlighted in green:
The first line defines the syntax — JSON-LD
The second line defines the vocabulary — Schema.org
The third line is the type of markup — Recipe
The fourth line is the recipe property, its name — Party Coffee Cake
There can be any number of additional lines defining more properties, like ingredients, cooking time, reviews, and authors, and so forth.
All you have to do to apply structured data to your page is add this block of code to your HTML file. The only challenges here are learning about different types of markup and applying them at scale, e.g. if you have a huge website, but the code itself is fairly intuitive.
Why use structured data on your website?
Increasingly, structured data becomes an integral part of search optimization. More and more SERP real estate is given to rich and featured snippets, and using structured data enables you to compete for these positions. Here are the two primary reasons to consider applying structured data to your pages:
Enhanced search results
Most immediately, applying Schema markup enhances your appearance in search results. Proper use of Schema will turn your regular snippets into rich snippets, as well as make your pages eligible for a featured snippet position at the top of SERP.
Below is an example of what happens when you apply Schema markup to product pages. Right in the SERP, a user can see a number of additional product features, like the fit, best use, price, and rating:
Here is another example of applying Schema markup, this time to recipe pages. In this case, Schema has elevated a number of search results into a featured snippet box at the top of SERP. As before, results are complete with all kinds of additional information, like cooking time, ingredients, and reviews:
And here is what happens when you apply news article Schema to your recent posts — you become eligible for the Top Stories snippet. Although this one actually takes a little bit more than just Schema, which we will talk about some other time.
For the final example, let's take a look at a much more interactive piece of markup — job posting Schema. Using this type of markup allows your job posting to be listed directly in SERP, with key details and an application link available upon click:
The examples above are just a small part of the Schema markup collection — there are hundreds of types of Schema available, each containing dozens of tags. There is hardly a type of website that wouldn't be able to take advantage of Schema and enhance their search results in one way or another.
The other benefit of using structured data goes beyond the aesthetics and deeper into the search algorithm. When you use markup to describe page elements, you create entities and reinforce entity associations, which might increase your website's relevance for certain types of searches.
A simple example would be applying local business markup. You can use the tags to describe your company's address, zip code, and phone number, as well as other local markers, and it will establish your website in a certain location. So, next time someone enters a locally-oriented query, you will be more likely to appear in search results.
A more complicated example would include using organization, person, and author markup to tie entities mentioned on your website to their profiles elsewhere. For example, if John Smith is one of your writers, you can use the sameAs property to tie his mentions on your website to his social accounts and profiles on other websites. In theory, this will give more gravity to your website and increase its authority.
When to use Schema markup?
The urgency of implementing schema depends on the type of website you own and its current level of search optimization.
For some websites, structured data is absolutely essential — they will not be able to rank their pages without it. One example would be a cooking website because whenever you google a recipe, there is not a single non-Schema result in SERP. Another example would be a local business, where Schema can help to reinforce your appearance in local search results. These types of websites need to make Schema a priority.
For other websites, Schema is more of a bonus that may or may not influence their rankings. These types of websites should focus their optimization effort on technical and on-page SEO — make sure there is a solid base for promoting a website. And, once they are done, move onto extracurricular optimization, like off-page SEO and structured data.
How to implement structured data markup?
Applying Schema markup can get a little too complicated, especially if you have to scale things up across a big website with many different types of content. But a limited application of a few types of Schema can well be managed by a person with no technical background. Especially since there are a number of tools that can automate most of the process.
1. Choose your Schema
First, you have to decide on what types of Schema you are going to use on your website. Remember that Schema types have to fit within the general theme of your website and be aligned with searcher intent. Don't force Schema onto your pages just because it's popular — only use those types that are likely to appear for your queries naturally.
For this step, visit Schema.org and study available types of markup. Start with some of the most common ones:
- Local Business
- Creative Work
- Music Recording
- TV Series
2. Organize your workflow
Set up a system for keeping track of your markup progress. The most basic way to do it is to create an excel sheet, list those pages that require markup, match them to the type of markup required, and set to work:
3. Launch the markup tool
There are quite a few free markup tools available today, including WordPress plugins like Yoast or Schema, but for this example let's use my personal favorite — Structured Data Markup Helper. It's an easy-to-use tool that guides you through the whole process.
Launch Structured Data Markup Helper, select the relevant schema, and enter a URL from the spreadsheet that you created in the previous step. Click Start Tagging.
4. Tag page elements
Highlight page elements and assign Schema tags to them. You can add missing tags if the ones you need are not on the list — just click the Add missing tags button.
5. Save the HTML file
When you are done tagging page elements, click Create HTML and select JSON-LD from the dropdown menu. Copy the code and paste it into the <head> or <body> tags in the HTML code of the respective page on your website.
6. Test the markup
Visit the Structured Data Testing Tool and enter the URL of the page you want to test. The tool displays all the marked-up data and provides information about errors and warnings.
Alternatively, you can test your markup using the Rich Result Test. It is currently still in beta, but it's a much more user-friendly tool, with a cute interface and a bunch of additional features, like snippet previews and the ability to choose a test device:
7. Monitor markup enhancements
Log in to Google's Search Console, go to Enhancements, and check the health of various types of data markup applied to your pages. In case any errors are detected, you will be provided with exact error locations and some guidance on how to fix them.
On top of tracking the technical health of your markup, you can now also use the Search Console to track its performance in search results. Go to Performance > Search results > SEARCH APPEARANCE and see the summary of clicks and impressions for enhanced search results. At the top of the page, you can also click NEW and apply a search appearance filter to see the performance of enhanced search results over time.
How long till you see enhancements in search?
The rich snippets will not be displayed in search before Google re-crawls the website. Keep in mind, there's no guarantee that your structured data will show up in search results even if the structured data is marked up and can be extracted successfully according to the testing tool. These are the most common reasons:
- Using structured data enables a feature to be present, it does not guarantee that it will be present. The Google algorithm tailors search results to create what it thinks is the best search experience for a user, depending on many variables, including search history, location, and device type. In some cases, it may determine that one feature is more appropriate than another, or even that a plain blue link is best.
- The structured data is not representative of the main content of the page or is potentially misleading.
- The structured data is incorrect in a way that the testing tool was not able to catch.
- The content referred to by the structured data is hidden from the user.
To put it simply, don't try to trick Google. Worst-case scenario — your website may be penalized for the improper use of the structured data. There are cases when Google took manual actions against websites. The penalty message typically reads like this:
"Markup on some pages on this site appears to use techniques such as marking up content that is invisible to users, marking up irrelevant or misleading content, and/or other manipulative behavior that violates Google's Rich Snippet Quality guidelines."
Or like this:
For additional best practices and recommendations, read the Introduction to Structured Data by Google.
I've mentioned a number of resources throughout this article, let's pull all of them together so that you have a quick cheat sheet:
A full collection of structured data types.
Structured data types used by Google
A selection of only those markup types that are currently used by Google.
General structured data guidelines
Google's advice on what to do and, especially, what not to do when applying schema markup.
Structured Data Markup Helper
A guided, easy-to-use markup tool from Google.
Structured Data Testing Tool
The old Google tool for testing structured data.
Rich Result Test
The new Google tool for testing rich snippets.
A dashboard for monitoring markup enhancements throughout your entire website.
Structured Data Codelab
Google's one-hour course on applying Schema markup manually.
Google's Search Gallery
A collection of rich snippet types, for inspiration purposes.
Structured data is one of the more exciting topics in SEO, it is a huge step forward in the way websites and search engines communicate with each other. And what's even more exciting is that it is severely underutilized by webmasters. So it is still an easy way to gain a competitive edge if you are willing to put in the effort.
I think the big secret here is that structured data looks complicated on the surface, but is actually fairly easy to implement, especially with all the tools that are there to help you out. I hope that my article will inspire you to give it a try, but, in case I have missed some crucial information, don't hesitate to shoot me a question in the comment section below.