top of page

Review Schema Rules: Can a Cafe Mark Up Its Own Reviews?

Writer: Thomas Garner
Thomas Garner
Oct 7
11 min read
Pouring coffee from a pour over brewer into a cup

Someone building your site suggests adding review stars to the homepage through structured data, promising it will make your five star average show up right in the search result. Short answer: Google's documentation on review snippet structured data is specific about self serving markup, meaning reviews a business writes or curates about itself rather than independently collected third party reviews, and that specific pattern is not treated the same as a genuine third party review feed.


This post separates what the documentation actually states from what gets repeated informally by people selling SEO services. It walks through the relevant schema.org types, what a business can safely mark up about itself, where tools like the Rich Results Test fit in when self authored ratings are present, and a safer alternative: describing the business accurately, linking to the real profile where the reviews already live, and using visible quotes instead of a manufactured aggregate rating.


What the Documentation Actually Draws a Line Around

Google's Search Central documentation on review snippet structured data, which covers the Review and AggregateRating schema types, describes eligibility rules built around the idea that the reviews being marked up should be genuine, independently sourced evaluations of the business, not content the business itself wrote or aggregated about its own work. The distinction the documentation draws is specifically about self serving reviews, a business creating or heavily curating its own praise and presenting it through structured data as if it were an independent signal.


This matters because the schema.org types involved, Review and AggregateRating, are general purpose types that can technically describe almost anything, including a business reviewing itself. Schema.org's own type pages define the properties, an author, a rating value, a review body, without policing how they get used. It is Google's separate documentation on eligibility for review snippets specifically that narrows what will actually be treated as a legitimate rich result candidate, and that documentation is the one worth reading closely before adding this kind of markup to a homepage.


The honest position is that this area has some ambiguity worth naming rather than glossing over. Google's guidance describes the pattern it does not want, self published, self curated ratings dressed up as independent reviews, more clearly than it lists every acceptable configuration. Where the wording is unclear, this post is not going to guess at a rule it does not state. What is clear enough to act on is the general direction: markup should describe what the business genuinely is, not manufacture an appearance of independent praise the business authored itself.


What This Looks Like in Practice

Picture one anonymous cafe's homepage, a common pattern worth describing without naming any real business. The site copies a five star average from its Google Business Profile onto the homepage, then adds AggregateRating markup claiming that same average as if the website itself were the independent source of those reviews. The reviews were never collected on the site. They were pulled from elsewhere and re presented as if the homepage were the original venue for them.


That pattern sits close to the kind of self serving review markup Google's documentation describes as a problem, because the structured data is claiming ownership of an aggregate rating the business did not independently collect through its own site. The place to see how Google's own tooling reads a page like this is the Rich Results Test, and the key thing to understand before running it is that markup can be technically well formed against the schema.org type definitions and still not qualify for the review rich result, because passing validation and qualifying for the rich result are two different things.


It is worth separating those two outcomes clearly, since they get confused constantly. A markup block can be syntactically correct, meaning every property is properly formatted and the Schema Markup Validator at validator.schema.org accepts it without error, while still not qualifying for Google's review rich result in search, because eligibility depends on the content and sourcing of the reviews, not just the formatting of the code around them. A cafe's web person seeing a page validate cleanly is not the same as that page being cleared for the rich result the client was hoping to see.


The Safer Alternative

The steadier path is to let structured data describe what the business is, rather than manufacture a rating it did not independently collect. A CafeOrCoffeeShop or LocalBusiness type from schema.org, describing the name, address, hours, phone number and category accurately, is a straightforward, low risk use of structured data that does not depend on review sourcing at all. It describes a fact about the business, not a claim about independent third party opinion.


For the reviews themselves, the more durable move is to let the Google Business Profile carry the star rating where it already lives and is genuinely third party sourced, and link to that profile clearly from the site rather than trying to recreate its aggregate rating through the site's own markup. A homepage can absolutely show real customer quotes, visibly, as text, attributed honestly, without wrapping them in Review or AggregateRating schema that implies the site itself is the original collection point for an independently verified rating.


This approach also sidesteps the anxiety that comes with an ambiguous rule. A business that never claims an aggregate rating it did not independently and transparently collect on its own site has nothing to walk back later if guidance tightens. Quoting a real customer by name with permission, describing the business accurately with LocalBusiness or CafeOrCoffeeShop markup, and linking plainly to the Google profile where the actual star rating lives, covers the same goal, showing that people like the place, without stepping into the specific pattern the documentation treats with caution.


