What are rich results? Rich results are enhanced search results that contain additional visual or textual details about the pages. An example of a rich result could be an average rating and cooking time for a recipe that users see directly in search results.
Having rich results comes with many benefits. They:
– make pages stand out in SERPs,
– highlight important details,
– could improve click-through rates,
– can drive more targeted traffic to your site.
To make a page eligible for rich results, you need to implement structured data.
Structured data is markup created to help search engines understand and classify site content. The standard vocabulary used for this is Schema.
I will guide you through the necessary steps to maximize your chances of getting rich results.
You will see how to:
- Choose the right type of rich results to aim for,
- Create Schema markup that will make your page eligible for rich results,
- Validate and test your page’s ability to get rich results,
- Monitor rich results on your page.
Choose the right type of rich results
There are numerous types of rich results. To see them all, browse the Google Search Gallery.
It can help you see what options are available and what will work for your type of content.
Each type shows how your content will be enhanced if you get one of these rich results:
Some rich result types are less specific and can apply to more types of sites, such as:
Others will apply to more specific content:
- Critic Review
The possible enhancements differ across various types of rich results. They include added details about the page and its content, visual or interactive features, or elements that increase the space that pages take up in SERPs.
- Recipes can include details about calories, cooking time, and ratings.
- Videos show a playable video with detailed information.
- Q&As show a question and a selection of answers for it.
There are two common search features: rich results and featured snippets. Make sure that you understand the difference between them.
Check the guidelines for each rich result type
After navigating to each rich result type in the Google Search Gallery, you will find all the guidelines and requirements that you need to follow.
Make sure you read them thoroughly before you begin the implementation process. They concern technical guidelines, content requirements, and other tips for maximizing your chances for rich results. You should also go through Google’s general structured data guidelines.
The Search Gallery listing for each rich result type will show which Schema types and properties are required.
But you should also include recommended properties that will provide even more valuable details to users.
Properties can all be found in tables like this on each rich result’s page:
Check the Schema documentation to learn what type of input and expected information you need to include.
Here is what we see after looking at Product:
As you can see, Schema’s documentation shows a lot more properties than Google’s.
You can include them all to make your content more machine-readable, but for rich results, focus on correctly marking up the ones mentioned in the Google documentation.
When asked about potential benefits of including properties that are mentioned in Schema’s documentation and not in Google’s rich result requirements, John Mueller said:
There is probably no benefit at all and probably also no harm there.
In general, we recommend using structured data for elements that you want to have visible in the search results, and the ones that we have visible are based on the properties that we have documented.source: John Mueller
Create Schema markup
Schema.org is the standard vocabulary used for structured data, created by the major search engines: Google, Microsoft, Yahoo, and Yandex.
Schema can be implemented on web pages using one of the three formats – JSON-LD, Microdata, and RDFa, but JSON-LD is the recommended format.
JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale. JSON-LD is an ideal data format for programming environments, REST Web services, and unstructured databases such as Apache CouchDB and MongoDB.source: JSON-LD.org
Here is a sample to give you an idea of how it’s structured:
There are many benefits of choosing JSON-LD for your structured data:
- It is preferred by Google,
- It does not impact the HTML code that is already on the page,
- It can be loaded asynchronously and doesn’t impact web performance,
- It’s easy to implement.
Before implementing it, keep in mind that it’s case sensitive, so follow the casing in the documentation.
Manually creating Schema markup
Creating the markup manually can be time-consuming and may result in errors.
But if you prefer to do it yourself, Google has a Structured Data Codelab. It’s a step-by-step guide to implementing the markup yourself.
Follow these vital resources:
- Google’s Search Gallery – shows the guidelines and required properties to include, but also sample markups.
- Schema’s documentation – includes all the vocabulary and available properties.
Using a plugin or markup generator tool
There are numerous tools to help you automatically generate the structured data markup. They save time and help eliminate typos and other errors.
Let’s look at a few of them.
If you are using WordPress, you can try the following SEO plugins which include the structured data feature:
You can also choose from a range of dedicated schema plugins, like
There are generally fewer Schema extensions for other CMS platforms.
If you’re using Shopify, check out the tools available in the Shopify App Store.
For Drupal, check out the Schema.org Metatag.
For WooCommerce, there is the Schema WooCommerce Plugin that can be used for both product reviews and rich results.
In some cases, if you can’t find a proper Schema plugin for your CMS or the plugins aren’t sufficient, you may just use one of the following markup generator tools and then add the code to your site manually.
Markup generator tools
There are many markup generator tools to choose from. I want to focus on Google’s Structured Data Markup Helper because it seems to be the most comprehensive of the bunch.
This tool gives you two main options: you can either mark up the contents of a website or an email. Then, you can either paste the URL of the page for which you want to create the markup or its HTML.
Instead of typing or copying and pasting the correct information, the markup helper asks you to highlight the relevant text strings or images.
After highlighting your content elements, you will see a dropdown list of items that you can mark as:
Mark up all the necessary elements.
If there are any items that you are unable to add by highlighting them, you can add them manually. To do that, scroll to the bottom of the markup that is visible on the right and click on “Add missing tags.”
Then you can manually add some elements.
When your markup is ready, click on “Create HTML” right above the code.
This tool lets you choose between JSON-LD and Microdata. After you select the suitable format, you can download the code.
Other markup generators you can try out include:
- Steal Our JSON-LD
- Merkle’s Schema markup generator
- Rank Ranger’s Schema Markup Generator
- Enabler Space’s Schema Markup Generator
Add your markup to your site
There are a few ways to add the code to your site:
- Use one of the CMS plugins
As mentioned above, you can use one of the CMS plugins. Some of them let you add the markup to a page, such as WordPress’ Schema & Structured Data for WP & AMP and Rank Math.
Browse the available plugins and see which one offers the markup that you’re looking for.
- Place the code in your site’s HTML manually
JSON-LD should be included inside the <script> tag and placed either in <head> (which is recommended) or <body> of the HTML code.
However, JSON-LD is not impacted by where it’s placed and can generally be inserted anywhere on the website.
- Use Google Tag Manager
Google has a great resource to help you implement structured data with Google Tag Manager.
Test your markup
Rich Results Test is the new tool for testing Google’s rich result features. In July 2020, Google announced that the tool was out of beta.
Previously, the Structured Data Testing Tool was used for this purpose. Initially, Google informed that it would be deprecated.
However, an update to this statement was released in December 2020. The Structured Data Testing Tool will be used for checking the validity of code in reference to Schema markup, but not for testing the rich result features that Google supports. For that, you should now use the Rich Results Test.
Rich Results Test
You can use the Rich Results Test to check:
- If a URL is eligible for rich results,
- If the markup is eligible for rich results.
Rich Results Test supports structured data in JSON-LD, RDFa, and Microdata.
You can check your markup before adding it to the page to see if you structured it correctly and included the necessary properties.
But you can also test a URL before or after adding the code to the page to see if it has a chance for rich results.
You also have the option to choose the user agent: Googlebot smartphone or Googlebot desktop.
Because of Google’s shift to mobile-first indexing, the default option is the Smartphone Googlebot. This is also why Google recommends you test with the Smartphone Googlebot.
After pasting the code, you can see whether it’s correct for acquiring rich results:
Note that, even if the page is eligible, the test might show warnings, informing you about the recommended properties to include. Your page might appear as a rich result but lack some elements that you haven’t included the data for.
However, if you see errors, it disqualifies the page from getting rich results. If your page is not eligible for rich results, you will see this message:
It will show you what the problem is: if there are any errors and what they are. The analysis is quite detailed, ranging from syntax mistakes to issues with specific items.
It also shows you how Googlebot understands your markup, which is helpful to be sure that every element is marked up the way you want it to be viewed.
After clicking on an error, Google will show the type of error and where it occurs in the code.
If you have other questions about using the Rich Results Test, read Google’s blog post.
Monitor the results and fix potential issues if they arise
Google will need time to recrawl and reindex your site to identify and understand your structured data. There is no set time for this but give it at least a few days.
Google Search Console will help monitor your rich results.
Check the Enhancements section for the rich result types that were detected on your site:
You can choose one of the rich result types and, after clicking on it, you will see a report for the URLs for which they were found, including a breakdown of those that have errors, are invalid with warnings or valid.
For more details on the rich result reports and troubleshooting, check out Google’s guide to rich results status reports.
- If you have a separate mobile and desktop site, add structured data to both versions.
- It’s essential that the contents of your pages are not blocked by anything so Google has access to your structured data. There could be several things, such as the robots.txt file or the noindex tag. Googlebot may also have trouble crawling a page that requires login information to access it.
- Keep in mind that even if you implement all the relevant structured data markup, there is no guarantee that your page will receive the enhanced features. Structured data only makes your page eligible for rich results.
Implementing structured data is an essential step in ensuring your content is correctly understood by search engines.
If you want your pages to become eligible for appearing as rich results, your structured data needs to be compliant with Google’s guidelines for rich results.
With rich results, you can give your pages a serious visibility boost in search results. You can appeal to potential customers, who will be more likely to visit your site if they see the enhanced features.
I hope my guide helps you achieve this!