Structured data: the complete guide

Written by: Frank

Publication date: 2 October 2023

Structured data, adding context to a page so that search engines like Google will better understand your content and thus website. For many SEO specialists, structured data is a pain in the ass but for others, who cleverly exploit the possibilities of structured data, it is a real pleasure. After all, if you make use of structured data, you will take a head start on your competition and ensure that your website is shown in rich snippets. In this guide, I’ll tell you all about structured data. I explain what it is, how you can implement it and most importantly, what it does for you. If you start working with structured data, it will lead to better positions, more traffic and a higher CTR. All this ensures organic growth and more success on the Internet.

What is structured data?

Structured data is a schematic markup that helps search engines understand exactly what content on a Web page means. Using a JSON-LD, Mircodata or RDFa script, you add a schema of tags to a Web page that highlight things like address, opening hours and reviews, among others.

Schema? JSON-LD, Microdata and RDFa? Structured data quickly comes across as a super technical thing. However, in practice, this is not so bad. Hence, I asked Chat GPT to explain it in Jip and Janneke language:

As Chat GPT points out, structured data is not that complex at all. It’s just a piece of code that explains to search engines exactly what what’s on the Web page means. After all, it’s not always easy for search engines to understand exactly what you mean by your content.

Search engines like Google make every effort to provide the best possible answer to its users’ search query. If you are looking for a new job, Google will always show you job websites with vacancies on them to make sure you can find a new job.

These days, Google goes one step further. You can see the jobs directly on the search results page. That way you don’t have to look any further and you see all available jobs in one place.

The search results page is changing

The search results page, also known as SERP, is changing. In recent years, in addition to ads, a huge number of other useful ‘features’ have been added. These “features” are also called rich snippets.

A small glance at today’s SERP and you see them everywhere. From job postings to frequently asked questions and from internal search bars to knowledge panels. Google is getting better at responding to searcher needs.

But how exactly does Google know the salary of your job posting? How does Google recognize that a particular piece of content on your website is the question and the piece below is the answer? And how does Google understand that when I search for a company’s customer service phone number, they shouldn’t show the sales department phone number?

This is exactly where structured data plays a crucial role. Through this schematic format, you can communicate to search engines exactly what everything means. Search engines will then better understand this content and display it in search results.

What are JSON-LD, Microdata and RDFa?

There are three different ways to format structured data: JSON-LD, Microdata and RDFa. The difference between the three lies in the fact that Microdata and RDFa are marked up within the html code. This means you are going to mark up existing content. JSON-LD is built out of JavaScript.

JSON-LD is the most commonly used method for building structured data and also my advice when you get started with this. This is because it prevents you from corrupting current formatted schemas. In addition, Google also indicates in its official guidelines that it prefers JSON-LD.

Why structured data is important for SEO

But why is structured data necessarily important for your organic findability? To qualify for rich snippets, you need to have provided your website with a schema markup. It’s not a guarantee, but without this markup, you won’t qualify to appear in a rich snippet at all.

A small look at the SERP gives an immediate inkling of what the role of rich snippets is and how it will change in the future. In an average SERP, you quickly stumble upon a frequently asked questions section, products are shown with reviews and you see recipes appear for recipes. This is just a small part of the possibilities of structured data.

Search engines move with you

The ultimate goal of a search engine is to make money. They do this in part by showing ads to users. So search engines actually benefit from keeping users in the search engine itself for as long as possible.

Through rich snippets, users manage to answer certain questions directly in the search engine. This is only going to increase in the future. Where you can currently find products and click through, in the future you may be able to checkout directly in the search engine itself.

It is therefore important as a website owner or SEO specialist to capitalize on this trend. My expectation is that search engines will use rich snippets and structured data more and more. If you do not use structured data, you will miss out on a serious part of the clicks and impressions.

Available schedule types

To know exactly what you want to mark up via schema markup, it is good to know what structured data types are available. Since Google is the largest search engine in the Netherlands, it is wise that you stick to these schemas.

