Ad

Aggregate Review Is Missing On Google SERP

- 1 answer

Recently I've lost my star review on Google SERP. I know that reasons may be differents and various, but I would to be sure that I didn't made mistakes on code:

   <div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating" style="text-align:right;">
         <b><span itemprop="ratingValue">5</span> on 
         <span itemprop="bestRating">5</span> based on <span itemprop="reviewCount">857</span> reviews</b>
   </div> 

Could Google have released an update?

Ad

Answer

The code snippet you provided in the main post: in isolation is not valid according to Google SDTT.

The review has no reviewed item specified

<div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating" style="text-align:right;">
  <b><span itemprop="ratingValue">5</span> on 
  <span itemprop="bestRating">5</span> based on <span itemprop="reviewCount">857</span> reviews</b>
</div>

This is fixed by adding in itemprop="itemreviewed"

<div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating" style="text-align:right;">
  <h3 itemprop="itemreviewed">Mario Bros service</h3>
  <b><span itemprop="ratingValue">5</span> of 
  <span itemprop="bestRating">5</span> based on <span itemprop="reviewCount">857</span> reviews</b>
</div>

Instances of AggregateRating may appear as values for the following properties

  • Brand
  • CreativeWork
  • Event
  • Offer
  • Organization
  • Place
  • Product
  • Service

Source - http://schema.org/AggregateRating


Your full snippet in the comments (which I have simplified) is using the Organization schema http://schema.org/Organization and a different vocabulary for Review aggregate

<html itemscope itemtype="http://schema.org/Organization">
  <body>
    <div class="review">
      <div itemprop="review" itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
        <img itemprop="rating" src="#" alt="173 recensioni" />
        <span itemprop="count">173 recensioni</span>
      </div>
    </div>
  </body>
</html>

Which has multiple errors.


The valid way would be:

Using data-vocabulary.org

<html itemscope itemtype="http://schema.org/Organization">
  <body>
    <div>
      <h1 itemprop="name">Mario Bros</h1>
      <div itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
        <h3 itemprop="itemreviewed">Mario Bros service</h3>
        <p>
          <span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
            <em itemprop="average">5</em> out of <em itemprop="best"> 5 </em>
          </span>
          <b>based on</b>
          <!-- How many people rated this item? -->
          <em itemprop="votes">173</em> ratings.
        </p>
        <p>
          <!-- How many people reviewed this item? -->
          <em itemprop="count">45 </em> user reviews.
        </p>
      </div>
    </div>
   </body>
</html>

Using schema.org

<html itemscope itemtype="http://schema.org/Organization">
  <body>
    <div>
      <h1 itemprop="name">Mario Bros</h1>
        <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
          <em itemprop="ratingValue">5</em> out of <em itemprop="bestRating">5</em> based on <em itemprop="ratingCount">24</em> user ratings.
        </div>
    </div>
   </body>
</html>

You also mentioned in comments that they are products:

products such as curtains, roll-up, etc

This is Google's example from the Products data type:

<div itemscope itemtype="http://schema.org/Product">
  <img itemprop="image" src="dell-30in-lcd.jpg" />
  <span itemprop="name">Dell UltraSharp 30" LCD Monitor</span>
  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <span itemprop="ratingValue">87</span>
    out of <span itemprop="bestRating">100</span>
    based on <span itemprop="ratingCount">24</span> user ratings
  </div>
<://schema.org/Product">
  <img itemprop="image" src="dell-30in-lcd.jpg" />
  <span itemprop="name">Dell UltraSharp 30" LCD Monitor</span>
  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <span itemprop="ratingValue">87</span>
    out of <span itemprop="bestRating">100</span>
    based on <span itemprop="ratingCount">24</span> user ratings
  </div>
</div>

Modified for your criteria would be:

<html itemscope itemtype="http://schema.org/Organization">
  <body>
    <div>
      <h1 itemprop="name">Mario Bros</h1>
        <div itemscope itemtype="http://schema.org/Product">
          <img itemprop="image" src="curtains.jpg" />
          <span itemprop="name">Acme brand Curtains</span>   
          <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
            <em itemprop="ratingValue">5</em> out of <em itemprop="bestRating">5</em> based on <em itemprop="ratingCount">173</em> reviews.
          </div>
        </div>
    </div>
   </body>
</html>

Enchanced further:

<html itemscope itemtype="http://schema.org/Organization">
  <body>
    <div>
      <h1 itemprop="name">Mario Bros</h1>
        <div itemscope itemtype="http://schema.org/Product">
          <span itemprop="brand">Acme brand</span>
          <img itemprop="image" src="curtains.jpg" />
          <span itemprop="name">Acme brand Curtains</span>   
          <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
            <em itemprop="ratingValue">5</em> out of <em itemprop="bestRating">5</em> based on <em itemprop="ratingCount">173</em> reviews.
          </div>
          <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
            <!--price is 1000, a number, with locale-specific thousands separator and decimal mark, and the € character is marked up with the machine-readable code "EUR" -->
            <span itemprop="priceCurrency" content="EUR">€</span>
            <span itemprop="price" content="1000.00">1,000.00</span>
            <link itemprop="availability" target="_blank" rel="nofollow noreferrer" target="_blank" rel="nofollow noreferrer" href="http://schema.org/InStock" />
            <span>In stock</span>
          </div>              
        </div>
    </div>
   </body>
</html>
Ad
source: stackoverflow.com
Ad