When review information is marked up in the body of a web page, Google can identify it and use it to understand and present the information on your pages. Review information such as ratings and descriptions can help users to better identify pages with good content. (Learn more about rich snippets for Local Search.)
Usage guidelines
The goal of a review rich snippet is to provide users with review information about a specific product or service, such as the star rating (1 to 5 stars) and the name of reviewer(s).
The following guidelines apply to review snippets:
- When using review markup, the main topic of the page needs to be about a specific product or service. For example, using review markup on a page containing multiple products is not supported.
- Review of adult-related products or services are not supported.
- If the markup contains a single review, the reviewer’s name needs to be a valid name (Person or Organization). For example, "50% off until Saturday" is not a valid name for a reviewer.
You can mark up either individual reviews (for example, an editor's review of a product), or aggregate review information—for example, the average rating for a local business or the total number of user reviews submitted.
Use the individual Review format for pages containing a single review. For pages containing a collection of reviews, use the Review-aggregate format. If your page contains both (for example, an editor's review plus a set of user reviews), we recommend picking one format. Use the individual Review format to mark up the editor's review OR you can use the Review-aggregate format to summarize the set of user reviews. If a page contains both types of markup, Google will use the Review-aggregate markup for display.
Note: There are many possible ways to indicate review ratings—for example, stars, percentages, and various rating scales. More information about how to convey review ratings.
Individual reviews
Properties
A Review can contain a number of different properties which you can label using microdata, microformats, or RDFa markup. Google recognizes the following Review properties, derived from the hReview microformat. In general, you can use the same property name for microdata, microformats, and RDFa; where the microdata/RDFa and microformats property names differ, the microformats name appears in parentheses. Properties in bold are required. In addition, at least one of the following must be present: rating or dtrviewed.
| Property | Description |
itemreviewed (item) |
The item being reviewed. In microformats, can include the name of the item reviewed (fn). |
rating |
A numerical quality rating for the item (for example, 4). You can indicate a rating scale by specifying best (default: 5) and worst (default: 1). More information about review ratings. |
reviewer |
The author of the review. |
dtreviewed |
The date that the item was reviewed in ISO date format. |
description |
The body of the review. |
summary |
A short summary of the review. |
The following HTML code contains a review of L'Amourita Pizza.
<div> L’Amourita Pizza Reviewed by Ulysses Grant on Jan 6. Delicious, tasty pizza on Eastlake! L'Amourita serves up traditional wood-fired Neapolitan-style pizza, brought to your table promptly and without fuss. An ideal neighborhood pizza joint. Rating: 4.5 </div>
The following sections describe how to mark up this content using microdata, microformats, or RDFa.
- To check that your markup is correct, and preview how your content might look in search results, use the structured data testing tool.
- If rich snippets aren't appearing for your site, see possible reasons why.
Here is the same HTML code marked up with microdata:
<div>
<div itemscope itemtype="http://data-vocabulary.org/Review">
<span itemprop="itemreviewed">L’Amourita Pizza</span>
Reviewed by <span itemprop="reviewer">Ulysses Grant</span> on
<time itemprop="dtreviewed" datetime="2009-01-06">Jan 6</time>.
<span itemprop="summary">Delicious, tasty pizza in Eastlake!</span>
<span itemprop="description">L'Amourita serves up traditional wood-fired Neapolitan-style pizza,
brought to your table promptly and without fuss. An ideal neighborhood pizza joint.</span>
Rating: <span itemprop="rating">4.5</span>
</div>
</div>
Here's how this sample works:
- On the first line,
<itemscope itemtype="http://data-vocabulary.org/Review">indicates that the HTML enclosed in the<div>represents a review.itemscopeindicates that the content of the<div>describes an item, anditemtype="http://data-vocabulary.org/Review"indicates that the item is a review. - The sample describes properties of the review, such as the subject of the review, the reviewer, and the date reviewed. To label review properties, each element containing one of these properties (such as
<div>or<span>) is assigned anitempropattribute indicating a property. For example,<span itemprop="reviewer">.
Here is the same HTML content marked up with the hReview microformat.
<div class="hreview">
<span class="item">
<span class="fn">L’Amourita Pizza</span>
</span>
Reviewed by <span class="reviewer">Ulysses Grant</span> on
<span class="dtreviewed">
Jan 6<span class="value-title" title="2009-01-06"></span>
</span>.
<span class="summary">Delicious, tasty pizza on Eastlake!</span>
<span class="description">L'Amourita serves up traditional wood-fired
Neapolitan-style pizza, brought to your table promptly and without fuss.
An ideal neighborhood pizza joint.</span>
Rating:
<span class="rating">4.5</span>
</div>
Here's how this sample works.
- In the first line,
class="hreview"indicates that the HTML enclosed in the<div>describes a review. - The structured information is conveyed by the
classattribute (such asclass="rating"andclass="reviewer", and the values (such as4.5,Ulysses Grant). You can change the tags such asspananddivto suit your formatting needs. - Properties can contain other properties. In the example above, the property
itemdescribes the subject of the review, and includes the subpropertyfn(name).
Non-visible text
We recommend providing date information in ISO date format. This helps ensure that your information appears correctly in search results. You can provide this information, while still displaying a human-readable date on the page itself, by using the microformats value class pattern.
Consider this snippet from the HTML sample above:
<span class="dtreviewed">
Jan 6<span class="value-title" title="2009-01-06" />
</span>.
By including this date information inside the block labeled with class="dtreviewed", you indicate that the rich snippets parser should use the value in the title attribute to find the date the review was written.
Nested entities
In your review, you may want to use the people format to provide information about the reviewer, or use the organization format to describe a business being reviewed. In this case, you can nest the person or business entity inside your review entity. More information about nested entities.
Here is the same HTML content marked up with RDFa.
<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review"> <span property="v:itemreviewed">L’Amourita Pizza</span> Reviewed by <span property="v:reviewer">Ulysses Grant</span> on <span property="v:dtreviewed" content="2009-01-06">Jan 6</span>. <span property="v:summary">Delicious, tasty pizza on Eastlake!</span> <span property="v:description">L'Amourita serves up traditional wood-fired Neapolitan-style pizza, brought to your table promptly and without fuss. An ideal neighborhood pizza joint.</span> Rating: <span property="v:rating">4.5</span> </div>
Here's how this sample works.
- The example begins with a namespace declaration using
xmlns. This indicates the namespace where the vocabulary (a list of entities and their components) is specified. You can use thexmlns:v="http://rdf.data-vocabulary.org/#" namespace declaration any time you are marking up pages for people, review, or place data. Be sure to use a trailing slash and # (xmlns:v="http://rdf.data-vocabulary.org/#"). - Also on the first line,
typeof="v:Review"indicates that the marked up content is a review. - Each property of the review (such as the subject of the review and the reviewer) is labeled using
property. The property name is prefixed withv: (<span property="v:rating">).
Non-visible text
We recommend providing date information in ISO date format. This helps ensure that your information appears correctly in search results. You can provide this information, while still displaying a human-readable date on the page itself, by using the "content" attribute.
Consider this snippet from the HTML sample above:
<span property="v:dtreviewed" content="2009-01-06">Jan 6</span>
By including this date information in the content attribute, you indicate that the rich snippets parser should use this value to find the date the review was written.
Nested entities
In your review, you may want to use the people format to provide information about the reviewer, or use the organization format to describe a business being reviewed. In this case, you can nest the person or business entity inside your review entity. More information about nested entities.
Aggregate reviews
Google also recognizes markup about aggregated reviews. For example, a restaurant may have 24 reviews, with an average rating of 9 out of 10. Aggregating reviews allows you to convey this information.
Properties
Google recognizes the following aggregate review properties, derived from the hReview-aggregate microformat. In general, you can use the same property name for microdata, microformats, and RDFa; where the microdata/RDFa and microformats property names differ, the microformats name appears in parentheses. Properties in bold are required. Each item must include at least one of either count or votes.
Property |
Description |
itemreviewed(item) |
The item being reviewed. In microformats, can include the name of the item reviewed (fn). |
rating |
A numerical quality rating for the item (for example, 4). You can indicate a rating scale by specifying best (default: 5) and worst (default: 1). More information about review ratings. |
count |
The total number of reviews for the item on your site. Note: Whenever you include count, the page must also contain review markup for each reviewed item. count should only include reviews on your own site. |
votes |
Specifies the number of people who provided a rating with or without an accompanying review. A page must specify at least one of count or votes. |
summary |
A short summary of the collection of reviews that are being aggregated. |
photo |
The photo or the image of the item being reviewed. |
The following code represents an aggregated review of L'Amourita Pizza.
<div> L’Amourita Pizza 9 out of 10, based on 24 ratings. 5 user reviews. </div>
The next sections explain how to mark up this content using microdata, microformats, or RDFa.
MicrodataHere's the same HTML code marked up with microdata.
<div itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
<span itemprop="itemreviewed">L’Amourita Pizza</span>
<img itemprop="photo" src="pizza.jpg" />
<span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
<span itemprop="average">9</span>
out of <span itemprop="best">10</span>
</span>
based on <span itemprop="votes">24</span> ratings.
<span itemprop="count">5</span> user reviews.
</div>
Here's how this sample works:
- On the first line,
<itemscope itemtype="http://data-vocabulary.org/Review-aggregate">indicates that the HTML enclosed in the<div>represents an aggregate review.itemscopeindicates that the content of the<div>describes an item, anditemtype="http://data-vocabulary.org/Review"indicates that the item is a review. - The sample describes properties of the aggregate review, such as the subject of the review and the rating. To label aggregate review properties, each element containing one of these properties (such as
<div>or<span>) is assigned anitempropattribute indicating a property. For example,<span itemprop="itemreviewed">. - A property can consist of another item (in other words, an item can include other items). For example, the review above includes a rating (
itemtype="http://data-vocabulary.org/Rating") with the propertiesaverage,best, andcount. More information about review ratings.
Here is the same HTML content marked up with the hReview-aggregate microformat.
<div class="hreview-aggregate">
<span class="item">
<span class="fn">L’Amourita Pizza</span>
<img src="pizza.jpg" class="photo" />
</span>
<span class="rating">
<span class="average">9</span> out of
<span class="best">10</span>
</span>
based on
<span class="votes">24</span> ratings.
<span class="count">5</span> user reviews.
</div>
Here's how this sample works:
- In the first line,
class="hreview-aggregate"indicates that the HTML enclosed in the<div>summarizes the reviews on a page. - The structured information is conveyed by the
classattribute (such asclass="fn"andclass="rating", and the values (such asL'Amourita Pizza,9). You can change the tags such asspananddivto suit your formatting needs. - Properties can contain other properties. In the example above, the property
ratingincludes the subpropertiesaverage(the average rating) andbest(the highest possible rating), and the propertyitemcontainsfn. More information about nested entities. votesis useful whenever users on a review site can rate an item without writing full corresponding reviews. Their vote contributes toward the average rating but not towards the number of reviews available.
Here is the same HTML content marked up with RDFa.
<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">
<span property="v:itemreviewed">L’Amourita Pizza</span>
<img src="pizza.jpg" rel="v:photo" />
<span rel="v:rating">
<span typeof="v:Rating">
<span property="v:average">9</span>
out of
<span property="v:best">10</span>
</span>
</span>
based on
<span property="v:votes">24</span> ratings.
<span property="v:count">5</span> user reviews
</div>
Here's how this sample works:
- The example begins with a namespace declaration using
xmlns. This indicates the namespace where the vocabulary (a list of entities and their components) is specified. You can use thexmlns:v="http://rdf.data-vocabulary.org/# namespace"declaration any time you are marking up pages for people, review, or place data. Be sure to use a trailing slash and # (xmlns:v="http://rdf.data-vocabulary.org/#"). - Also on the first line,
typeof="v:Review-aggregate"indicates that the marked-up content summarizes the reviews on a page. - Each property of the review (such as the subject of the review and the number of votes) is labeled using
property. The property name is prefixed withv: (<span property="v:itemreviewed">). - We want to include the review rating (
typeof=v:Rating") in thetypeof="v:Review-aggregate" entity. Here, we userelinstead ofpropertyto indicate a relationship between the aggregate review (the entityv:Review-aggregate) and this rating (the entityv:Rating). Then, we include<span typeof="v:Rating"></div>to include the actual rating entity. More information about nested entities. votesis useful whenever users on a review site can rate an item without writing full corresponding reviews. Their vote contributes toward the average rating but not towards the number of reviews available.
