GD Rating System (Free and Pro) include addon for integrating rating or review rich snippets into page content. This article will explain how this works and how the Google will use the rating snippets from your website.
Google Rich Snippets
Google uses structured data markup from websites it crawls to better understand and organize search results. And, some of the structured data is used to generate enhanced search result in form of a rich snippet. Through the years, Google has added many elements into rich snippets specification, but among the first snippets added is for ratings.
There are two types of rating based snippets. One is for reviews where the single rating is used in a review capacity. And the other is aggregated rating of multiple reviews or ratings. There are different ways to add snippets into the HTML of the page, and Google uses Schema.org standards for this in form of Microdata, RDF or JSON-LD. Ratings and reviews right now support only Microdata and RDF, while JSON-LD support is coming.
Testing the page with snippet
To make sure you page snippet works as expected, you need to test your pages. This is very important in the beginning when you make tweaks and changes to make sure it is OK. Tests can be done with Google Structured Data Testing Tool. It allows tests from URL or you can insert HTML of your page (this is useful when you test from localhost). If the testing tool finds some errors, you will see them marked in the results panel. This testing tool shows all types of snippets, not only rating or review.
Rating snippets in GD Rating System
GD Rating System supports both types of rating/review snippets Google uses. Markup is added using Microdata format, and once JSON-LD for ratings is used by Google, the plugin will support that type of markup too. There are no plans to support RDF too.
Adding markup to HTML can be a very complex process for the CMS based system like WordPress. Rendering of page content is controlled by the theme and each theme does that in different ways. Add to that other plugin that can influence rendering, and there is very little chance of adding special markup for ratings into existing HTML markup.
Every rating template for single rating block in GD Rating System includes special action hook where Rich Snippets addon can inject the snippet markup. Per Google specification, this can be done only for singular post/page and only once on a page. If that is not the case, the snippet will be ignored.
Snippet generated by the plugin is not visible to users, but it is not hidden, it just uses META tags to store the snippet data. You can see how the markup looks like for both types of snippets. Both types of snippets require that you set the item type. This works differently for review and aggregated rating, but both require item type set. You can use most types from Schema.org (you need to make sure they support ratings), but you should always test to make sure it works.
Review type of snippet is generated for Stars Review rating method (available in Pro edition of the plugin). Here is how this snippet looks like in HTML.
<span itemtype="http://schema.org/Review" itemscope> <span itemprop="itemReviewed" itemtype="http://schema.org/Product" itemscope> <meta content="GD WebFonts Toolbox" itemprop="name"> <meta content="http://dev4press.dev/2015/11/gd-webfonts-toolbox/" itemprop="url"> </span> <span itemprop="reviewRating" itemtype="http://schema.org/Rating" itemscope> <meta content="4.00" itemprop="ratingValue"> <meta content="5" itemprop="bestRating"> </span> <span itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta content="millan" itemprop="name"> <meta content="http://dev4press.dev/author/millan/" itemprop="url"> </span> <span itemprop="publisher" itemtype="http://schema.org/Organization" itemscope> <meta content="Dev4Press" itemprop="name"> <meta content="http://dev4press.dev" itemprop="url"> </span> </span>
Aggregated rating snippet
Rating type of snippet is generated for Stars Rating and Thumbs Rating (available in Pro edition of the plugin). Here is how this snippet looks like in HTML.
<span itemtype="http://schema.org/Product" itemscope> <meta content="GD WebFonts Toolbox" itemprop="name"> <meta content="http://wp.dev/2015/11/gd-webfonts-toolbox/" itemprop="url"> <span itemprop="aggregateRating" itemtype="http://schema.org/AggregateRating" itemscope> <meta content="4.00" itemprop="ratingValue"> <meta content="5" itemprop="bestRating"> <meta content="4" itemprop="ratingCount"> </span> </span>
How snippets data is used
So, how the Google uses snippets? Well, that is not documented and Google is very secretive about this:
- There is no guarantee Google will grab any rich snippets data from your pages.
- There is no guarantee that Google will use rich snippets data from your pages.
- There is no way you can force Google to extract or use rich snippets from your pages.
- Website reputation is one of the factors Google considers for using rich snippets.
What can you do to prepare the best you can for Google extracting and using rich snippets? Well, based on a lot of topics read on the subject, experience, and testing, there are some things you should do to prepare.
- Make sure you add your website into Google Search Console (former Webmaster Tools). This is a very powerful tool that will give you a lot of information related to your website. For rich snippets, you need to use Structured Data tool located under Search Appearance menu. This will show all structured data and rich snippets Google has found on your website. There you will see Review and Aggregated Rating elements and which pages have them and Google extracted it from. This is not all pages with rich snippets but pages Google used so far.
- Again, in Google Search Console you have a useful tool that can speed up the Google crawl rate and make Google visit your website at the faster rate and that will improve your chances for the rich snippet to be extracted. This can be done from Site Settings page for each website you have in the Search Console. Normally, crawl rate is set to automatic, but you can set it to a higher value for a limited time. Do not overdue it, 0.05 requests per second are enough. Again, this doesn’t guarantee that Google will obey this, but from my experience, the number of hits my website got from Google increased after setting higher value here.
- It is a good idea to have posts/pages with a higher number of votes recorded, it is considered as better value for inclusion. Reviews are always considered as good value, but it is a good idea to provide subject and description along with the review value.
- Be patient. There is no way to force this, but using Search Console you can monitor extracted structured data and confirm that your rich snippets are used.
Other search engines
GD Rating System implements rich snippets for ratings according to Schema.org and Google implementation. All ratings pass the Google verification tool. Other search engines that support rich snippets might do things differently. Currently, Bing and Yandex allow rich snippets to some extent.
Bing supports rich snippets for rating according to Schema.org and validates ratings added with GD Rating System without problems.
Validator URL: www.bing.com/webmaster/diagnostics/markup/validator.
Yandex should support rich snippets, but this is not documented properly by Yandex. It states that Schema.org is supported, but their validation is not able to validate even the simplest Schema.org tags, and the ratings don’t validate also. Messages displayed don’t make any sense and they don’t reflect the Schema.org specification. GD Rating System can’t support this search engine until their markup is clearly defined and up to the specification of Schema.org.
Validator URL: webmaster.yandex.com/tools/microtest.
How other websites are using rich snippets
I have analyzed close to 20 websites that have rating rich snippets listed and displayed in Google search results. In most cases, websites are using very similar markup as GD Rating System is generating, all data is stored in META tags and it is not visible directly to visitors. Here are some bigger websites with rich snippets:
- Google own Play Store is using META tags for aggregated ratings for both rating value and number of votes.
- IMDb uses a classic method where the visible data is wrapped in span tags with rating and votes property.
- Amazon is not using any form of rich snippets that we know of, but ratings are still used and displayed in search results.
- Discogs website is using META tags for aggregated ratings for both rating value and number of votes.
- GoodReads uses completely broken aggregated rating, and a testing tool is marking it as broken, but still, Google uses these ratings in search results.
- Apple iTunes uses a classic method for wrapping visible data in span tags for rating and votes.
- MetaCritic uses some hybrid version, with some elements wrapped in SPAN and visible, and some as META.
- RottenTomatos also uses hybrid version, but it also includes multiple rating on the page (and that is against Google rules), and still ratings are displayed in search results.
So, as you can see, Google rules are one thing, but different websites are doing different things and some are used even if invalid. Also, all these websites have a lot of pages with ratings, but google is not showing rating results for all pages that have rating snippets, it is still selective even for large websites like these.
Well, as you can see, it requires some work and some luck to get your rating into Google search results. And GD Rating System does a great job of creating snippets that are fully valid and recognized by Google. I plan to improve the snippets over time depending on the way Google evolves the snippets specification.