If you want gold stars under your pages in Google, you need review snippets. A review snippet is the star rating, score and review count that Google can show under a search result. Stars only show when three things line up: the page is about a type of thing Google supports, the reviews are real and visible on the page, and the markup is correct.
Even then, Google decides whether to show them. In this guide I explain which pages can get stars, the one rule that blocks most business websites, how to add the markup, and what to check when your stars are missing.
What Review Snippets Are
A review snippet is a type of rich result (a search result with extra visual details). It can show a star rating, a numeric score like 4.6, and how many people rated the item. Sometimes it shows the name of a single reviewer instead.
Google builds review snippets from structured data. That is code on the page, usually written in JSON-LD (a small script block that visitors don’t see), which labels the content for search engines. The labels come from schema.org, a shared vocabulary that Google, Bing and others read.
For reviews, there are two main schema types:
- Review marks up one person’s review of one item.
- AggregateRating marks up the average score from many ratings, such as “4.5 from 212 ratings”.
If you already add Article markup to blog posts, the approach is the same: one JSON-LD block that describes the main thing on the page.
Review Snippets vs Google Business Profile Stars
This is the part that confuses most business owners I talk to. There are two different sets of stars in Google, and they come from different places.
- Business Profile stars appear in Google Maps and the local pack. They come from reviews customers leave on Google itself. You don’t need any code for them.
- Review snippet stars appear under a normal web result for a page on your site. They come from structured data on that page.
If you are a local business and want stars in Maps, your focus should be your profile, not your website code. My Google Business Profile setup guide walks through that side.
When Star Ratings Show in Google
Google does not show stars for any page that has review markup. It limits review snippets to certain content types, and it adds extra rules for businesses that review themselves.
Content Types That Can Show Stars
Google’s review snippet documentation lists the types it supports. The main ones are:
- Products (physical or digital items for sale or being reviewed)
- Recipes
- Software apps
- Books and movies
- Events
- Course lists
- Local businesses, but only on sites that collect reviews about other businesses
Google also accepts some other schema.org types, such as Game, Episode, CreativeWorkSeries, MediaObject, MusicRecording, MusicPlaylist and Organization. Organization has the same limit as local business: it only counts on sites that review other organizations.
If your page is about something outside this list, such as a general service, a blog post or a category page, stars are very unlikely. Adding review markup to those pages is wasted effort.
The Self-Serving Review Rule
In September 2019, Google stopped showing stars for “self-serving” reviews. A review is self-serving when the business being reviewed controls the reviews about itself on its own site.
In plain words: if you are a plumber and you add LocalBusiness or Organization markup with your own customer ratings to your own website, Google will not show stars for it. That is true even if the reviews are real. It is also true if you show the reviews through an embedded third-party widget.
Two things often get mixed up here, so let me be clear:
- The rule applies to LocalBusiness and Organization markup about yourself.
- It does not stop a shop from showing customer ratings for the products it sells. Product reviews on a product page are still eligible.
In my experience, this single rule explains most “why did my stars disappear?” questions from service businesses. A lot of review plugins still add Organization ratings to the homepage, and Google simply ignores them.
Pages That Usually Won’t Get Stars
Based on the rules above, these pages rarely or never show review stars:
- Your homepage with ratings about your own company
- Service pages with ratings about your own service (see my notes on service page SEO for better ways to make those pages stand out)
- Blog posts and news articles
- Category pages that list many products, because a review must be about one specific item
Review vs AggregateRating: Which Markup Do You Need?
Use Review when the page holds a single review, such as an editor’s review of a product or a recipe. Use AggregateRating when the page shows the average of many user ratings, such as a product page with customer reviews.
Many pages use both. Google’s guidelines say that if you mark up several individual reviews, you should also include an aggregate rating for them.
Here are the properties Google lists for each, in plain words:
| Property | Review | AggregateRating | What it means |
|---|---|---|---|
itemReviewed and its name |
Required | Required | The thing being rated. You can skip itemReviewed by nesting the rating inside the item’s own markup. |
author |
Required | Not used | The person or organisation that wrote the review. Use a real name, not a slogan or a sentence. |
reviewRating.ratingValue / ratingValue |
Required | Required | The score, such as 4, 4.5, 60% or 6 / 10. |
ratingCount or reviewCount |
Not used | One is required | How many ratings or reviews the average is based on. |
bestRating and worstRating |
Recommended | Recommended | The top and bottom of your scale. Google assumes 5 and 1 if you leave them out. |
datePublished |
Recommended | Not used | When the review was published, in ISO 8601 format (for example 2025-04-10). |
A small detail that trips people up: use a dot for decimals (4.5), not a comma (4,5). If your site uses a 10-point scale, set bestRating to 10, or Google will read your scores as out of 5.
How to Add Review Snippet Markup
Most sites don’t write this code by hand. Ecommerce platforms, recipe plugins and review apps often add it for you. Still, you should know what good markup looks like so you can check it.
This is the process I follow:
- Confirm the page type is eligible. Check that the page is about one product, recipe, app, book, movie, event or other supported item. If it is a service page or your homepage, stop here.
- Check what markup already exists. Run the URL through Google’s Rich Results Test. Themes, plugins and review apps often add review markup already, and two sources can clash.
- Make sure the reviews are visible. The rating and review count you mark up must appear on the page where users can see them.
- Add one clean JSON-LD block. Nest the AggregateRating (and any Review items) inside the main item’s markup, such as Product or Recipe.
- Pull values from real data. The rating value and count should come from your review database, not typed in by hand. They need to update when new reviews arrive.
- Test, then publish. Run the Rich Results Test again and fix any errors. Then ask Google to recrawl the page.
A JSON-LD Example for a Product With Ratings
Here is a simple product page example with an average rating and one individual review. The rating sits inside the Product markup, so Google knows exactly which item it belongs to.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailpack 30L Hiking Backpack",
"image": "https://www.example.com/images/trailpack-30l.jpg",
"description": "A light 30-litre daypack with a rain cover.",
"offers": {
"@type": "Offer",
"price": "79.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"bestRating": "5",
"worstRating": "1",
"reviewCount": "128"
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "Sam Patel" },
"datePublished": "2025-03-02",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Comfortable on long walks and the rain cover works well."
}]
}
</script>
For product pages, Google’s product snippet documentation asks for a product name plus at least one of review, aggregateRating or offers. So the rating can also be what makes the product markup valid in the first place.
Adding Pros and Cons to Editorial Reviews
If you publish your own product reviews, like a “best running shoes” test or a single in-depth review, Google can also show pros and cons in the snippet. You add them with positiveNotes and negativeNotes inside the Review, as a short list of statements.
Google says this only works for editorial product review pages. It does not apply to shop product pages or customer reviews, and you need at least two statements in total. Google also tries to pick up pros and cons from the page without markup, so a clear “Pros” and “Cons” list on the page helps either way.
Google’s Rules for Review Snippets in Plain Words
Markup that passes the test can still be ignored, or even get a manual action (a penalty applied by a Google reviewer), if it breaks the guidelines. Here are the rules that matter most:
- Show what you mark up. The reviews and the rating must be on the page and easy to see. In January 2025 Google made this point stronger in its docs: it should be immediately obvious to users that the page has review content.
- One specific item. The review must be about a single product, recipe or similar thing, not a category or a list of items.
- Your own reviews only. Don’t copy or average ratings from other websites, such as marketplace scores, into your markup.
- Real users, not editors. For local business ratings, the ratings must come straight from users, not be picked or compiled by staff.
- Context helps. Also in January 2025, Google added a recommendation to only accept ratings that come with a review comment and the author’s name. It is a recommendation, not a requirement.
My own rule is simple. If a customer would feel misled by how the rating is collected or shown, don’t mark it up. I’d never “seed” a product with ratings to get stars faster, because the risk of a manual action is not worth it.
Why Your Star Ratings Are Not Showing
When stars are missing, I work through the causes in this order, from most to least common:
- The page type is not eligible. Service pages, homepages and blog posts are the usual suspects.
- Self-serving markup. You are rating your own business with LocalBusiness or Organization markup. Google ignores this, even through a widget.
- Markup errors. A missing
itemReviewed, an empty author name, or a rating with no count will stop the snippet. The Rich Results Test will flag these. - Duplicate or clashing markup. A theme and a review plugin both add a rating with different numbers. I usually see this after someone installs a second review app without removing the first.
- The reviews are hidden. The rating is in the code but not on the page, or only loads after a click.
- Google hasn’t recrawled yet. New markup only counts after Google crawls the page again.
- Google chose not to show it. Valid, eligible markup is not a guarantee. Google decides per search whether stars help the result.
If you have ruled out the first six, there is not much you can do about the seventh. Keep the markup correct and the reviews genuine, and focus on the page itself.
How to Test and Monitor Review Snippets
I use three tools for this, all free.
- Rich Results Test. Paste a URL or code snippet and it shows whether Google detects a “Review snippets” result, plus any errors and warnings. Errors block the rich result. Warnings are about missing recommended fields.
- Search Console enhancement reports. Once Google finds review markup on your site, Search Console shows a Review snippets report (product ratings can also appear in the product reports). It lists valid pages and pages with issues across the whole site.
- URL Inspection. After a fix, inspect the page and request indexing so Google recrawls it sooner. My guide to the URL Inspection tool explains how to read its results.
Also check the Manual actions report in Search Console if your stars vanished across the whole site at once. A site-wide drop is a different problem from a single page.
When I set up review markup on a new template, I test at least three pages: one with many reviews, one with a single review, and one with none. The page with no reviews should have no rating markup at all, not a rating of zero.
Do Review Snippets Help Your Rankings?
Not directly. Google has never said review markup is a ranking factor, and adding it won’t move a page up the results.
What stars can do is make your result stand out. A listing with a visible rating gives searchers a quick reason to trust it, which can help your click-through rate. I treat review snippets as a presentation upgrade for pages that already rank, not as a way to rank.
Because of that, I only spend time on them for page types that can actually show stars. For an online shop, product ratings are well worth getting right. For a service business, your effort is better spent on your Business Profile reviews.
Final Thoughts on Review Snippets
Review snippets show star ratings in Google when the page covers a supported item, the reviews are real and visible, and the markup is clean. The biggest blocker for business websites is the self-serving rule, so don’t expect stars on your homepage or service pages.
Your next step: run your top product or recipe page through the Rich Results Test today and see what Google detects. If you are new to structured data in general, start with my guide to marking up articles with structured data, then come back to reviews.



