Review schema in 2026: the rule that revokes rich results
Google will hide your star ratings if you mark up reviews of your own business. Here is the self-serving reviews rule, and how to fix markup that breaks it.
Star ratings under a search result come from review or rating schema, and they are one of the few structured data types Google still shows for free. They are also one of the easiest to lose entirely, because Google has a rule that catches almost every business that tries to mark up its own reviews: self-serving reviews don't count.
How star ratings actually get added
A star rating in a search result comes from Review or AggregateRating schema, usually nested inside a Product, Recipe, SoftwareApplication, Book, Course, or Movie entity. The markup states an average score, a count of ratings, and the scale they're measured on. Google reads it, checks it against a set of eligibility rules, and only then decides whether to render the stars. Getting the schema syntax right is not enough. Meeting the eligibility policy is what actually earns the snippet.
The rule that trips up most sites
Google's structured data guidelines block one specific pattern: an organization marking up reviews of itself. If a business writes its own praise, or aggregates its testimonials into an AggregateRating for its own LocalBusiness or Organization entity, Google won't show the stars. It doesn't matter if the underlying reviews are genuine, sourced from real customers, and displayed accurately on the page. The markup is disqualified by who added it and what it's rating, not by whether it's true.
- A plumbing company adding AggregateRating to its own LocalBusiness markup, built from its five best Google reviews: not eligible.
- A software company marking up its own SoftwareApplication with a rating pulled from an app store review, when the app store didn't originate the schema: not eligible.
- A recipe site adding Review schema to a Recipe, sourced from its own readers' comments on that recipe: eligible, because the review is about the recipe, not the site's organization.
- An ecommerce store adding AggregateRating to a Product page, built from verified customer reviews of that product: eligible, for the same reason.
Why the distinction exists
The line Google draws is between reviewing an entity and reviewing something that entity makes. A Product, Recipe, Book, Movie, Course, or SoftwareApplication is something a company produces, and customers can evaluate it directly. A LocalBusiness or Organization is the company itself, and letting a company rate itself is exactly the incentive problem review schema exists to route around. The rule isn't a filter on quality or honesty. It's a filter on who is allowed to speak for whom.
How to check and fix your markup
- Open the review snippets report in Search Console, under Enhancements. A warning naming self-serving reviews points to the exact pages.
- Run any page carrying Review or AggregateRating markup through the Rich Results Test and check whether Google flags the entity as ineligible.
- Audit the entity the rating sits inside. If AggregateRating sits inside LocalBusiness, Organization, or a custom type mapped to one of those, remove it. A star rating for your company as a whole isn't coming back through schema.
- Move the rating to the entity it actually describes. If you sell products, attach the schema to the Product, not the store. If you publish recipes, courses, or software, attach it to that entity instead.
- Keep the testimonials, drop the markup. Third-party praise on a homepage is still good content and still fine to display. It just can't carry AggregateRating schema.
Review schema is one of the few places in SEO where doing everything correctly on the data side can still get you disqualified, because the rule is about the entity being rated, not the accuracy of the rating. Before you add or debug AggregateRating markup, ask what's actually being rated. If the honest answer is your own business, the stars were never going to show.