Schema Markup for SEO – The Complete Guide
If you want to become a good SEO, you need to have a holistic view on all SEO related topics and there are some technical elements that you must understand, even if they’re not quite easy to digest. One of these topics is schema markup.
Schema markup and structured data had a role in SEO for years now and it seems that major search engines recommend them. But what exactly is schema markup? And, more importantly, how does it impact the SEO process?
After reading this article, you’ll know exactly: what schema markup is, how it affects SEO & search engines, how to correctly implement it on websites and how it can help you get better rankings.
- What Is Schema Markup
- What Is Structured Data
- What Is the Difference Between Schema Markup, Microdata and Structured Data
- What Are Schema Markup & Structured Data in SEO
- How Does Schema Markup Impact SEO & Search Engines
- Schema Markup Types Supported by Google
- How To Implement Structured Data Markup On Your Website
- Structured Data Vocabularies
- Schema Encoding Types & Examples
- Why Doesn’t My Website Display a Rich Snippet?
- Structured Data Myths
1. What Is Schema Markup
Schema markup is a code (semantic vocabulary) that you put on your website, with the purpose of helping the search engines return more informative results for users. Schema markup allows you to create enhanced descriptions that appear in search results, just like in the screenshot below.
Due to its standardized semantic vocabulary, schema markup added to your site’s HTML helps the major search engines understand your page’s information better and return richer, more informative results.
Schema markup has the advantage to be easily stored, retrieved, displayed and analyzed. In a nutshell, when Google doesn’t know if your information is about an artist or a concert of the artist, you can make things clear using structured data markup.
2. What Is Structured Data
Structured data (or linked data) is a way of organizing information for better accessibility. It might be hard to understand for some because of its relation to coding. However, in simple terms, it’s also called metadata or information behind the information.
It’s similar to a database, in which terms are stored in relation to other terms. Think of it as an Excel Spreadsheet, where you have the head of the columns as the terms and under them come their values. Together, this data forms a structure which defines something.
For example, you can have a product in your store. The structured data could contain a list of terms and their values. The product can be “Lenovo IdeaPad 510” and it could have a list of the following items/terms, with their values:
Name > Lenovo IdeaPad S145
Rating > 4.2
Review Users > 925
Price > $239.99
Stock > In Stock
3 The difference between Schema, Microdata, and Structured Data
To make things easier, let’s shortly recap what these terms mean and what the differences between them are:
- Structured Data is a general term that represents binding items to values to better structure information. It can be related to SEO as much as to anything else which contains information.
- Microdata is a format and it represents the way the data is structured… in a ‘visual manner’, let’s say. In simple terms, think of it as text vs audio or video. You can say the same thing in both, but it will appeal to different people. You can have the same data structured in Microdata format or in JSON-LD format, for example.
- Schema is a vocabulary that defines the terms and values. There are other vocabularies such as Dublin Core. In simple terms, think of them as languages. The good thing with Schema.org is that it has been accepted by very many platforms, making it the best option for multiple scenarios. That’s why many people use Schema Markup as a synonym for implementing Structured Data.
Here are some takeaways:
- You can have data structured in multiple formats, such as microdata of JSON-LD.
- You can define terms using multiple vocabularies such as Schema.org or Dublin Core.
- You can use either vocabularies with either of the formats, resulting in your markup.
- When people refer to Schema Markup, they generally refer to everything related to structured data, but using the Schema.org vocabulary.
4. What Are Schema Markup & Structured Data in SEO?
When it comes to SEO, structured data represents some markup that is implemented on a website which search engines like Google can use in order to display information better. SEOs very often refer to structured data as Schema Markup because it’s one of the most popular markups used to structure data. We’ll talk about it soon.
Using that markup, Search Engines can display what are known as “rich search results” or “rich snippets”. They are called “rich results” because they contain more elements than regular results, making them stand out.
The rich snippet/rich result for the example above looks really good when Google picks up the metadata and displays it properly.
The code is a little bit uglier than that and looks something like this:
It might look complicated, but if you read it, it makes sense. You can see things like “@type”:”AggregateRating” with the values and the review count, and then the “@type”Offer” with the price and availability. The code above is in the JSON-LD format, which is one of the more complicated ones to understand. We’ll talk about formats and which ones to use soon, so keep reading.
You can also use structured data to enrich a recipe search result. It can also have ratings but, instead of displaying the price, it displays how long it takes to make the dish, which is always useful when seeking for a recipe.
These are just basic rich snippets, which affect the regular results you see in Google’s organic search results. However, Google supports a number of different types or rich snippets, some of them which I will present soon. But first, let’s talk about vocabularies and data markup.
5. How Does Schema Markup Affect SEO & Search Engines
To put it simply, structured data is not a ranking factor / signal. But if you’ve been doing SEO for a while, you know I’m lying and it’s not actually that simple.
You see, that’s the general consensus, or at least what Google officials tell us. In reality, opinions vary. Some say that it does affect rankings and some say it doesn’t. One thing we know for sure is that we cannot 100% trust what Google says. It’s not that they’re not transparent, but they have to keep the algorithm secret.
But let’s see punctually how schema markup impacts SEO:
CTR (Click Through Rate)
Structured Data might not be a ranking signal, but it sure can help with rankings, at least indirectly. You see, any modification to your search result will have an impact on your CTR (click through rate). A negative one will drop your CTR and a positive one will boost it.
With a higher CTR, your rankings will actually be higher.
If more people click on your search engine result, this sends Google a signal that they want to read your content.
To honor that demand, Google might rank your article higher so that more people will see it. This happens constantly, so don’t expect your article to stay there. Tomorrow, a competitor might change their title and their CTR might be higher than yours. Google will notice that.
Structured data can help you with CTR because rich results catch the eye easier than regular search results. Sure, those snippets usually display the information directly on Google’s landing page, but some of that organic traffic will still forward to your website.
This might sound counter-intuitive but, with all the rich snippets in the search results, you might end up having a lower CTR and less organic traffic going to your website.
Why? Because a user can find the answer directly in the search results and they don’t need to click.
For example, most nutrition websites have structured data implemented, which means most of them get rich snippets. If you’re in the top 3 results and all the results display the recipe duration, if your duration is the highest, users might decide to not click your search engine result and go for a faster recipe instead.
So, while you can get higher CTR if your rich result stands out (not everyone has rich snippets), it can also lower your CTR if everyone has rich snippets and the client browses based on that info.
You shouldn’t prioritize the addition of structured data on your website unless you’ve finished dealing with other, more important issues, such as keyword research, content optimization and other OnPage SEO factors.
Why? Because Google said it understands the content and the information required to display rich snippets without structured data, although it’s recommended that you use it.
Google can understand your content to display it in rich snippets even without the addition of structured data. However, it’s safer if you do use the markup.
So, for example, if you have some HTML with 5 stars and the text “Rating: 4.7 – 24 Reviewers”, Google might figure that out on its own and display a Review rich snippet even without structured data.
However, if you want to have a higher chance of the reviews being displayed, then add the SEO structured data so that Google understands the content perfectly.
But remember, prioritize! Keyword research, title and content optimization, website speed and quality backlinks are much more effective in ranking you higher. So if you don’t have those in place, you can postpone the structured data markup.
Personally, I don’t see how structured data can make search engines smarter. If Google wants its algorithms to better understand content more like a human, structured data makes it a disservice. The truth is that Google doesn’t want to rely on structured data in the future.
You should prioritize other things such as good crawling and indexation, keyword research and title/content optimization before going for structured data (the SEO Tools from cognitiveSEO can help you with that).
Schema markup isn’t (probably) the future of Search Engine Optimization & Digital Marketing but, for now, once you have finished other, more important search engine optimization tasks, you can make good use of it. Some studies even show that implementing structured data on your website can boost CTR up to 30%.
6. Schema Markup Types Supported by Google
You might be wondering what important types of schema markup are there? Well, there’s pretty much a markup for anything you can probably imagine.
However, there are only a limited number of rich snippet types that Google has developed and improved over the years, each unique in its own way.
Organization Schema Markup
The Organization Schema markup isn’t a rich snippet on it’s own but it is a very important part of it because it is found in almost all the snippets. It represents the author of the content so it can also be a single person, such as an author, for example.
This is good for making sure the content is associated with the proper brand / name.
The Breadcrumbs Schema Markup is crucial for representing website structure. The structure of the site is represented
However, you can also point that out.
We know that Google constantly adjusts how the search results display.
Review, Product & Offer Schema Markup
The most popular markup out there is probably the review & product one. I’ve presented it in the beginning of the article. There are multiple items that can be added to the product rich snippet, from the product name and price to details, such as the lowest price and highest price, or offer expiry dates.
Recipe Schema Markup
I’ve also shown an example of the recipe snippet above. You can specify things such as ingredients and how much time the recipe takes.
FAQ Schema Markup
The FAQ Schema Markup lists answers to the related questions around your topic / page in a drop down format. Neil Patel used this FAQ schema technique to greatly improve his search engine traffic. However, it seems like this can be abused and Google might fix it.
How to Schema Markup
Similar to the FAQ Schema Markup. A drop down type snippet with step by step answers.
Q&A Schema Markup
The Q&A Schema Markup is specially designed for websites like Quora or Yahoo Answers. It can also be applied in other scenarios, of course. Google recommends linking to individual answers (via anchors, for example) to provide the best user experience.
A carousel in which your article can be displayed at the top of the page that can be swiped, above ads and organic search results. Visible only on mobile devices.
Video Schema Markup
A visual snippet which displays the thumbnail of a video next the the title and description. It is very useful for organic video marketing.
Event Schema Markup
A visual snippet where the date is very visible and with quick access to Google Calendar bookings.
Local Business Schema Markup
If you have a local business or are doing local SEO for a client, then you might want to add local business schema markup to the website. The markup itself is formed out of multiple data items, such as Organization, Description, Logo, Address, Phone and even Reviews.
You can check a list created by Schemaapp.com of how to properly add schema markup for local businesses in this Google Sheet.
Other Types of Schema Markup
A list of full rich snippets that Google supports can be viewed here (browse them from the menu).
Also, note that different search engines such as Yandex and Yahoo! (Bing) might also use other types of structured data or schema markup on their platforms.
However, we do know that both Yandex and Bing accept and recommend schema.org, so it’s a good idea to only implement this one, unless other 3rd party apps that you use require other types of markup.
7. How To Add Schema Markup On Your Website (The Right Way)
If you’re interested in schema markup, you’re probably also wondering how to use Google structured data on your website.
If you want to use structured data markup on your website so that Google can pick it up, you’ll either have to code it or make use of some plugins / extensions that will add the structured data for you.
The thing is, you have to implement it correctly, otherwise it might do more harm than good.
If you implement structured data wrong, your rich snippets might display the wrong information, they might not display it at all and you might even get penalized for it.
Here’s how you can implement structured data correctly on your website, on different platforms:
How to add schema markup in WordPress & Blogs
As you know, adding things on WordPress is generally very easy because there’s a ton of plugins you can choose from and, best of all, most of them are free. Implementing Schema Markup doesn’t make an exception.
To add Schema Markup to your WordPress blog, check out the structured data & schema markup plugins in the WP repository. Choose the one with the features you need and with good reviews. The SEO plugin also adds basic structured data functionality to most of your pages, so make sure you don’t have duplicate codes.
Note that these plugins implement basic structured data for your articles & pages. You might want to look for something specific if you have a recipes website, for example. If you have an eCommerce store on WordPress, the WooCommerce plugin already implements products structured data for you.
How to add schema markup in Magento & eCommerce
As for WordPress websites, most eCommerce platforms such as Magento, OpenCart or Prestashop will come with structured data already integrated.
If you’re not sure that your site has the proper structured data, use the structured data Google Structured Data Testing Tool. You should see something like this:
If there’s no Product section, it means your implementation is missing. There are always plugins and extensions so do a Google search and find what suits your platform.
Make sure to fix the warnings too, although they won’t stand in the way of your rich snippets displaying.
Local SEO structured data
If you have a local business, structured data can really help your local SEO. You can mark up your NAP (name, address, phone) so that search engines can better understand that information.
This plugin for WordPress seems to support structured data for Local Businesses.
Custom schema markup implementation
Sometimes, adding markup to your website can be more difficult. If you have a custom platform, you don’t have a plugin to simply… plug in.
Step 1: Find out the type of page you have and which type of schema markup fits it best. For example, informational pages go well with FAQ or How to schema markup. Products on eCommerce sites, on the other hand, go well with the Product schema markup.
Note that it’s important not to try to trick Google into making your result more appealing if it doesn’t make sense. So only pick what Google recommends from the types of rich snippets it supports.
Step 2: Generate the schema markup. Generating JSON LD structured data is pretty easy. You can use an online schema markup generator such as this one to easily generate your code.
However, you’ll have to manually add it in your head section. Which means this would be a static implementation.
If you have thousands of pages, that might not be easy. You’re better off developing a dynamic system with a programmer, where the platform automatically picks up the information from the database and compiles it into a JSON format to display it in the HTML for each product/page.
So although the template for the Product Schema Markup in the JSON-LD format stays the same the values such as Price, Currency, Product name or Rating might change from page to page and website to website.
Sometimes, you can also manually add schema into your HTML with Microdata. However, it’s best if you use the JSON-LD format, as suggested by Google.
Step 3: Validate everything.
If you’re planning on adding markup manually, make sure to validate your code with the Google Structured Data Testing Tool.
8. Structured Data Vocabularies
For structured data, you need two things: a list of item names and a way to display them. So we have vocabularies and formats which, together, result in markup.
The list of items is called vocabulary. You can think of it as languages. Different words can mean different things in different languages and not everybody speaks every language.
There are multiple types of schema and vocabularies available:
Schema.org is the most popular vocabulary for structured data. Why? Well, because it has been accepted by major search engines and companies, such as Yahoo, Bing, Google, etc. It’s sort of an… international language, like English.
As I said above, because Schema Markup is so popular, SEOs often refer to structured data directly as Schema Markup. You could have structured data implemented on your website without Schema Markup, by using another vocabulary. However, you will use Schema Markup of your own free will 🙂 Got it?
The Schema.org Markup supports a very big variety of items and elements. You can view the entire list of supported items on http://schema.org. We’ll soon discuss which ones are the most important schema markup elements, which Google actually uses in the search engine results.
You might be familiar with Open Graph. It’s not used for search engines, but social media platforms, such as Facebook, use it to display titles and images.
They are useful for SEO & Facebook Marketing because you can separate the regular <title> tag used for search engines from the Facebook title. This way, you can keep the keywords in the <title>, which is important for SEO, and you can also have a catchy headline for social media, which is important for clicks & engagement.
Dublin Core is another vocabulary, similar to schema.org but much more limited. It’s probably the second most popular one. Unless you have solid motives to use Dublin Core, such as a 3rd party app your site is hooked to uses it, use schema.org vocabulary instead.
9. Schema Encoding Types & Examples
First let’s take a look at how the information for the address of an organization would look without any structured data, in plain HTML code:
The following information was taken from http://schema.org/address. You can view examples for most of the schema.org vocabulary properties there (some of them are still marked as “To Do”).
Here’s an example of how the above information would be displayed using JSON. Google also recommends using JSON LD for displaying structured data on your website. Again, it looks complicated but you won’t have to write it yourself, as it can be generated with tools we’ll soon talk about.
With Microdata you can specify the structured data information within the HTML code itself, using HTML tag attributes. This makes it easier for many people to understand. However, while this is easy to add manually on a case by case basis, it’s difficult to scale and automatize when required for bigger websites (such as eCommerce ones).
With JSON LD, you’ll have a lot of standardized plugins for different purposes on most platforms. However, if the element you’re trying to specify isn’t included in the plugin and thus doesn’t display in the outputted JSON LD code, you can add it easily in the HTML using Microdata.
RDFa is similar to Microdata, which means it’s also added through HTML tag attributes. The difference is that RDFa is older and more complex. It has other uses outside of the HTML realm and this means integration with other apps/platforms/servers is easier if they use the technology.
Whether you want to go with RDFa or Microdata is your choice, they’ll both do just fine. However, do it as an alternative. Using JSON-LD is the recommended way to go.
Notice how all the formats above, although different, use the Schema.org data markup vocabulary.
10. Why Doesn’t My Website Display a Rich Snippet?
So you’ve finished implementing structured data on your website, but the rich snippets don’t show up in search. What do you do?
Implementing structured data on your website correctly doesn’t guarantee rich snippets.
Unfortunately, Google picks up only what it wants. If it’s your Homepage you’re worrying about, worry no more! Google doesn’t display rich snippets for Homepages.
First, make sure that your code is implemented correctly by testing it. You can do this using the following tools from Google:
Google Structured Data Testing Tool: This is the most popular tool for testing out JSON LD markup and structured data.
Rich Snippet Validator: This is still in beta, but it’s useful. You can find it here.
10.1 What is Unparsable Structured Data?
Unparsable structured data is data markup on your website that could not be properly parsed (or understood) by Google. This, most likely, means that you have not implemented things correctly on your site.
In programming, parsing is the separation of a cluster of strings into separate ones. In other terms, the strings could not be correctly read or understood, which indicates an error in how the strings were presented.
These errors shows either in the Google validator as an error, or in the Google Search Console, under Enhancements > Unparsable Structured Data.
Compared to the other validators above, it’s very useful because it will highlight errors for multiple pages at once, although it doesn’t highlight all the details of the issue.
Make sure you use Google’s SEO Tools to your advantage when implementing schema markup and structured data on your website.
10.2 Structured Markup Penalties
If you implement structured data wrong, you probably won’t get penalized. However, if you try to cheat, Google might apply a structured markup penalty on your website.
For example, if you just want the star ratings and number of reviewers, you can simply add them manually to your page. Your product could be 3 stars, but you might want to display 5 stars in the search engines. You could also add a smaller structured data price, while on the website, the real price is higher.
That’s not fair and the Google algorithm updates might punish you!
If you get a similar message in your Search Console or your organic traffic to all the pages with structured markup has suddenly dropped, make sure to read this article about structured markup penalties to find out how to fix things.
11. Common Schema Markup Myths
There are a few myths that go around regarding rich snippets and structured data. Most of them are simply implementation mistakes and misconceptions.
However, even though we’ve already talked about this and covered these topics above, it’s a good idea
1. Schema markup guarantees rich snippets: They don’t. Google will pick whatever it wants regardless of whether you have structured data on your website or not. That’s why it’s a good idea to implement other, more important things first instead of focusing on structured data.
2. Schema markup is a ranking factor: It’s not. At least, that’s what the Google officials have stated over and over again. However, CTR is a ranking factor and since Structured Data can affect the CTR, your rankings might improve. But Google won’t care if you simply implement markup on your website.
3. You need schema for answer boxes: You don’t. Answer boxes and structured data might have something in common since Google has recently implemented the Q&A markup but that doesn’t mean you can’t get an answer box without structured data.
Since major search engines recommend adding structured data, go ahead and add it, especially if you have an eCommerce website. Make sure to implement it correctly and validate it with the above-mentioned tools. However, you should prioritize other important SEO tasks first.
What’s your experience with structured markup? Do you use it in your SEO & digital marketing strategy? Does it help with your clickthrough rates? Let us know in the comments section below.