How Do I Know If My Schema Markup Is Working?


We’re often asked how to check the accuracy of your schema markup once it has been implemented.  When you add schema markup to your website, it can be tricky to immediately identify whether that markup is accurate and will contribute to higher click through rates and rich results.  Fortunately, there are many tools available to help with this.

Has my schema markup successfully deployed?

The first step is to make sure that your markup is on the page. If you are copying and pasting the JSON-LD into the page, you can simply right click on the web page, view source and search within the elements tab for “LD+JSON” to see if the code is there. If you are using Schema App or Google Tag Manager to deploy your code, it’s easier to use Google’s Structured Data Testing Tool (SDTT) to see if the markup is present. (Read on for instructions on how to use the SDTT.) 

Alternatively, you can wait and check within Google Search Console to report on the rich results or features tied to certain structured data. This could take anywhere from a few days up to a month, depending on how regularly Google crawls your site. 

For those websites that populate the schema markup dynamically, e.g. using Javascript, then only Google’s Structured Data Testing Tool will show these results.  Dynamic schema markup requires the testing tool to load the HTML and process Javascript, something Google has supported for a couple years. If you create schema markup using inline HTML (e.g. microdata, RDFa) or the JSON-LD is created Server side, all tools  should work.

Are there any errors in the implementation?

It’s very important that you check your schema markup so you can be sure that it is working hard behind the scenes for your website! While you are waiting for the Google Search Console results to appear, there are a variety of tools that allow you to check for any errors or warnings that your markup may be generating.

Structured Data Testing Tool (SDTT)

Google’s Structured Data Testing Tool is the fastest and easiest to read. When you input your URL and click “Run Test”, it will show all of your schema markup in an easy-to-read format in the field on the right side of the screen. Additionally, you can click on any one of the detected entities and show you the corresponding JSON-LD in the field on the left side of the screen. It will also show any errors and warnings in your markup so that you can make adjustments if needed. Please take a look at our SDTT Error Guide to learn about some common errors and how to fix them.

There are a couple of things about the SDTT that are worth calling out. First, the tool often caches versions of your page. This means that if you are actively making changes to your markup, the latest markup may not be tested. To overcome this, simply click on new test, and enter your JSON-LD or microdata directly in the tool.

In addition to caching, the SDTT offers stringent errors on schema entities when they aren’t truly relevant. It’s possible that your markup is done accurately, but the SDTT doesn’t have the business rule to understand it.


Rich Results Test

Using the Rich Results test, you can test the schema markup you’ve added to see if it can generate rich results. It’s important to note that not all rich result types or error types are supported yet. Google is always expanding the list of rich result types it supports, and you can refer to their documentation to confirm what is supported.



Schema App’s Structured Data Tester 

The Schema App Structured Data Tester can be found in the “tools” tab in Schema App. This tool allows you to put in any website URL and it will display the Schema markup found on that page. It is the only testing tool in the world that displays dynamic data and does not cache the results. Having a testing tool integrated within Schema App improves your Schema markup workflow so you don’t always have to go to another site to test your markup.

Getting into the habit of using at least one of these tools when doing your website markup with Schema App is highly recommended. Not only will it confirm whether your markup has deployed correctly, but it will also give you a visual look at the scope of your markup, which will allow you to assess its accuracy.

Click here to learn more about Schema App’s advanced suite of tools for adding Schema markup to your website with ease.

Google Search Console

Over the course of 2018 and 2019, Google unveiled a new Search Console. This resulted in the introduction of a host of new features, and changes to older features. Now we’ll discuss how to navigate these changes and then detail how you can dive into the data available. 

New Features

One of the most significant changes in the new view is the Structured Data Report, which is now rolled into the Enhancements and Performance sections. While, there is no longer a graph view showing all structured data on the site over time, the Enhancements contain the rich results or features tied to certain structured data.

These enhancements show any errors or warnings related to the schema markup that is informing those rich results, as well as any valid instances of markup. While this is typically the source of truth for what Google is seeing on pages, our team has uncovered some misattributed errors to these enhancements on our clients’ properties. If you are seeing these please visit our quick tip blog post “How To Resolve Misattributed Errors In The New Google Search Console” for a complete walk-through.

Getting Started

When you first log into Search Console, it will open with an Overview page, as shown below.

To look at the search engine results page (SERP) data, click on Open Report. (You can also access this information by choosing Performance from the sidebar on the left.)

You will now be presented with the site performance for organic traffic. This includes total clicks, total impressions, average click-through rate, as well as average position. The default setting will display the last three months of data. You can click on any of the squares to toggle them on and off the graph. For a cleaner result, we recommend starting with only Total Clicks and Total Impressions.

Capture your Starting Point

If you are just starting to implement your schema markup, we recommend benchmarking the current site performance trends to date. 

