Why your own reviews do not belong in your schema

Why your own reviews do not belong in your schema

Written by

in

TL;DR

A clinic I worked with this year publishes more than a hundred Google reviews on its own site and there is not one Review node in the markup. That was deliberate. Reviews a business controls about itself are ineligible for star results, republished third-party reviews are separately excluded, and putting a rating in markup that the page does not display breaks a rule of its own. Publish the reviews. Skip the schema.

The page shows a five star average and over a hundred individual reviews, all in plain server-rendered text. The obvious next move is to wrap each one in Review markup, add an aggregate rating, and go looking for stars in the search results. Getting a clinic’s business type right in schema is the prerequisite for any of it, and this is the next question everybody asks.

I did not do it, and I want to set out why, because the temptation is strong and the reasoning is not obvious.

Reason one: you control them, so they do not count

Google’s guidance on review snippets is not ambiguous about this. If the entity that is being reviewed controls the reviews about itself, its pages using LocalBusiness or any other type of Organization structured data are ineligible for the star review feature.

A reviews page on your own domain, built by you, from reviews about you, is precisely the case that sentence describes. There is no configuration of markup that makes it eligible. The stars are not available, so the question is only whether you want ineligible markup sitting on the page.

Reason two: they are somebody else’s reviews, republished

Even setting aside the self-serving problem, these are third-party platform reviews copied onto your site. Google’s review snippet guidance separately excludes reviews aggregated or republished from other sources.

So the same block fails on two independent grounds. That is usually a sign that the answer is not a smarter implementation.

Reason three, and this is the one people miss

Look at what the page actually renders. On the build I am describing, each review card shows the text and a shortened name. There is no per-review star rating drawn anywhere on the page, because the source only publishes an overall average.

Put a rating value on each Review node and you have asserted something the page does not show. Google’s structured data guidelines are explicit: do not mark up content that is not visible to readers of the page, and your structured data must be a true representation of the page content.

That is a rule you can break without meaning to, just by accepting the default output of a plugin that assumes every review carries its own score.

What the downside actually is

Modest but real, and worth stating plainly rather than as a scare. The same guidance says pages with structured data problems can pick up a manual action, and that such an action means the page loses eligibility for appearance as a rich result, though it does not affect how the page ranks in ordinary web search.

So the exposure is losing rich results you were never eligible for, plus a message in Search Console and the work of removing it. Not catastrophic. Just entirely pointless, which is the actual argument.

What to put on the page instead

Describe what the page is rather than claiming what it scores. A CollectionPage node saying this page belongs to this website and is about this practice, and a breadcrumb trail, both of which are true and neither of which asserts a rating.

Breadcrumb markup is also one of the few things left that genuinely changes how the result looks, which is a better use of the same fifteen minutes.

My note: one detail worth carrying over. If the header says one number and the cards on the page add up to a different one, because rating-only reviews were left off, then any aggregate you did publish would be wrong in a way somebody could check. Another reason the honest answer here is to publish the words and let the profile carry the score.

The short version

  1. Over a hundred reviews published, zero Review nodes. Deliberate, not an oversight.
  2. Reviews you control are ineligible for stars. No markup configuration changes that.
  3. Republished third-party reviews are excluded separately. Two independent failures.
  4. No per-review star on the page means no reviewRating in the markup. Do not mark up what is not visible.
  5. The penalty is losing rich results you never had, plus the cleanup. Pointless rather than dangerous.
  6. Use CollectionPage and a breadcrumb. True statements, and breadcrumbs actually change the result.

If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and technical SEO is where the markup gets checked against what the page actually says.

Headshot of Mehul Dedhia, SEO consultant

Written by Mehul Dedhia

I’ve been doing SEO for about fifteen years. Most of my work isn’t building new websites. It’s figuring out why sites that should rank don’t. Local businesses, ecommerce and Shopify brands, affiliate sites, small brands and enterprise. If a site is stuck or has lost rankings, that’s usually where I come in.

Connect with me on LinkedIn