Local Businesses: Get Review Snippets in Google with aggregateRating Schema

Review star rich snippets are a rather poorly understood feature of Google’s search results, especially for local businesses. There’s not a lot of clear information about how to trigger them, and what rules and guidelines you should be considering in your implementation.

Part of the problem is that it has been a moving target for the past few years. At first, pretty much any site could achieve review stars in their snippet by simply adding the aggregateRating schema markup to their pages. Then, with the emergence of JSON LD, doing this got even easier — and implementation (and abuse) increased accordingly.

The results were as you’d expect. SEO’s and DIY-ers were marking every page on their sites up for review stars. And this worked… for a time.

It’s still possible to trigger review stars by simply adding the aggregateRating value to your LocalBusiness schema markup — but the likelihood that this will work for you out of the box is low. More importantly, this approach violates many of Google’s guidelines and is just generally a spammy, junky practice that doesn’t help users make informed decisions; so even if it’s working on some sites right now, it’s not a recommended or sustainable approach.

The Rules

Google has clamped down on which sites/pages get stars in their rich snippets. Even if you do everything properly, you still may not see stars on every (or any) of the pages you want them on. The best bet, though, is to try to keep your implementation as above board as possible by following these rules:

These ones are mandatory and somewhat enforceable:

  • Don’t use aggregateRating on your home page (they just won’t work and may be a spam signal)
  • aggregateRating score must represent actual reviews that are all visible on your site
  • If you don’t show the actual reviews on a given page, but are using aggregateRating schema, that page needs to clearly show the review score and link to the page where the reviews are visible
  • Pages you put the aggregateRating score on must be relevant to the reviews
  • Reviews should be unique to your site (not pulled from Google, Yelp, etc.)
    Note: you can put 3rd party reviews on your website, you just can’t mark them up for your rich snippet.

These ones are less enforceable, but still worth trying to oblige:

  • You shouldn’t curate reviews (if you do, at least throw in a few 3’s and 4’s)
  • You should have the user’s permission to publish their words
  • Users should be able to add reviews (or at least make it look like they can)

Last but not least, it appears that in order for a page to trigger stars it needs to have some authority. Well linked/trafficked pages typically stand a better chance of having review stars in the SERP.

These rules are based on my interpretation of Mike Blumenthal’s interpretation of the current Google Guidelines for review snippets 😛

Make it Happen

With the above parameters in mind, there are a couple ways to implement reviews on your site and remain above board while maximizing your chances of getting stars in your snippets.

Option A: Use review software

Some review systems will handle all the heavy lifting for you. Popular examples include:

Whitespark’s Reputation Builder is specifically built to help local businesses collect and monitor reviews, and makes displaying properly marked-up 1st party reviews on your site totally painless using the built-in Review Widget feature. This option is affordable, stress-free, and well worth considering. The alternative I describe below is actually based largely on mimicking Reputation Builder’s output.

TrustPilot is quite a bit pricier, and generally better suited to larger, national companies.

These systems make implementation easy by simply letting you pop a widget or a code snippet into your site. They aren’t free and do require a bit of commitment to implement and use, though, which might not be necessary if you’re only looking to get review stars in the SERP.

Option B: Roll your own review system

If you’re motivated, it’s pretty simple to whip up a basic review system for your website that adheres, for the most part, to Google’s guidelines (or at least enough that no one will know the difference).

This system could be anywhere on the complexity spectrum, based on your resources and needs. Here I’m going to illustrate an easy and free way to get the basics in place.

These instructions are based on using WordPress, but the general idea would apply to any platform. Here’s more info about including schema markup in your web pages.

Step 1

Make a testimonials/reviews page on your site, and fill it with customer reviews. Here’s one I built for a client that we’ll use as an example:

I used a custom post type for the reviews, but you could also just add them as static content.

Pro Tip: For a quick way to get those pretty review stars into your WordPress posts, here’s a handy plugin called Universal Star Rating. Be careful using other plugins, as many of them will inject their own review schema into your site and make things messy.

I give this plugin 😉

Step 2

Mark up each review with the review schema. Google recommends using JSON LD, and so do we — so that’s what we’ll use here.


Wrap the reviews with the LocalBusiness schema (or a more specific option, if you prefer), and include the aggregateRating with the average of all the reviews on the page.


Refer to schema.org for more info on completing these properties.

Bring it all together

Here’s the full JSON LD markup I used on the testimonials page (I only included two reviews in this example, but you’d re-use the review snippet for however many reviews you have on the page).

Add the markup to your website’s <head>. To include the markup in WordPress, I’m using a plugin called Per page add to head. This allows you to easily add JSON LD to any page, but there are countless other ways to achieve this.

Use Google’s Structured Data Testing Tool to check your work. Warnings are OK (but don’t disregard them), Errors must be corrected.

Step 3

Add a “leave a review” form somewhere to the Testimonials page. You could build a whole system that moderates submissions and then publishes them on the page (like Reputation Builder does)… or you could not. No one will know ¯\_(ツ)_/¯

Step 4

Add your LocalBusiness and aggregateRating schema to other pertinent pages on your site. Common examples would be your Services page(s) and About us page. Avoid things like blog posts, resources pages, and anything else where the reviews aren’t applicable. I’d also just avoid putting it on too many pages in general. Example:

Again, don’t put that on your home page. You can put the LocalBusiness stuff there, just remove the aggregateRating, like so:

