Quick Answer: Review schema markup describes ratings in code so search engines can show stars. Google no longer shows stars for self-serving reviews on LocalBusiness or Organization pages. Product, Course, Event, and similar item types still remain eligible, but only when the marked-up rating matches the visible rating on that exact page.
In This Guide
Reading time: 11 minutes
Most guides to review schema open with implementation. This one opens with the rules, because the single most common structured-data mistake we find on Ontario business websites is review markup that validates perfectly and has been ineligible for stars since 2019. The code is correct. The policy killed it anyway. If you learn the eligibility rules first, the implementation is twenty minutes of work; learn them second and you may spend those twenty minutes building something Google is contractually committed to ignoring.
Review vs AggregateRating: two objects, one rulebook
Schema.org gives you two vocabulary objects for opinion data, and Google's review snippet documentation accepts both. A Review is a single opinion: it carries an author, a reviewRating (itself a Rating with a ratingValue and, ideally, bestRating), and usually a reviewBody. An AggregateRating compresses many opinions into three numbers: ratingValue, the scale, and a reviewCount or ratingCount.
The detail that trips people up is nesting. Neither object is meant to float free on a page. Google's documentation is explicit that a review should sit inside the schema of the thing being reviewed: a Product carries its aggregateRating as a property, a Course carries its reviews as properties, and so on. A standalone Review block pointing at some item defined elsewhere is the pattern Google's guidelines specifically discourage, and orphaned rating objects are one of the first things our audits flag. This whole discipline is Vector 6, Structure, in the 12 Vectors framework: the machine can only trust data whose relationships are declared, not implied.
The September 2019 rule that still decides everything
In September 2019 Google announced, on the Search Central blog, that review rich results would no longer be shown for LocalBusiness and Organization types when the reviews are "self-serving": placed on the entity's own website, about that entity, whether typed into the markup directly or piped in through an embedded third-party widget. Nearly seven years later this remains the live policy, restated in the current review snippet documentation, and it is the rule everything else in this guide hangs from.
The reasoning is hard to argue with. A rating a business publishes about itself carries no independent information. Every plumber who added stars to their own homepage chose a number between 4.7 and 5.0, so the stars stopped discriminating between good plumbers and bad ones and became pure decoration. Google removed the decoration. What stings for site owners is that validators never got the memo in a visible way: the Rich Results Test will still cheerfully approve a self-serving AggregateRating on a LocalBusiness page. Valid and eligible are different tests, and only the second one pays.
Matt Griffin, Formative Digital: "When I audit an Ontario service business, the self-rated LocalBusiness block is the thing I expect to find before I open the source. Some plugin added it in 2018, it passes every validator, and the owner has been reading 'valid schema detected' as proof of a working strategy for seven years. Nobody lied to them exactly. But nobody told them the stars went dark in 2019 either, and deleting that block is often the first honest line item on the work order."
Where review markup is still allowed in 2026
Eligibility follows the type of the thing reviewed, not the type of the site. Google's current documentation lists the content types that can still produce review snippets, and the pattern is consistent: they are all items a third party could plausibly have an opinion about, rather than the publishing entity itself.
| Type reviewed | Stars possible? | Typical page |
|---|---|---|
| Product | Yes | E-commerce product page with visible customer reviews |
| Course, Event, Recipe, Movie, Book, SoftwareApplication | Yes | Item detail pages where users rate the item |
| A business reviewed by an independent editorial site | Yes | Critic review or directory page on someone else's domain |
| LocalBusiness on its own site | No | Homepage or service page rating the business itself |
| Organization on its own site | No | About page with embedded testimonial widget |
Notice what the third row implies: business reviews are not banned from schema in general. A Brantford news outlet reviewing five local roofers can mark those reviews up and earn stars, because the reviewer and the reviewed are different entities. The prohibition attaches to control, not to category. If the entity being rated controls the page carrying the rating, eligibility is gone.
For retailers, the allowed path runs straight through product pages, and it is worth real money: customer reviews marked up on individual products still generate stars in both classic results and Google's shopping surfaces. We cover the mechanics, including the offer and rating requirements, in our guide to product schema for e-commerce.
Where review markup is dead weight or worse
Three configurations show up constantly in audits, and none of them can pay off.
- Self-rating on LocalBusiness or Organization. The 2019 rule, covered above. Harmless to rankings in our experience, but it clutters the graph and signals to any human reviewer that nobody has looked at the site's structured data in years.
- Widget-injected third-party ratings. Embedding a review platform's widget so its stars land in your own page's markup is called out by name in Google's policy. The platform's domain can hold the eligible markup; yours cannot borrow it.
- Ratings that do not match the page. Even on eligible types, the marked-up numbers must reflect reviews a visitor can actually read on that page. A 4.9 in the code beside a 4.6 on the screen is the kind of mismatch that costs more than a rich result; it reads as deception to the quality systems Google has been pointing at structured data since the May 2026 core update.
There is a fourth case that is not banned but is wasted effort: marking up review content that never renders visibly. Hidden review text with visible-looking schema fails Google's basic requirement that marked-up content be present on the page. If a review matters enough to encode, it matters enough to show.
A valid example for an allowed case
Here is a complete, policy-clean block for the case that still works: a product page with genuine customer reviews displayed on it. This validates and, unlike the LocalBusiness version, remains eligible.
Product with AggregateRating and one displayed review (JSON-LD)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Hybrid Pocket-Coil Mattress, Queen",
"image": "https://example.com/images/hybrid-queen.jpg",
"description": "Medium-firm hybrid mattress with pocket coils and a cooling foam layer.",
"sku": "HYB-Q-2026",
"brand": { "@type": "Brand", "name": "Example Sleep Co." },
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"bestRating": "5",
"reviewCount": "187"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "S. Whitfield" },
"datePublished": "2026-06-02",
"reviewBody": "Firmer than expected for the first week, then it broke in nicely. Sleeps cool.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
}
}
],
"offers": {
"@type": "Offer",
"url": "https://example.com/mattresses/hybrid-queen/",
"priceCurrency": "CAD",
"price": "1099.00",
"availability": "https://schema.org/InStock"
}
}
</script>
Points worth copying rather than improvising: the rating objects nest inside the Product; bestRating is declared so a 4-of-5 cannot be misread as 4-of-10; the reviewCount and ratingValue must equal the figures shown to shoppers on this URL; and the review is attributed to a named author because Google requires one. Swap the placeholder values for your real catalogue data and nothing else needs to change structurally.
On-site reviews vs third-party platforms: where the strategy actually lives
Once the self-serving rule sinks in, the strategic question changes shape. If your own pages cannot earn stars for your business, where do the stars a customer actually sees come from? Three places, none of which involve your markup.
First, your Google Business Profile. Its reviews power the ratings in the local pack and Maps, they were never touched by the 2019 change, and for a service business they are now the dominant rating surface. Second, third-party platforms with their own domains: review sites and directories carry eligible markup about you because they are not you. Third, and increasingly, the AI answer layer. When ChatGPT or Perplexity is asked for the best mattress store in Brantford, the models weigh review signals gathered from across those independent surfaces; there is no schema tag on your site that injects a rating into that answer. Which means review strategy in 2026 is mostly reputation operations, not markup: earning reviews steadily, distributing them across surfaces the machines already trust, and answering the bad ones properly. That last part has its own craft, and we wrote it up in how to respond to negative Google reviews; the operational side is what our review management service exists to run.
Regulated professions: when the testimonial itself is the problem
For a slice of Ontario businesses the schema question is moot, because the profession's regulator restricts the content a layer above the code. The College of Massage Therapists of Ontario is the clean example: its Standard of Practice on advertising prohibits testimonials in RMT advertising outright. A massage therapist cannot publish client endorsements on their own website at all, marked up or not. Several other health colleges, including the College of Physicians and Surgeons of Ontario, maintain similar restrictions, and law society advertising rules add their own constraints for lawyers.
The workable distinction, in CMTO's framing, is between solicited endorsements the practitioner uses in advertising, which are prohibited, and independent reviews clients post on platforms the practitioner does not control, which are generally outside the ban. That maps neatly onto the search reality described above: the compliant review presence for a regulated practitioner is the one Google already prefers, reviews accumulating on independent surfaces, with the practitioner's own site earning trust through credentials, registration numbers, and clear scope-of-practice content instead. We hit this exact constraint building out a client site for a Brantford RMT, and the honest conclusion was that the regulator's rule and Google's rule point the same direction.
Ontario compliance note
Each college publishes its own advertising standard and they are not interchangeable. Before any review or testimonial strategy for a regulated practice, read the current standard for that specific college; the CMTO version was updated for 2023 and misconduct provisions were revised again effective July 2024. When a college and a marketing tactic disagree, the college wins every time.
Common mistakes that quietly kill eligibility
Beyond the self-serving trap, these are the recurring faults we log on pages that should qualify and do not:
- No
bestRatingon a non-5-point scale. Google assumes 5 unless told otherwise; a 8.7 out of 10 without the scale declared becomes nonsense. - Missing or organizational-only authors. Reviews need a named author, and Google's guidance says the name must be a real person or team, not "Anonymous" or the business itself.
- Markup on the wrong page. Ratings summarized on a category page while the reviews live on detail pages breaks the visible-content requirement in both directions.
- Stale counts. The schema said 187 reviews in January and the page shows 240 in July because the plugin cached the block. Automate the number or audit it quarterly.
- Duplicated graphs. A theme, an SEO plugin, and a review app each emitting their own rating objects for the same item, with different values. Pick one source of truth and suppress the rest.
If you run a local business: what to build instead of stars
The unsatisfying truth is that a Brantford contractor or clinic cannot markup its way to stars on its own site, and any vendor promising otherwise is selling a 2018 tactic. What the site's structured data can still do is make the business unambiguous to machines: a complete LocalBusiness graph with exact NAP, geo coordinates, hours, and service definitions, minus the ineligible rating block. That work has real payoff in the local pack and in AI answers even though it earns no decoration, and we walk through it property by property in the local business schema guide.
Then point the persuasion budget where ratings still render: the Business Profile, the independent platforms, and the review velocity that feeds both. In our client work the sites winning local AI recommendations are consistently the ones with active, well-answered third-party review streams and clean entity data, not the ones with the fanciest on-site rating widgets. The stars did not disappear in 2019; they moved off your domain. Strategy has to move with them.
Curious whether your review markup is valid, eligible, or 2018 leftovers?
Ask for the no-charge audit and we will read your structured data line by line, flag anything the self-serving rule already disqualified, and check how your reviews currently surface in Google, ChatGPT, Perplexity, and Gemini. One business day, plain-language findings.
Frequently Asked Questions
Can a local business get review stars from schema on its own website?
Not any more. Since September 2019, Google has treated reviews marked up on LocalBusiness or Organization pages about the business itself as self-serving and stopped showing stars for them. The markup will still validate in testing tools, which is why so many sites keep it, but it earns nothing in the results. Star eligibility now belongs to item types such as Product, Course, and Event.
What is the difference between Review and AggregateRating schema?
A Review object describes one person's opinion: an author, a reviewRating, and usually a body of text. An AggregateRating summarizes many opinions into a ratingValue and a reviewCount or ratingCount. Both nest inside the item being reviewed rather than standing alone, and both follow the same eligibility rules, so putting either one on a self-serving business page changes nothing.
Does the self-serving rule affect my Google Business Profile reviews?
No. Google Business Profile reviews live on Google's own surface and continue to power the star ratings shown in the local pack and on Maps. The 2019 change only removed stars generated by structured data on your own website. For most local businesses in Brantford and across Ontario, the profile is now the only place their overall rating appears in Google results.
Can I mark up my Google or Yelp reviews on my own site with schema?
You can display them, but marking them up will not produce stars, because Google applies the self-serving rule to third-party reviews republished on the business's own pages, including embedded widgets. There is also a practical objection: the platforms hold the canonical copy, and a schema block claiming their data as yours reads as manipulation to a quality classifier.
Are review rules different for regulated professions in Ontario?
Often, yes, and the restriction sits above schema entirely. Several Ontario colleges, including the College of Massage Therapists of Ontario, prohibit testimonials in advertising altogether, so the content itself cannot appear on the practitioner's site regardless of markup. Independent client reviews on third-party platforms are generally treated differently from solicited testimonials, but each college's standard should be checked before building any review strategy.
If you would rather have a person read your graph than decode Google documentation, get in touch. Structured-data cleanup is finite, unglamorous work with a clear before and after, which is exactly the kind we like invoicing for.
Sources
- Google Search Central: "Review Snippet (Review, AggregateRating) Structured Data," documentation current as of 2026.
- Google Search Central Blog (September 16, 2019): "Making Review Rich Results more helpful," the self-serving review announcement.
- Schema.org: "Review" type definition and property vocabulary.
- College of Massage Therapists of Ontario (2023): "Standard of Practice: Advertising."
- BrightLocal: "Can local businesses use review schema? Google's rules explained."