Why the Temptation Is So Strong

It is worth being honest about why this suggestion keeps coming up. A visible star rating in a search result is persuasive, and a business with a strong reputation naturally wants that reputation showing up everywhere it can, not just buried on a third party profile a customer has to click through to see. A web developer or a marketing vendor pitching review schema as a quick win is not usually acting in bad faith. They are responding to a real, understandable desire, make the good reviews more visible, with a technical tool that seems to promise exactly that.


The problem is that the tool does not do what the pitch implies in every case. Adding AggregateRating markup to a homepage does not create new reviews, and it does not transfer the credibility of reviews collected on Google over to the website simply by copying the number into a different piece of code. If anything, presenting a copied number as though it were independently and transparently collected by the site itself risks looking like exactly the kind of self serving pattern Google's documentation describes with caution, which can undermine the very credibility the business was trying to reinforce.


This is where it helps to separate the goal from the method. The goal, showing that real customers vouch for the business, is entirely legitimate and worth pursuing. The specific method of manufacturing an aggregate rating through the site's own schema, when those reviews were not collected there, is the part worth reconsidering. There are other ways to reach the same goal, described in the alternative above, that do not carry the same ambiguity.


What Small Sites Get Wrong Most Often

A recurring pattern on small business sites, cafes included, is a template or plugin that adds review schema automatically as a default feature, sometimes without the business owner ever directly requesting it or fully understanding what it does. Many website builders and plugins include a review or testimonial block that, depending on how it is configured, can output AggregateRating markup behind the scenes even when the visible page just looks like a simple testimonials section.


This matters because an owner can end up carrying this kind of markup without having made an active decision to add it, simply by using a theme or plugin that bundles it in. It is worth an owner checking, through the Rich Results Test described below, what structured data their current site is outputting, rather than assuming that because no one consciously added review schema, none exists. A testimonials page that looks like plain text on the surface can still be generating AggregateRating markup underneath if the underlying tool was built that way by default.


The fix, when this turns up, is usually straightforward: check the plugin or theme's settings for a toggle related to structured data or rich snippets for testimonials, and either disable the automatic schema output or replace it with a plain LocalBusiness description plus visible, honestly attributed quotes, following the same safer pattern described earlier in this post.


What an Owner Can Check Without Guessing

An owner who is unsure whether existing markup crosses into this territory does not need to reverse engineer the code personally. Search Console's Enhancements section reports on structured data types Google has detected on the site, including whether review or rating markup is present and whether it is generating errors or warnings, giving a concrete place to look rather than relying on assumption. The Manual actions report, in the same account, shows whether Google has taken any direct enforcement action against the site, which is a separate and more serious signal than an enhancements warning.


Running a specific page through the Rich Results Test, entering the page's URL directly, shows what Google's own tooling currently reports for that page's structured data, including whether a review rich result is eligible. This is worth doing on any page that currently carries review or rating markup, simply to see what the tool reports rather than assuming either that everything is fine or that a problem definitely exists.


None of this checking process is about triggering panic over a manual action that has not happened. It is about replacing a vague worry, someone told me review markup might be risky, with an actual look at what the site currently does and what Google's own tools currently report about it, which is a far steadier place to make a decision from than secondhand advice repeated without a source.


It is worth doing this check periodically rather than once and forgetting about it, particularly after any site redesign, plugin update or platform migration. Structured data can be added or removed silently during these changes, sometimes as a side effect of switching themes or updating a testimonials plugin to a newer version, and an owner who checked once a year ago has no guarantee the current version of the site is running the same markup. A quick pass through the Rich Results Test after any meaningful site change costs a few minutes and replaces assumption with an actual current answer.


The Broader Point About Trust

Underneath the specific schema question sits a broader point worth making explicit. A cafe's real reputation lives in the honest, independently given opinions of people who visited, whether those opinions sit on a Google profile, get repeated by word of mouth, or show up as a quote a customer was glad to give permission for. Structured data is a technical layer that describes facts to a search engine. It has never been the source of the reputation itself, and it cannot manufacture credibility that was not earned through the experience customers had.


