Guides
Review Schema Rules, and the One Most Sites Break
Review schema rules are the conditions Google enforces before a page is eligible to show star ratings in search, and the one that trips up most businesses is simple: you cannot mark up reviews about your own company on your own site. That single restriction, called the self-serving review rule, is the one that most often makes otherwise careful markup ineligible, even when the code itself is clean.
Review schema is structured data that tells search engines what a rating is, who wrote it, and what it describes. The rules fall into two groups that both have to be satisfied at the same time: content rules about which reviews are allowed, and technical rules about which properties the markup must contain. Pass the technical validator while breaking a content rule, and the stars quietly never show. Both layers matter, and a generic plugin usually gets the technical layer close while ignoring the content layer entirely.
The self-serving review rule
In 2019 Google stopped honoring what it calls self-serving reviews. A self-serving review is a rating about a local business or an organization placed on that same business's own website or app. If you run a clinic and add review markup about the clinic to the clinic's own homepage, that markup is not eligible, and in some cases it can draw a manual action.
The fix is not to delete your testimonials. Show them to your visitors as normal. Just do not wrap your own LocalBusiness or Organization entity in review or aggregateRating markup. Review structured data is built for ratings of specific things you offer, not for a verdict you write about yourself. The distinction is about who the rating is about and where it lives, not about whether the praise is deserved.
What the markup must contain
Review schema only produces a rich result when it sits on a supported content type. Google honors review snippets for a defined set of types, and a rating attached to anything outside that set is ignored even when the syntax is flawless. That single fact invalidates a surprising amount of real-world markup, because teams assume any page can carry a rating.
The author field is where plugins fail
The author name has to be a real person or organization. Dropping a coupon, a slogan, or the rated business's own name into the author field is treated as invalid, because it tells the engine nothing about who actually gave the rating. Automated review plugins get this wrong constantly, stamping the company name on every author line. Fixing it is usually a matter of mapping the author to the actual reviewer, which a generic widget has no way to know.
Content rules that keep markup compliant
Technical validity is the floor, not the finish. The content rules decide whether Google trusts the markup enough to act on it, and they are stricter than most plugins assume. Each one exists to stop businesses from inflating their own listings. Treat them as the real test, because the validator will happily pass markup that these rules quietly disqualify.
These rules share one logic. Structured data is a claim you make to a search engine about content a human can also see on the page. The moment the claim and the visible page disagree, the markup becomes a liability instead of an asset, and a single bad entity can suppress rich results across a whole template.
How review schema fits a wider strategy
Review markup rarely stands alone. It usually nests inside a Product, LocalBusiness, or Organization block, and it works only when those surrounding types are modeled correctly up front. Getting the nesting wrong is a more common failure than getting a single property wrong.
Treat review schema as one layer in a connected graph, not a snippet you paste in isolation. A broader guide to schema markup covers the foundation, and the local business and FAQ schema guides cover the types review markup most often attaches to. Reading those before you build will save you from marking up a review on a type that was never going to render it.
How Ninetyfifth Marketing implements it
We handle review schema as part of the technical SEO we run on the websites we build. The work is concrete: audit which reviews are genuinely eligible, map each one to the correct supported type, hand write the JSON-LD rather than trust a generic plugin, validate it against Google's Rich Results Test, and watch Search Console for enhancement errors after it ships. If Google later changes which types are eligible, the markup gets revised rather than left to rot.
We never promise that stars will show, because eligibility is Google's call, not ours. What we control is that the markup is honest, valid, and compliant with every rule in this guide, so nothing on your side is the reason it fails. SEO is included on the sites we build on a published retainer, and the model is explained on the pricing and services pages.
Questions
Can I add review schema to my own homepage?
No. Reviews about your own local business or organization placed on your own site are self-serving and are not eligible for review rich results. Display testimonials for visitors, but reserve review and aggregateRating markup for specific products or services you offer.
What are the required properties for review schema?
An aggregateRating needs a ratingValue and either a ratingCount or a reviewCount. A single review needs an author name and a reviewRating with a ratingValue. The item being rated also needs a name so the score has something concrete to attach to.
Why aren't my review stars showing even though the markup validates?
Validation only checks syntax. Stars can still be withheld when a review breaks a content rule, such as being hidden from users, self-serving, or placed on an unsupported type. Eligibility is always Google's decision and can change independently of your code.
Does review schema guarantee a ranking boost?
No. Review schema is about rich result eligibility, not ranking. It can make a listing more informative when Google chooses to show stars, but no structured data guarantees a position or a result.
Can I use reviews collected on Google or another platform in my schema?
Only reviews genuinely produced by your own site qualify. Republishing third party ratings as your own breaks the content rules, even when the numbers are real. Keep marked-up reviews native to the page a visitor actually sees.