Google Search Console provides a 16-month window of metrics, which means there is always a three-month overlap with the previous year. This data can be used to measure year-over-year progress. You have a window of opportunity to record the data now so that you have a larger frame of reference moving forward. Below we will outline how to capture that data, in addition to other date filters you can apply.

Slicing and Dicing the Data

Google Search Console has several options for displaying the data – by specific date range, page set, or for certain types of queries. 

Date Filter 

This filter allows us to segment the time period we want to explore. To view a complete month of data, click on the ‘date’ filter and select the first day of the month to the last day of the month. 

Once this has been set the chart and filters will display similar to the following view.

Repeat this process for each month to capture a snapshot of a particular month’s performance.

Time Period Comparison 

Google Search Console provides some predefined comparison periods. These can be found under the “Compare” tab within the Date Range selection tool. To capture the largest amount of year over year data, compare the last three months year over year.  

Be cognizant of trends that may occur on certain days (such as increased site traffic on a Saturday or Sunday). To best accommodate for this, you can manually select the comparison period (start and end dates) to align with the same day of the week (e.g. Saturday or Monday). To compare year over year data and account for this, simply move the previous year’s start and end dates up a day, as shown below. 

Page Sets – Structured Data versus No Structured Data

Important! Take inventory of your page sets, specifically noting which have schema markup and when it was added. The ‘page’ filter in Google Search Console allows you to filter URLs that do or do not meet certain criteria. This can be found by clicking the “+ New” button beside the date filter and selecting the “Page…” option.

Measure by Page Type

You can measure the impact of schema markup on a particular page type. Schema App plug-ins and the Schema App Highlighter automatically apply the same schema markup to a specified URL pattern, allowing the opportunity to specifically measure the performance of pages with that pattern. For example, if I wanted to measure ‘blog postings’, I could use the ‘page’ filter to include only those pages that contain ‘/blog/’ in their URL. This would allow us to see the performance of those pages specifically.

Capture the Impact of Rich Results

If a page is eligible for rich results, use the ‘Search Appearance’ filter to display only the performance of the rich result pages.

If the pages weren’t previously receiving rich results you will likely see a steep increase from zero. Rich result pages can be compared to other pages to view the impact.

Non-branded Queries

When we optimize pages, we want to impact the search performance, not just specific to your brand, but also to your service, product or other key content you generate. Schema markup provides valuable context to search engines regarding what your content is about, what’s important and why, and who that content best serves. This clarity typically translates into performance increases as the search engines can better match your content to a user’s search intent.  This can lead to an increase in:

  • non-branded impressions
  • clicks 
  • click-through rate

The Query filter allows you to filter out queries containing or not containing any given keyword, thereby differentiating branded versus non-branded content. Think carefully when determining which queries would be branded versus non-branded. In our case, we could filter to match only queries not containing “Schema”, however this might omit valid non-branded queries that are about schema markup and not Schema App specifically. Therefore, filtering out “Schema App” would likely be the best approach to see only non-branded site performance.

Blog posts are often key drivers of traffic around your content area topics, and these are more often found via non-branded queries when compared to other site pages. To capture the metrics on this, you can combine a Query filter and a Page type filter to see how the non-branded traffic has changed over time, as shown below.

The Big Picture

We’ve now covered how to segment the data in Google Search Console in the way that best applies to your site’s scenario, potentially using a combination of the date filter, page filter, rich result filter and query filter. Using the methods we’ve outlined, you can capture results that can be benchmarked to the overall site’s performance.

For example, compare the ‘rich results’ click-through rates to the click-through rate of the site as a whole. If the rich results have a higher click-through rate, you’ll know that they are outperforming the other pages and skewing the sitewide click-through rate up. 

Let’s take a closer look using a rich results filter. Since rich results are directly correlated with schema markup, we can remove the rich result filter and see how this compares to occasions when the rich result is not served for the page.

Comparing the two charts, we can see the rich results have a higher click-through rate and achieve a better average position at 16.8, which would mean the rich results and by extension the structured data is skewing the sitewide performance up.

Next Steps

Now that we have created at least one segment, we can now create any number of segments and compare these against others to gather interesting data points. The following list provides some ideas for how you can stretch the Search Console filters to gather new metrics. 

  • Calculate the percent of impressions or clicks that your rich result segment are achieving compared to the sitewide performance. 
  • Calculate the change in growth rate by determining the difference between the average growth month-over-month before and after schema markup. Optimally this would use the same number of months before and after for an accurate representation of this change.
  • Calculate the growth of rich results as a percentage of total growth by determining the difference between two time periods for both rich results and sitewide and then calculating the rich results difference as a percentage of the sitewide difference.

We understand there is a bit of a learning curve with measuring the impact of structured data within Google Search Console.  If you have any questions on this, or have any questions around your site in particular, please reach out and we would be happy to provide guidance.

, , , ,
Previous Post
Schema Markup News July 23rd, 2019
Next Post
Being Fearless: How Speaking Up and Embracing Change has Brought Martha van Berkel Success in a New Market