Currently, Google supports and displays the following 32 types of structured data:

  • Article
  • Book
  • Breadcrumb
  • Course
  • COVID-19 announcements
  • Dataset
  • Education QA
  • Employer Aggregate Rating
  • Estimated salary
  • Event
  • Fact Check
  • FAQ
  • Home Activities
  • How-to
  • Image metadata
  • Job Posting
  • Learning Video
  • Local Business
  • Logo
  • Math solver
  • Movie
  • Practice problem
  • Product
  • QA
  • Recipe
  • Review snippet
  • Sitelinks search box
  • Software App
  • Speakable
  • Subscription and paywalled content
  • Video

These different types of structured data speak for themselves. Google’s official guidelines provide more information on what exactly the schemas mean.

It is important to look critically at what types of schema are important to your Web site. The essence of structured data is that you can give search engines more clarity about the content on your website. If you do not use certain content, then it does not make sense to add structured data.

Note that structured data only works when the content that is in the schema is actually visible to the user on the page itself. If you use content in the schema that is not on the page, Google will not pick it up.

I do recommend that if you have content on your page that matches a schema markup that you use it. For example, a while back I added FAQ schemes for a client on 12 pages that already had frequently asked questions and this now generates over 30 clicks and 23k impressions per month. This while nothing else happened in terms of SEO on these pages.

Implementing structured data

After reading words like schema markup and JSON-LD, I can imagine that you have the idea that the implementation of these is enormously difficult. However, you will find that in practice this is not going to be enormously difficult.

Adding structured data is adding a piece of code (that you don’t have to create yourself in most cases) to the section of your page. If you work with a CMS like WordPress, then in most cases you can just do that with a handy plugin. Further down I’ll tell you exactly how to add structured data in WordPress.

If you do not have a handy plugin at your disposal, you can still easily format the code yourself and add it to the desired page. You can then add the code to the page directly yourself or place it on the website using Google Tag Manager. I’ll show you step by step how to do this.

Manually formatting structured data

Structured data can be built in several ways. You can start from scratch yourself or use a handy tool. Two of the tools I use are Schema Generator from Merkle and Structured Data Markup Helper from Google.

My advice would be to start with the latter. Especially if you are a beginner with structured data, it is wise to use a simple tool that will help you build the code step by step. If you are a bit more experienced, I would recommend that you lead this code yourself and build from scratch once.

How to build structured data with Google’s tool I explain to you step by step below:

Step 1: Choose the type of schedule you want to create

Start by selecting the structured data you want to start formatting. In the example, we are going to mark up a job page with a job posting schedule. This makes the page eligible to appear in Google for Jobs.

Step 2: Choose the url on which to place the structured data

Next, you choose the url where you want to place the structured data. We paste the url of the job page into the tool.

The tool will now load the page causing you to see the page in the tool itself. The example below shows how the job page is loaded into the tool.

Step 3: Marking content for inclusion in structured data

On the loaded page, we can then tag content and assign it to a particular part of the schedule. The right side shows which tags we can assign. My advice is to be as complete as possible in this.

In the example below, we start by selecting the job title. We then give it a title markup so that it will be correctly marked in the schema later.

Note: We want to be as complete as possible in building structured data. Therefore, fill each tag if this content is actually on the page. Experience shows that the more complete you are in filling out your structured data, the better it will be rewarded with search engine results.

Next, we fill the schedule with the remaining tags so that we have filled them in as completely as possible. In this case, we add the organization data, salary data, description, job type and until when the job is valid. If necessary, we can manually add the remaining values to the schedule later.

Also, the tool also gives you the chance to add fields that are not yet in the schema. Once may be that fields are missing. Therefore, I always recommend that you look up your schema on schema.org and see if there are any fields that are missing from Google’s tool. As I mentioned earlier, it is wise to be as complete as possible in building your structured data.

Vaola, your structured data is ready. It then needs to be manually placed into your website. In some CMS systems you can easily access this, in others not so easily. If you can’t, you can use the steps below to place the structured data on your website via Google Tag Manager. This ensures the same end result.

It may be advisable to check your code before implementing it further. Should errors go in, you can catch them early without having to re-implement your code. How to validate structured data is read a bit further down.

Implement structured data via Google Tag Manager

A convenient way to get structured data on your page is through Google Tag Manager. I’m assuming you have Google Tag Manager on your website. If not, Google has a handy guide on this.

How to get your structured data onto your page via Google Tag Manager I explain below:

Step 1: Create Trigger

Before we add a tag with the structured data, it is important that we can trigger it on the specific page we want the structured data to be on. Therefore, it is important that we create a new trigger.

