What is Schema Markup?
By adding schema markup you give your site an advantage over the competition.
This is because you use schema markup to create big and engaging Google Search results.
In this post, we will look at what is schema markup? Why it is important? And how you can add it to your page.
The topic of schema markup can get complicated fast.
Instead of getting lost in all the schema types. This post will focus on how you can use schema markup to get more Google Search clicks.
Adding schema markup will increase your click-through rate.
Let's dive into what is schema markup and what Google does with this data.
What is Schema Markup?
When you add schema markup to your site you are telling Google what the content is about.
When Google sends Googlebot to your site it reads the content of the page. It then has to try and understand what the page is about. If there is no schema markup then it has to make assumptions.
Schema markup can take away some of this guesswork.
It gives you the chance to tell Google exactly what the content is about and what is on the page.
So how do bots like Googlebot use the schema markup? Let’s look at an example.
Let’s say that you have a frequently asked questions page on your site. There is a schema type called “FAQPage”. By adding the “FAQPage” schema markup we let Googlebot know that this is an FAQ page.
No need for Googlebot to guess, we have made it clear what this page contains.
To add this schema markup to the page we would add a script tag with some JSON inside like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is the return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most unopened items in new condition and returned within <strong>90 days</strong> will receive a refund or exchange. Some items have a modified return policy noted on the receipt or packing slip. Items that are opened or damaged or do not have a receipt may be denied a refund or exchange. Items purchased online or in-store may be returned to any store.<br /><p>Online purchases may be returned via a major parcel carrier. <a href=http://example.com/returns> Click here </a> to initiate a return.</p>"
}
}, {
"@type": "Question",
"name": "How long does it take to process a refund?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We will reimburse you for returned items in the same way you paid for them. For example, any amounts deducted from a gift card will be credited back to a gift card. For returns by mail, once we receive your return, we will process it within 4–5 business days. It may take up to 7 days after we process the return to reflect in your account, depending on your financial institution's processing time."
}
},
...
]
}
</script>
This would change the Google Search results from this:
To this:
Adding this schema markup has doubled the space on the Google search results.
Where does this schema come from?
Google, Microsoft, Yahoo and Yandex came together to create a schema markup standard. They worked on creating a list of schema types that any site can use to define the content.
They created the site schema.org to discuss and document the schemas. These schema definitions are a part of an open community that defines all the schema.
No one company owns the schemas and the types.
There are 614 different types of schema definitions on schema.org. Yet, most of these do not have practical uses today.
Here are a few examples of some schema definition types:
- CreativeWork
- Book
- Movie
- MusicRecording
- Recipe
- TVSeries
- AudioObject
- ImageObject
- VideoObject
- Event
- MedicalEntity
- Organization
- Person
- Place
- LocalBusiness
- Restaurant
- Product
- Offer
- Review
- Action
Yet, most of these are not supported by Google in the search results. Instead, Google supports a much smaller list:
- Article
- Book
- Breadcrumb
- Carousel
- Recipe
- Course
- Critic Review
- Dataset
- Event
- FAQ
- How-to
- Logo
- Movie
- Product
Here is the full list of Google supported structured data.
We want to focus on these types as these have a direct impact on your SEO. Once you add the schema markup you can see the results of the changes you are making.
Let's look at the Google supported types next.
Why is schema markup important?
We want to add schema markup to the page so that Google can better understand the content.
Yet, there are only a few schema markup types that affect Google search results.
Some of these supported types will be useful to you, some won't. It will depend on the type of site you run.
Google even tells us which schema we should add depending on the site type. Here is a list of sites categories:
- E-commerce
- Organizations
- Sports
- Jobs
- Entertainment
- News
- Food and Drink
- Education and Science
For example, if we were running an e-commerce site Google says that we can use four schema types on our site.
Book
- Only useful if your site sells books. This schema allows the user to buy the book from the search results:
FAQ
- As we showed earlier this could be useful when we have frequently asked questions on a product.
Product
- This can provide product information such as price, stock, and reviews.
Review Snippet
- A review snippet is useful when there are customer reviews submitted to the site. This includes a star rating system.
We can see from these examples how adding the schema markup has changed the search results. Instead of being the smaller regular search result.
The larger your search results the more likely that a user will visit your site.
Let's look next at how we can add this schema to the page and get these results.
How do you add schema markup?
Adding schema markup to a page is straightforward but there are a few things to keep in mind.
- Any content that goes into the schema must also be on the page. You can't add content that is not on the page.
- Some of the schema markup allow for basic HTML including links.
- There are three ways to add the schema to a page but we only recommend JSON-LD.
- It is best practice to add the schema to the head of the page. But, it does not have to appear in the head for Googlebot to read it.
There are three ways you can add schema markup to a page either JSON-LD, Microdata or RDFa.
Yet, Google recommends that we use JSON-LD.
Google recommends using JSON-LD for structured data whenever possible.
To add schema markup in JSON-LD format you need to add script tags like this:
<script type="application/ld+json">
...
</script>
With the schema entered between the tags.
You can then tell Googlebot that you are using schema from schema.org like this:
<script type="application/ld+json">
{
"@context": "http://schema.org/",
...
</script>
You can then add the @type
attribute to tell Googlebot which thing we are describing:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
...
</script>
You can then follow the Google guidelines on the structure of the type.
For the FAQPage we need to add the following:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is the return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most unopened items in new condition and returned within <strong>90 days</strong> will receive a refund or exchange. Some items have a modified return policy noted on the receipt or packing slip. Items that are opened or damaged or do not have a receipt may be denied a refund or exchange. Items purchased online or in-store may be returned to any store.<br /><p>Online purchases may be returned via a major parcel carrier. <a href=http://example.com/returns> Click here </a> to initiate a return.</p>"
}
...
</script>
Once you have added the schema markup to the page you want to make sure that it is working. Google has provided a structured data testing tool that allows you to check a URL.
The tool will show fixes for any errors or warnings found. Once they are all fixed you should see something like this:
It will take some time before the changes are in the Google Search results. From my experience, this can take between 2 to 4 weeks for an established site.
Final Thoughts
Schema markup should be in JSON-LD. Once added to your website it lets bots like Googlebot know more about the page’s content.
The types you can add are defined on schema.org yet, only a small subset is supported by Google.
By focusing on Google search results you can get an SEO boost from adding schema markup on your site.
Look at your site and add the types that make sense:
- Article
- Book
- Breadcrumb
- Carousel
- Recipe
- Course
- Critic Review
- Dataset
- Event
- FAQ
- How-to
- Logo
- Movie
- Product
Don't spam! Choose the types that fit with the page and only include content that is on the page.
This will give you the most value from adding schema markup and improve clicks to your site.