Pages

Friday 10 July 2015

Enabling Rich Snippets for Reviews and Ratings

Reviews and ratings are two ways to express an evaluation about a range of items. A review is the evaluation described as text, and a rating is an evaluation described on a numeric scale (such as 1 to 5). A rating can be marked marked up in conjunction with, and as part of, a textual review.
We support reviews and ratings for a wide range of schema.org types, including businesses, products, and different creative works such as books or movies. When Google finds valid reviews or ratings markup, we may show a rich snippet that includes stars and other summary info from reviews or ratings.

Reviews

A review is someone's evaluation of something. In addition to the text of the review, the markup can include a reviewRating, which expresses a summary of the review as a numeric value.
Review rich snippet example

Review type definition

PropertyTypeDescription
itemReviewed (required*)ThingThe item that is being reviewed. This needs to be a valid schema.org type. * If review is embedded into another schema.org type, using review property, then there is no need to mark up the itemReviewed property.
reviewBodyTextThe actual body of the review.
author (required)Person orOrganizationThe author of the review. The reviewer’s name needs to be a valid name.
datePublishedDateThe date that the review was published, in ISO 8601 date format.
reviewRatingRatingThe rating given in this review. A nested schema.org/Rating (or more specific subtype, most typically AggregateRating).
reviewRating.ratingValueNumberA numerical quality rating for the item.
reviewRating.bestRating(required*)NumberThe highest value allowed in this rating system. * Required if the rating system is not on a 5-point scale. If bestRating is omitted, 5 is assumed.
reviewRating.worstRating(required*)NumberThe lowest value allowed in this rating system. * Required if the rating system is not on a 5-point scale. If worstRating is omitted, 1 is assumed.

Examples

Here we show a simple example of book review. Note that itemReviewed property is explicitly described using a schema.org type. Try to use the most specific type for your reviewed items.
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Review",
  "itemReviewed":{
    "@type": "Book",
    "name": "The Catcher in the Rye",
    "sameAs": "http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye"
  },
  "reviewRating":{
    "@type": "Rating",
    "ratingValue": "4"
  },
  "name": "A good read.",
  "author":{
    "@type": "Person",
    "name": "Bob Smith"
  },
  "reviewBody": "Catcher in the Rye is a fun book. It's a good book to read."
}
</script>
Alternatively, you can embed a review into another schema.org type, using its review property.
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "image": "http://www.example.com/catcher-in-the-rye-book-cover.jpg",
  "name": "The Catcher in the Rye",
  "review":{
    "@type": "Review",
    "reviewRating":{
      "@type": "Rating",
      "ratingValue": "5"
    },
    "name": "A masterpiece of literature",
    "author":{
      "@type": "Person",
      "name": "John Doe"
    },
    "datePublished": "2006-05-04",
    "reviewBody": "I really enjoyed this book. It captures the essential challenge people face as they try make sense of their lives and grow to adulthood."
    }
}
</script>

Marking up a single rating as part of a review

Let's look at an example of a rating that is on a 10-point scale. In this case, the goal is to convey not only the actual rating, but the rating scale that it is based on.
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Review",
  "itemReviewed":{
    "@type": "Book",
    "name": "Super Book"
  },
  "author":{
    "@type": "Person",
    "name": "Joe"
  },
  "reviewRating":{
    "@type": "Rating",
    "ratingValue": "7",
    "bestRating":   "10"
  }
}
</script>

Aggregate Ratings

An aggregate evaluation of an item by many people should be marked up as a schema.org/AggregateRating . The default rating scale is from 1 (worst) to 5 (best), but any scale can be used; see below for an example. Google may display aggregate ratings as rich snippets or, for certain types of items, answers in search results, as shown below.
AggregateRating rich snippet example AggregateRating answer card example

AggregateRating type definition

PropertyTypeDescription
itemReviewed(required*)ThingThe item that is being rated. This needs to be a valid schema.org type. * If aggregate rating is embedded into another schema.org type, using aggregateRating property, then there is no need to mark up the itemReviewed property.
ratingCount(required*)NumberThe total number of ratings for the item on your site. * At least one of ratingCount orreviewCount is required.
reviewCount(requierd*)NumberSpecifies the number of people who provided a review with or without an accompanying rating. At least one of ratingCount or reviewCount is required.
ratingValue (required)NumberA numerical quality rating for the item.
bestRating (required*)NumberThe highest value allowed in this rating system. * Required if the rating system is not a 5-point scale. If bestRating is omitted, 5 is assumed.
worstRating(required*)NumberThe lowest value allowed in this rating system. * Required if the rating system is not a 5-point scale. If worstRating is omitted, 1 is assumed.

Ratings that don't use a 5-point scale

By default, Google assumes that your site uses a 5-point scale, where 5 is the best possible rating and 1 is the worst, but you can use any other scale. If you do, you can mark up the best and worst ratings, and Google will scale that to the 5-star system used in rich snippets. The 10-point scale used above does just this. For further examples see below.

Marking up an aggregate rating

For sites with aggregate ratings (the rating is based on the average of a collection of ratings rather than on a single rating or review), the process is similar to the single review case.
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Book",
  "name": "Super Book",
  "description": "Ultra interesting. Super impressive.",
  "aggregateRating":{
    "@type": "AggregateRating",
    "ratingValue": "88",
    "bestRating": "100",
    "ratingCount": "20"
   }
}
</script>

Marking up an aggregate rating when there is no best score

This final example shows how to mark up aggregate rating information that isn't on a 5-point scale, when the best/worst possible ratings are not explicitly written on the page. The goal is to display not only the average rating, but also the scale that it's based on.
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Book",
  "name": "Super Book",
  "description": "Ultra interesting. Super impressive.",
  "aggregateRating":{
    "@type": "AggregateRating",
    "ratingValue": "9",
    "bestRating": "10",
    "worstRating": "1",
    "ratingCount": "20"
   }
 }
 </script>
The content attribute in the meta tag allows you to provide information that isn't explicitly written on the page. Note that in general Google will not display content that isn't visible to the end user, but when the best and/or worst ratings aren't present on the page, using meta with bestRating or worstRating is allowed.

Review-specific usage guidelines and policies

To be eligible for reviews and ratings rich snippets, be aware of the following extra guidelines:
  • Make sure the review or ratings markup refers clearly to a specific product or service as shown in the examples above. Do this by nesting the review or ratings within the markup of another schema.org type — such as schema.org/Book or schema.org/LocalBusiness — or by using that schema.org typed element as a value for the itemReviewed property.
  • Make sure the reviews and ratings you mark up are readily available to users from the marked-up page. It should be immediately obvious to users that the page has review or ratings content.
  • Review and rating markup should be used to provide review and/or rating information about a specific item, not about a category or a list of items. For example, “hotels in Madrid”, “summer dresses”, or “cake recipes” are not specific items. See also our structured data policies for multiple entities on the same page.
  • We will not show review rich snippets for adult-related products or services.
  • If the markup contains a single review, the author's name needs to be a valid name. For example, "50% off until Saturday" is not a valid name for a reviewer.

No comments:

Post a Comment