In the following you find RDFa markup patterns for exposing textual reviews and numeric ratings for products, places, or organizations.
The difference of the following pattern as per the original Google patterns is the fact that our pattern combines the
so your data will be understood by more clients.
Notes:
See below for more details on that issue.
div xmlns:review="http://purl.org/stuff/rev#"
<xmlns:v="http://rdf.data-vocabulary.org/#">
br />Product Reviews:
<<div rel="review:hasReview v:hasReview">
span typeof="v:Review-aggregate review:Review">
<br />Average:
<<span property="review:rating v:average" datatype="xsd:float">4.5</span>, avg.:
span property="review:minRating" datatype="xsd:integer">0</span>, max:
<span property="review:maxRating" datatype="xsd:integer">5</span> (count:
<span property="review:totalRatings v:votes" datatype="xsd:integer">45</span>)<br />
<</span>
</div>
</div>
Recommendation 1: In your HTML template, you should include the review markup only if there is review data for this article, because Google will otherwise display zero stars, which may convey a worse reputation than no star rating.
The best approach is a conditional pattern, which could look like
{% if {review_count}>0 %}
... markup for the review data ... {% endif %}
Recommendation 2:' You may feel tempted to suppress bad ratings, i.e. by a condition in the template to add the data markup only for ratings above 3, like
{% if {average_rating}>3 %}
... markup for the review data ... {% endif %}
Don't do this! Google may use the distribution of ratings across your site as an important parameter to judge the content quality of your site, and this may make Google think that your rating data is faked.
We found out that there is a popular pitfall that might make Google not show stars for reviews in the rich snippets for your page.The reason is that there are now two properties for indicating the numbers of reviews / ratings for
The first property is
The second is
Now, historically, we always recommended to use v:count. However, recently Google added a tiny note
Note: Whenever you include count, the page must also contain review markup for each reviewed item.
This means that you can only use v:count if
There are the following important consequences:
An important consequence of this change is that the text
with "xyz" being the number of ratings will disappear from the rich snippet shown in the Google testing tool. So instead of
***** 89 reviews - $899.00 - In stock
it will show
***** $899.00 - In stock
However, Google will, in our experience, no longer show any stars if you use v:count while not providing markup for the individual reviews. Do not trust the Google Rich Snippets Testing Tool in that respect; it will still tolerate both (this is a bug in the tool that we already reported back to Google).