Incomplete microdata with schema.org review tag solution

Why should we worry?

Schema.org Review tags one of the most used tags.There is reason of it.Google displays beautiful stars just below the title of search results if you are using Review tag on your web page.Visual display of review rating makes user click on that search result more than those without any ratings to display.

But recently webmasters using Review tag on their webpages found stars missing in Google SERP for their webpages.I was one of the victim.Many pages on this site use those tags.I did came to know about the issue after seeing one of my page in SERP without stars for a test query.Worried about CTR of my page I started investigation to find root cause of the problem.

What went wrong?

Google provides Google Rich Snippets tool to test Structured markup tags.You can test schema.org tag markup using this tool.I tested my tag code using the tool and got Warning :Incomplete microdata with schema.org.

I was using the code mentioned below.Note this code is same as that of mentioned on Schema.org website itself (but instead of full markup I have taken only Review part).This code was giving the warning Incomplete microdata with schema.org.Due to this warning no stars were getting displayed on Google Search Results page.

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Review Title</span>
    by <span itemprop="author">Author Name</span>,
    <meta itemprop="datePublished" content="2011-04-01">
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1" />
      <span itemprop="ratingValue">Rating given</span>3
      <span itemprop="bestRating" content = "1" />
    </div>
    <span itemprop="description">Reason beind review rating. </span>
  </div>
    Google Rich Snippet Tool Result

Incomplete Microdata message in Google Rich Snippet testing tool

Please note that in below code I am using filler text (like Author name etc) you need to replace them with some real value and then use on your site or test it.Earlier this code was working fine but now it has issues.Logically this code should not have worked from first day but Google was not smart enough to figure this out earlier but now they can.

How to solve it?

There is a logic explanation of this code being incomplete.Above code says that it is a review but does not say anything about the item being reviewed.So Google now imposes the term that item should be mentioned if review tag is used standalone.This can be verified if you are using Product tag along with review tag then you can see stars in SERP.In that case Google can interpret that Product is being reviewed.

Solution 1: Using About itemprop

Now for the solution we need to provide the missing information.Missing information in this case is the item being reviewed.Having reached to this conclusion I explored the Review tag page.Out of the many attributes listed one attribute about caught my attention.

I thought to give it a try and validate if my reasoning is correct and it is the right attribute to use.So I used About attribute to link the item being reviewed.The experiment did worked out fine.I am sharing the modified code below you can test the same yourself.

The tags contain place holder text which you can modify according to your requirement and paste the tag.All the tags are verified and works fine.

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Review Title</span>
<span itemprop="about">write name of item being reviewed</span>
    by <span itemprop="author">Author Name</span>,
    <meta itemprop="datePublished" content="2011-04-01">
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1" />
      <span itemprop="ratingValue">Rating Given</span>
      <meta itemprop="worstRating" content = "5" />
    </div>
    <span itemprop="description">Reason behind review rating. </span>
  </div>
    Google Rich Snippet Tool Result

Working Schema.org Review tag

Solution 2: Using itemReviewed itemprop

Few visitors have queried whether any other property can remove the warning message.So I was tempted to find a second solution.I must say the second solution seems to be better than the first one.The reason is it does not require you to use Name and About properties.

Instead of using these two itemprop a single property itemReviewed of Review tag can be used.If you see Name and About properties are not specific to Review tag.They are generic properties.On the other hand itemReviewed tag is specific property of Review tag.So I would recommend using this approach instead of first one.Here is the complete tag for your reference

<div itemprop="review" itemscope itemtype="http://schema.org/Review">
 <span itemprop="itemReviewed">write name of item being reviewed</span>
    by <span itemprop="author">Author Name</span>,
    <meta itemprop="datePublished" content="2011-04-01">
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1">
      <span itemprop="ratingValue">Rating Given</span>
      <meta itemprop="worstRating" content = "5">
    </div>
    <span itemprop="description">Reason behind review rating. </span>
  </div>
    Google Rich Snippet Tool Result

itemReviewed Review tag property

What is Next?

I have written detailed post on SEO with Schema.org.In case you are planning to use it then it is worth reading the article.I would be updating it with time as well.

Consider sharing the post in case you found this useful.

27 thoughts on “Incomplete microdata with schema.org review tag solution

  1. glad to know it..comments like this make the day

  2. Saved me some work and some review do not require about! Thanks!

    • Glad to know you found this useful

  3. Thank you! for your sharing it really helped me 🙂

  4. Thanks for your kind words

  5. Excellent work around, Esha, and thanks for the tip. I’m sure it saved a lot of people some time and frustration.

    • Thanks for your kind words

  6. where do i need to put that code when i have it in alot of pages 1 by 1?

    • The code should be part of your Review Schema.org tag implementation..Are you using any plugin or have added them manually

  7. I tried testing snippets of both the solutions you mentioned above in Google Structured Data Testing Tool and it’s not showing the star rating!

    • Are you getting any errors and could you paste your code here as well

  8. Thank you very much~~

Leave a Comment