Review Snippets in Search: Earning Star Ratings Without Getting Penalized
- April 5, 2020
- Technical SEO

Star ratings in the SERP are the highest-leverage rich result you can still earn through markup alone, but they are also the one Google polices most aggressively. Since the December 2019 self-serving review update, ratings about your own entity placed on your own site no longer qualify, and a single eligibility miss means zero stars instead of partial credit. This guide covers exactly which markup renders, which gets silently dropped, and how to stay on the right side of the policy.
What actually qualifies for review snippets
Review snippets render only when the rating is attached to a schema type Google explicitly supports for this feature. As of now that list is limited to: Book, Course, Event, How-to (deprecated for most queries but still parsed), LocalBusiness, Movie, Product, Recipe, and SoftwareApplication, plus their subtypes. Critically, Organization is not eligible. If you mark up a rating on your homepage's Organization node, it will validate as syntactically correct in the Rich Results Test and still never show a star.
The single most common reason stars fail to appear is putting aggregateRating on a type Google does not support for the feature, then assuming the markup is "broken" when it is actually being ignored by design.
The self-serving review rule, precisely stated
Google's policy prohibits review snippets for reviews of an entity that the page's owner controls when those reviews are collected, hosted, or solicited by the owner about themselves. In practice this means:
- Not allowed: ratings on a
LocalBusinessorOrganizationdescribing your own business, placed on your own site. - Allowed: ratings on a
Productyou sell, aRecipeyou publish, aBookyou review, aCourseyou offer, or anEventyou list, where the reviewed thing is the page's subject, not the publisher. - Allowed: third-party review platforms (the directory model) showing ratings about businesses they don't own.
The distinction is publisher-versus-subject, not first-party-versus-third-party data. You can collect and host the reviews yourself, that is fine for a product. What you cannot do is rate your own organization on your own pages.
A compliant Product example that renders
This is the pattern that survives. Note that every property here maps to content visible on the page; invented numbers are a policy violation.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme Noise-Cancelling Headphones X2",
"image": "https://example.com/x2.jpg",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.4",
"bestRating": "5",
"ratingCount": "287"
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "Dana R." },
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Best isolation I've used on a flight."
}]
}Required vs. recommended properties
For aggregateRating, Google requires:
ratingValue, the numeric score. Must be a real aggregate, not a placeholder.- One of
ratingCountorreviewCount, at least one is mandatory, and the value must be a positive integer.
For an individual Review, you need reviewRating (with ratingValue) and author. The author must be a Person or Organization with a real name, never the name of your own site or business, which Google treats as a self-serving signal and an invalid author.
Always set bestRating and worstRating if your scale is not 1, 5. Google assumes a 5-point scale by default; a 9.2 on a 10-point scale without bestRating: 10 will be read as wildly out of range and dropped.
Common mistakes that kill the stars
- Markup not matching visible content. The rating and reviews in your structured data must appear on the page to the user. Hidden, off-page, or "headless" ratings are a manual-action risk and the fastest way to lose the feature site-wide.
- Aggregating ratings the page doesn't show. If you claim
ratingCount: 287, the page should reflect that those reviews exist there or are clearly summarized. - Site-wide identical ratings. Injecting the same
aggregateRatinginto every product template (often a 5.0 with a count of 1) reads as fabricated and gets the whole pattern ignored. - Rating your organization. Putting
aggregateRatingonOrganizationor on aLocalBusinessnode that is the site owner. Disallowed since 2019. - Average of zero or a count of zero.
ratingCount: 0or a product with no actual reviews. Don't emit the markup until you have real data. - Reviews nested under the wrong type. A
Reviewfloating without a parentitemReviewed, or anaggregateRatingnot nested inside the supported parent type.
Where star ratings have quietly contracted
Even compliant markup no longer guarantees stars. Google has reduced review-snippet display for several categories where it now prefers its own data or merchant feeds:
- Local businesses increasingly surface ratings from Google's own Maps/Business Profile corpus rather than your markup, so on-page
LocalBusinessstars are unreliable even when allowed. - Products are progressively migrating to the merchant-listing experience, where ratings flow through Merchant Center feeds and the
Productsnippet, not standalone review markup.
The practical implication: keep the markup (it still feeds eligibility and AI/Gemini context), but don't promise clients guaranteed stars for local or commodity-product queries. Treat Recipe, Book, Course, SoftwareApplication, and editorial Product reviews as the reliable wins.
A deployment checklist
- Confirm the page subject is a Google-supported, non-organization type that the publisher does not own as an entity.
- Generate the rating from real, page-visible reviews, never hardcode.
- Include
ratingValueplusratingCountorreviewCount; addbestRatingfor non-5 scales. - Give every
Reviewa real human or organizationauthorname (not your brand). - Validate in the Rich Results Test (eligibility), but remember it confirms syntax, not display.
- After deploy, watch the Review snippets report in Search Console for "valid" items and any warnings.
- Spot-check the live SERP a few weeks later; if eligible items show no stars, the category has likely moved to a feed-based experience.
FAQ
Can I show star ratings for my agency or SaaS company on my homepage? Not via Organization markup about yourself, that's self-serving and ineligible. If you sell a discrete SoftwareApplication or Product, mark up that entity with genuine user reviews instead.
Do reviews need to be on the same page as the markup? Yes. The rating must reflect content users can see on that page. Aggregating ratings collected elsewhere and displaying them nowhere on-page violates the visible-content requirement.
Will fake or seeded reviews get caught? Identical or implausible ratings across a template are a well-known spam pattern. Beyond losing the snippet, it exposes you to a structured-data manual action that can suppress rich results across the entire site.
Want this handled properly on your site?
It is exactly the kind of work an advanced technical SEO audit covers. See how an advanced SEO audit works →
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