Step 2: Add page view to the trigger

Within the trigger, we choose page views so we can start linking them to the appropriate page. So you choose some page views. Then you choose page url which is the same as the url of the page you want to place the structured data on. In the example below, I want the trigger to go off when the previously mentioned job page is opened. I therefore choose the specific url so that I can be sure that the trigger only goes off when this url is actually opened. I want to prevent that if another page hangs behind it, this one will also be included.

Step 3: Create Tag

Next, we want to link the trigger to a tag that may go off the moment the correct url is loaded. We therefore create a completely new tag and link it to the trigger we just created.

Step 4: Adding Structured data to the tag

The goal, of course, is for the structured data to be loaded on the url. Therefore, in tag configuration, you choose the tag type custom HTML Then you paste the previously created structured data schema into this tag configuration.

Then you can submit and publish your new tag with the structured data. Don’t forget to validate your structured data in the way I point out later in this article.

Putting Structured data on a WordPress website

If you work with WordPress, then adding structured data is a lot easier. You have numerous plugins that can give you a hand with implementing this. The plugin I find most useful is Rank Math.

Rank Math is an SEO plugin just like Yoast and SEOPress, for example. In my opinion, Rank Math is by far the best plugin. One of the reasons is the easy implementation of extensive structured data schemas.

Rank Math not only allows you to add structured data per page. It also automatically creates local business or organization structured data, highlights your breadcrumbs and automatically trims your sitelinks schema.

Below I explain to you step-by-step how to implement structured data via Rank Math:

Step 1: Open the appropriate page and navigate to the Rank Math overview

On the back end of your WordPress website, go to the appropriate page and open the Rank Math overview. In Rank Math, you will notice that there are four tabs. Under the schema tab you will find the option to add structured data. Next, click on schema generator.

Step 2: Choose the type of schedule you want to create

You will now see an overview of different schema types that Rank Math can place on the website for you. The most popular ones are listed here and can be selected. If your schedule is not listed, read below this image how to build your own.

Fortunately, there is a solution if Rank Math does not yet support your schedule. You will find several tabs at the top. Each tab has its own function. Under schema templates you will find Rank Math’s default schemas. In the two other tabs you can use an import function, which allows you to use the template of another (external) page or you can build your own schema from scratch.

My advice is to find a page on another website that uses the schema you want to use. Then you can import this schema so that you too can start using this structured data.

If you cannot find this page, you can still use Rank Math’s template builder to build your diagram quite easily. Always keep the documentation of this particular schema handy so you can be sure you are building the schema correctly.

Step 3: Add your content

If you are using the default templates or have imported one, then the fields are fairly self-explanatory. This is because they will match what is in the documentation. If you build the schema yourself, you will have to be very precise here. If it does not correspond one-to-one with what is in the documentation, search engines will not be able to catch the structured data. It is therefore also advisable to be very precise when filling the schema when the structure of the schema has already been arranged for you. Even in this, a small mistake is fatal. If the content you use in your structured data is not reflected on the page itself then your schema will not be picked up in that case either. Tip: It is wise to save an imported or self-built schema so you can reuse it later. That way you don’t have to go through these steps every time. Within Rank Math you can easily save them.

Validating structured data

Once you have your schema formatted or implemented, it is time to start checking your code. There are a number of ways you can do this. Google even comes out with its own tool to check if your schema works. Schema.org also has its own method for testing your code.

In my view, neither of these ways are the most ideal. I personally use Screaming Frog to test whether my structured data works. The reason is simple: Screaming Frog provides the most feedback in a practical way. This way I can be sure that my schema meets all the requirements.

In addition, Screaming Frog also allows me to instantly analyze the entire website. This gives me an instant picture of which schemas are posted and where exactly there are errors.

The disadvantage of Screaming Frog, however, is that you cannot check your code in it separately. In fact, Screaming Frog wants to crawl one or more pages before it can analyze the structured data.

Note: Google and Schema.org tools also give a good picture of how you are doing. They give you good insight into where areas for improvement lie. In addition, your code always satisfies when it passes these tools.

Structured data validation with Screaming Frog

Screaming Frog is one of my favorite SEO tools. It provides in-depth insights and makes comprehensive crawls. In addition, I have been able to solve the most complex technical SEO issues with it. Screaming Frog can also help you validate your structured data. You do this through the steps below:

