AggregateRating or Review or Offers are now required by Google

As of March 2020, Google changed its requirements regarding the structured data markup for products. All products are now required to have either review or aggregateRating or offer in their markup.

Once you include a review or aggregateRating or offers in your markup, the other two properties become recommended in Google’s Rich Results Test.

What does this markup do?

All three types of markup output different information that Google can read and process. Let’s look at them in some more detail.


The offer schema output properties that inform Google about what you are selling. Examples of the questions that correct structured data markup answers are :

  • What is the availability of the product?
  • What is the price of the product?
  • In which currency is the product available for purchase?
  • What is the URL of the product?
  • Does the price of your product expire at some point?


The review schema outputs properties that inform Google about what previous customers of a product and how they rate the product.


The aggregateRating schema outputs properties that inform Google about the average rating based on multiple ratings or reviews.

Why do I need this?

You need to have valid markup on your product pages if you want the Google search engine to be able to show rich snippets for your products. We all know the star ratings in Google; these are a result of using the correct markup.

How can I implement this markup?

Ideally, structured data markup is handled by your eCommerce solution. For a lot of WordPress users, this would be WooCommerce.

Although WooCommerce does add all of the markups mentioned above, Yoast WooCommerce SEO does significantly improve upon the default WooCommerce markup by enriching it and making it even more accessible for Google to read and understand your markup.

Please keep in mind that you will need some customer reviews. If your customers did not leave any reviews for your products, WooCommerce does not have any data to show in the review and aggregateRating markup and will, therefore, not output it.