Note: Every page with the aggregateRating score on it must either show all the reviews it references OR show the aggregated review score and clearly link to the page that contains the reviews.

You can do this however you like. In my implementation, I added a block like this to all the pages I put the aggregateRating schema on:

That’s it!

Did I miss anything? Any questions about implementing this on your site? Let me know in the comments!


Nick Pierno

I've been working in digital marketing and local SEO since 2008. I'm passionate about helping businesses make the most of their marketing budgets online, and I'm especially keen on lead-generation and performance tracking. I work with Whitespark as an SEO Consultant and do some occasional freelance consulting as well. I also write digital marketing & SEO posts on my personal site.

Follow Me on Twitter

23 comments on “Local Businesses: Get Review Snippets in Google with aggregateRating Schema

  • If you pull your reviews from Trust Pilot and mark them up on your site, isn’t that marking up reviews from a third party? They aren’t unique to your site if they are also on Trust Pilot’s review page for your brand.

    Also, can you add the same aggregate rating schema to multiple pages on your site. Not over doing it, but pages that are relevant to your brand and product, outside of the home page.

    • Hi Kate, great question! I’m not certain.

      As far as I know, TrustPilot reviews are ok to mark up on your website, and they can generate rich review snippets.

      I think maybe the logic with these third party review tools is that the reviews are yours (whereas the reviews on Google are owned by Google, etc). TrustPilot doesn’t collect reviews unless you subscribe to their service. In that context, you could consider those reviews to be “first party”.

  • Hi Nick,

    Great article! Is it possible to get a non-local business to show a review snipit for a category page, or would the reviews have be specific to each product?

  • Nice post Nick. From my experience I’d agree that the site needs to have some authority before snippets are displayed. I can’t remember where I saw the article but the writer suggested the benchmark was a domain authority of 25 or higher. I don’t think page-level links are always necessary but I have no doubt that it would help

    Even the mandatory rules are only somewhat enforced as you suggested so I think this feature will continue to be abused until there’s actual consequences. Not unlike keyword stuffing GMB business names or spammy reviews.

    • Thanks Patrick!

      It does seem like authority/trust are factors in whether or not the stars show up, but it seems more to me like Google’s just looking for any reason not to trust the site (though that’s hard to quantify for practical purposes).

      The site in my example actually has a domain authority of 18 (according to Moz). That’s not necessarily equivalent to how Google sees the domain, but it does imply that lower DA sites can make the cut.

      This is partly why I think following the rules as closely as possible seems like the safest bet. I also think some day Google might revisit rich snippet abuse and penalize sites stepping too far over the line. Seems to me like a decent honeypot to attract abusers… but that’s just a conspiracy theory.

  • I try since a few months to have my review snippet stars on google back but it seems complicated.
    But I keep the way and I hope having it back a day !
    I have something like 800 pages with quite perfect review schema. It’s perfect in google console but still no reation on google results.
    Other site used products review even if it’s not a product. And it works ! But I don’t want to act like them

  • can’t believe that google my business is not providing a js plugin like (analytics like)

    I mean a GOOGLE OFFICIAL and google hosted one

    that allow to show the OFFICIAL GOOGLE MY BUSINESS reviews amount and stars rating …

  • Great article. If only more people support local small businesses, this is by far the best thing you can do to support your local community. More of your dollars stay in your community and that’s good for a lot of reasons, including home values in neighborhoods … What? Yes, that’s right, even the value of your home increases, shopping on the spot is more important than people think. Most people do not know how important it is to support their local small businesses. Thanks for sharing this great info.

  • Hi Nick, sounds like a good idea however it seems the minute that you implement something like this, Google quickly just changes their game and it goes to waste and in some occurrences, you are somewhat penalized for trying. I am going to try it on one of my client’s sites just to see if it works.

    • If you keep your implementation above-board, I don’t think there’s any concern about getting penalized. Google does like to keep the targets moving though 🙂

  • I don’t have reviews on my site. I have a 5 star rating on my Facebook page, but for some reason my search results on google show a 4 and 3 star rating, I have no idea where this is coming from. How do I remove this or find out what is causing it?? Thank you.

  • Schema markup implementation is good practice but when non technical person wants to implement schema on his/her site then is there any ALL IN ONE tool that do all magic itself and increases chances of successful Execution in SERPs?

  • I have more than 50 reviews aggregating over 4.5 rating on my Google business listing.

    Nick, we are not using any third party tool to collect reviews so can I use those reviews to display on respective (internal) pages ?

  • Great Article..Nick Pierno

    This best Schema to improve your Business impression.
    If We use third-party schema and we added manually add 5-star rating for products. how can google see my Rating schema?
    Is it good for SEO?

  • I’m confused. The guidelines say to have the aggregate review schema on the product/service page but you put all the actual reviews for any of your products and services all on one review/testimonials page rather than on the product/service page they relate to? I would think you would want to put the reviews and the schema for any product/service on the same page as the product/service description?

  • I missed this at first:

    Note: Every page with the aggregateRating score on it must either show all the reviews it references OR show the aggregated review score and clearly link to the page that contains the reviews.

    So you can have say 100 reviews on 1 page and then put aggregate review schema on all your product and service pages with a link to that page event though there’s no indication what reviews belong to which products and services?

Join the Discussion

Your email address will not be published. Required fields are marked *

Scroll Up