Approaching review schema with that framing removes most of the pressure to find a clever technical shortcut. The steadier long run path, consistently good service that earns genuine reviews on the platforms where people leave them, paired with accurate, honest structured data describing the business itself, does more for a cafe's actual reputation than any markup configuration ever could, and it carries none of the ambiguity this post has spent its length walking through.


Related Reading

More from Hillcane on this topic, plus the pages on the site that sit next to the work.


Frequently Asked Questions

Can a cafe mark up its own reviews with schema?

Google's documentation on review snippet structured data draws a line specifically around self serving reviews, meaning content a business writes or curates about itself and presents through AggregateRating or Review markup as if it were independently sourced. That specific pattern is treated with caution in the documentation, which is why the safer path is to let the Google profile carry the star rating and use visible, honestly attributed quotes on the site instead.


What is the difference between Review and AggregateRating schema?

Both are schema.org types. Review generally represents a single evaluation, with an author and a rating for one item. AggregateRating represents a summarized average across multiple reviews. Both can technically be applied to a business's own homepage, but Google's separate eligibility documentation for review rich results is the layer that determines whether either type qualifies for the visible star rich result in search.


Does structured data that validates mean it is eligible for a review rich result?

No. A markup block can pass the Schema Markup Validator at validator.schema.org, meaning every Review or AggregateRating property is formatted correctly, while still not qualifying for Google's review rich result. Eligibility depends on the sourcing and content of the reviews themselves, not just whether the code is well structured. A clean validation is a formatting check, not permission for stars in search.


What should I check in Search Console about review markup?

Two reports matter. The Enhancements section lists structured data types Google has detected on the site, including review or rating markup, with any errors or warnings attached. The Manual actions report shows whether Google has taken direct enforcement action against the site, which is a separate and far more serious signal than a routine enhancements warning. Check both after any redesign or plugin update.


Is it safer to just use LocalBusiness or CafeOrCoffeeShop markup instead?

Describing the business accurately with a CafeOrCoffeeShop or LocalBusiness type, covering name, address, hours, phone and category, is a straightforward use of structured data that does not depend on review sourcing at all. It states facts about the business rather than making a claim about independently collected third party opinion, which sidesteps the ambiguity around review specific markup entirely.


Can I show customer quotes on my homepage without schema markup?

Yes. Visible text quotes, attributed honestly with the customer's permission, such as a first name and a month, are a normal and low risk way to show that people like the business. They do not need to be wrapped in Review or AggregateRating schema, which would imply the site itself is the original collection point for a formal rating. Pair the quotes with a plain link to your Google profile.


Should the star rating on my Google profile also appear on my website through schema?

The steadier approach, based on what the documentation describes, is to let the Google profile carry that rating where it is third party sourced and link to it clearly from the site, rather than recreating the same aggregate number through the site's own AggregateRating markup, which is closer to the self serving pattern the guidance describes with caution.


Why does a testimonials section sometimes carry review markup nobody added?

Many website builders and plugins ship a testimonial or review block that, depending on its settings, outputs AggregateRating markup behind the scenes, even when the visible page looks like plain quotes. An owner can carry that markup without ever deciding to add it. Check the plugin or theme settings for a structured data or rich snippets toggle, and confirm what the page outputs in the Rich Results Test.


How many audited cafe sites have schema markup at all?

Across more than 1,000 shops in six regions, snapshot September 15, 2026, schema status broke out as 368 absent, 367 partial and 337 present, with the remaining 37 left unclassified by the audit. That count describes whether any schema is present at all. It does not show whether AggregateRating specifically appears on any of those sites, since that detail is not a tracked field.


Is it worth removing existing review markup if I am not sure how it was set up?

It is worth checking first rather than removing blindly. Running the page through the Rich Results Test and checking Search Console's Enhancements report shows what is there and how Google's tools currently read it, which gives a factual basis for deciding whether to adjust the markup, replace it with a LocalBusiness type and visible quotes, or leave it as is.


Work with Hillcane

Someone suggested star rating markup for your homepage. Google's documentation treats a business marking up its own reviews differently than a genuine third party feed, and it is worth knowing the difference before you add it.


If you want a second look at what structured data your cafe's site is actually running, reach Hillcane at hillcane.co/contact or call (256) 384-2449.

Comments


bottom of page