Structured Data for Reviews

In this video you’ll learn how to create Reviews using Structured Data.

Links from the Video:


In this video I want to demonstrate how to build a review snippet using structured data. This is for everyone who writes critic reviews about products or other things. This could also be reviews about employers for example.

*music playing*

Hey there! Welcome back! Nice to have you in the fourth lesson of module 3 of my Structured Data Training. I am Florian, the developer of SNIP, the Rich Snippets and Structured Data Plugin for WordPress. If you want to use the plugin, please feel free to follow the link that you can find in the description area.

In this video I want to show you how a review snippet is built. You hopefully took all the lessons from the previous modules. If not, please jump back to the beginning or to a video where you think you need to refresh your knowledge.

In this video it’s important that you have understood what structured data is and what Rich Snippets are. You need to know how and where we can find the right schema classes as well as their properties to create a review snippet.

Read the guides

As always we look up the review page on Google’s reference to see how a rich snippet in search results may look like. Especially here for a review. What you should do and should not do. And be really serious about that. If you do violate Google’s policies, your markup might not show up in search results and maybe never come back. And last but not least what properties are totally necessary and which ones are just recommended. This is the page where you’ll find this document. Look it up, read through and then follow me to the next page.

Of course you should also have a look on This page is the one that defines all properties in every detail. On a Review is a CreativeWork which is a Thing. If you don’t know what I’m talking about right now please go back to module one of my Structured Data Training. It will be explained in full detail how is structured.

As you can see here a review has a few child schemas that you can also use. Google describes the employer review on its reference pages but you are free to use one of the others as well. Google recognizes all of them as a review. As you can see the review schema can have dozens of properties. However you don’t need every single one to get a rich snippet in search results. But as always: you can add more if you can feel the properties properly. I am sure that Google and other search engines will mark more and more properties as mandatory in the future. For now we stick with the recommended ones.

Alright! Let’s get started! In the video I will use the built-in generator in SNIP- my Rich Snippets & Structured Data Plugin for WordPress. If you don’t have the plugin please feel free to use the structured data generator on my website to follow the video instructions. The free generator does not have all the features the built-in generator has. So it might be that you get stuck at some point. Especially when it comes to Global Snippets that allow you to automate structured data generation.

Set up a Global Snippet

Let’s begin! The plugin comes shipped with a “review for a product” example. Normally the plugin asks if it should install examples after the installation process. If you missed that you can always go back to the settings page of the plugin to install the examples. Just hit the “Go for it”-Button. And here we go! It will install the examples and we have our Global Snippet that we can work with.

Let’s open the “review for a product”. The plugin is smart enough to load all required and recommended properties for you so that you just have to edit them to fit your needs. Note that the list of recommended and required properties may change in the future and so it can be that you miss one property. In this case we need to add a property later after we have validated the markup using Googles Structured Data Test Tool. I will explain that to you later on. For now let’s go through the properties.

  • The publisher is an Organization. I have linked to another Global Snippet so the plugin knows that it should get this data from there.
  • The itemReviewed property should hold the markup of the item that is being reviewed. In this case it should be the product. Almost all properties are marked overridable here. This is because the reviewed product differs between each post. Checking the checkboxes make sure that we can set a new name for each product individually for example.
  • For the other properties I used WordPress’ internal values like the author name here and his or her author URL, the datePublished, the dateModified and for the post content – for the reviewBody the post content.
  • Because the review markup can show stars in search results it’s important to not forget to rate the product that we have reviewed. You can use the internal or the built-in star rating feature. I normally use the 5-star rating but you can also use the 100 points system if you like that more. You could also go with something totally different if you rate from 1 to 50 points for example you can always create your own rating by selecting sub-schema here.

Please note that SNIP is not a rating system or a user rating system. It does not allow users to rate your pages. This is also not the nature of the review markup because with the review you – as the author – rates something. In this case this would be the product.

After everything has been done please select where this markup should be included. I use posts here but you could also use a special category as well. Don’t forget to publish or update and save your settings.

Create a new post (review)

Let’s assume I write an article about a teacup that is produced by a local friend of mine. So this whole blog post is a review about a product which is the teacup. Because search engines are not really good by getting concrete information out of a review it’s super important to give them all the information they need using structured data.

As you can see, the brand would be a “friend of mine” but search engines don’t understand what this actually means. They also can just guess if the price is 8 euros or it’s 25 euros. Because there are many more numbers on this page it’s really just guessing.

This is particular the same with links that are found on the post like this one or this one. Search engines don’t know exactly which link is the URL where you can actually buy this product.

Edit Global Snippet values

So to keep this short let’s click on the Global Snippets button on the right sidebar or down below in the metabox here. It will bring up a new window where you can find the Global Snippets on the left side. We choose our newly created “review of product” and the plugin will then load all properties that we have marked as overridable. So now you understand why we marked them as overridable at all. Because their values are changing in every post because the product is not always the same.

I have pre-filled the information as best as I could. So you should do that on your review, too. And after that click on the Save button here. Let’s go through it quickly. You can see we have the numbers the internal numbers my friend uses on his webshop. It’s okay if you don’t know these numbers. They will produce a warning later but that’s okay. Warnings are not errors. It does not prevent your rich snippet from showing up.

Here is one offer. The exact price in euros, the price currency, 8 euros price and the actual URL where the product can be found and bought. Then just a little description and of course the brand. You could also use or add the URL property here for the brand if you like.

Of course the most important thing is the review. I’ve rated the product five stars out of five. I could use like another rating value here. But five is okay and we save this.

Alright. Yeah. It’s now an error because nothing has changed.

Test your Structured Data

Now let’s jump over to Google Structured Data Test Tool. You’d enter the URL in this field. Because I’m on a local development site it’s not possible for Google to load data from my machine at home. So I paste the code snippet that the plugin has produced into the code snippet field directly. And I run the test.

And as you can see all is good. You don’t get any errors or warnings. If there would be any errors or warnings the tool would give you an advice on how to solve the issue mostly by adding missing properties or adding another value to it.

Okay! Well done! Good job!

Summing up

Alright! Let’s sum everything up what we have learned in this video.

  • At the time of the making of this video the review snippet shows up star rating in search results. Google is playing a bit with what is displayed. I can remember that they displayed the image for what has been rated a few months ago. This has disappeared now. Maybe it comes back later. Who knows?
  • For now you can rate products, local businesses, movies, books, and music. But you can also use sub-schemas like the EmployerReview for a rating.
  • To find the right properties use Google’s reference pages to learn more what you should and should not do.
  • Use to integrate more properties. I totally recommend to use as many properties as possible.
  • Automate as much as you can by setting up a Global Snippet as shown on this video using SNIP my Rich Snippets & Structured Data Plugin.

In the next video I will show you how to create an event snippet. This is especially interesting for website owners who work with events a lot. So see you in a bit!

*music playing*