Step 1: Prepare crawl with appropriate settings

Screaming Frog does not automatically validate structured data on the website it crawls. You will have to activate this option yourself. You do this by navigating in the main menu to the following settings: configuration >> spider.

Next, navigate to the second tab called extraction. If you scroll down slightly, you will find the settings for structured data. Next, you need to check at least the first five options. The last option is optional.

Step 2: Website crawling

Next, create a crawl of the website you want to validate structured data on. You can choose to make a crawl of the entire website or crawl a few urls.

With the settings from step 1, you have determined that you will crawl all three different types of structured data (JSON-LD, Microdata and RDFa) and validate them through Google’s tools and Schema.org. During this crawl, Screaming Frog will immediately validate the structured data it finds.

Step 3: Checking data

When your crawl is ready you can start analyzing the structured data. In the right bar you will find an overview of the entire website. You can see on which pages structured data is found and directly on which pages warnings and errors can be found. In addition, Screaming Frog explains what the structured data is composed of.

If you are not specifically looking for a particular page or schema, I recommend that you first walk through the report and look closely at each tab. This will give you a rough overview of what schemas are on the website and how they are structured.

The convenient thing about this method of analysis is that Screaming Frog uses both tools (from Google and Schema.org). As a result, you get feedback from both tools so you can be sure you’re in the right place.

Using the overview in the lower menu, you can also easily identify errors in your structured data and immediately see how to fix them. If there are no errors, they will not be displayed.

Validating Structured data with Google Search Console

Has your website been using structured data for a while and do you have access to Google Search Console? Then you can use Google’s own validator based on your entire website. This is another hugely useful way to analyze what structured data is currently being used and whether it has been implemented correctly. This is extra handy when you are working with an already existing website and want to see in one overview how it is doing. The disadvantage of Google Search Console is that it only provides information about the part that qualifies for a rich snippet. If you’ve implemented structured data to give search engines more context about your Web page but it doesn’t directly affect search results, it won’t show up in Google Search Console. My advice is that you therefore use Google Search Console primarily to monitor the structured data you implement so you can see exactly what the effect on search results is.

Step 1: Open Google Search Console and navigate to optimizations

Open your website’s property within Google Search Console. Haven’t added your website yet? Then do so first so you always have insight into the data from Google Search Console. Within Google Search Console you can use the main menu on the left to navigate to the different structured data types that Google has recognized on your website. These can be found under the heading optimizations.

Step 2: Analyze by structured data type

Then you can monitor and analyze exactly how things stand for each type of structured data. It starts with the report showing how many URLs are known to Google with structured data for this reason. Then Google Search Console divides them into ‘valid’ or ‘invalid’. In addition, you can tick off some types of impressions. This gives you insight into how often your structured data is shown in search results. In step 3, I’ll take you through how to see this even more comprehensively.

If you scroll down a little further, you will find the option to view which URLs of this type have valid structured data found. If you scroll down a little further, you will also see which errors were found and the reason for them. For each error you can then see which URLs contain this error. This way you immediately know which URLs you can improve.

Step 3: Analyze impact on search results

Another great advantage of Google Search Console is that you have access to data that gives you insight into what the actual impact on search results has been. You can already find the number of impressions within the heading optimizations, but in the performance report you can also find what the impact has been on the number of clicks, the CTR rate and the average position. Ideal to be able to substantiate exactly what this results in.

About author

My career as an online marketer began broadly, but my passion for SEO eventually led me to found my own agency, Dificem, in 2019. After almost two years, I decided to further specialize in technical SEO at Bespoke Online, where I am now the point of contact for technical SEO issues. My interest in automation and AI, especially through the use of Python and ChatGPT, has greatly enhanced my work, which even gave me the opportunity to speak at BrightonSEO in 2024. In addition to my work, I am an avid traveler and marathon runner, regularly working from different countries as a digital nomad.

More about Frank

More blogs

Clustering keywords based on SERP similarity with Python

Clustering keywords based on SERP similarity with Python

Clustering keywords remains a task for many specialists that is time-consuming and, in most cases, not done well. Based on assumptions, they often look at which keywords could potentially match. This while clustering based on SERP similarity is more data driven and...

No Results Found

The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.