GET A FREE STORE AUDITFREE AUDIT

SEP 18, 2026 · UPDATED OCT 5, 2026 · 7 MIN READ

Review platforms and the schema that makes them count

Reviews do not raise your rankings. They change what your result looks like and what a shopper does next, and only if the markup is right and there is one copy of it.

A hand holding a magnifying glass over a model shop with a sign reading SEARCH, revealing stocked shelves inside

Reviews affect ecommerce SEO in two narrow, real ways and one imaginary one. The real ways: rating markup on a product page can produce a star rating in the search result, which changes click-through without changing position; and review text adds long-tail language to a page that no copywriter would have written. The imaginary one is that collecting more reviews lifts rankings directly. There is no such lever. Google’s own guidance also rules out the thing most brands want, which is site-wide stars from reviews they collected themselves: pages using Organization markup are ineligible for the star feature when the reviewed entity controls the reviews. So mark up product ratings properly, exactly once, and put your company-level review count on the page as visible text.

IN SHORT

  • Review markup changes the appearance of a result, not its position. The gain is click-through and conversion, not rank.
  • Google states that if the entity being reviewed controls the reviews about itself, pages using LocalBusiness or any other Organization type are ineligible for the star review feature.
  • Product snippets need a name plus at least one of review, aggregateRating or offers, and the Rich Results Test may warn if you supply offers with no rating at all.
  • AggregateRating requires ratingValue plus at least one of ratingCount or reviewCount, and a Review requires an author, an item reviewed with a name, and a reviewRating.ratingValue.
  • The most common fault on a Shopify store is two sources of product markup (the theme’s and the review app’s) disagreeing about the same rating.
  • Shopify’s structured_data Liquid filter outputs a product as schema.org Product when it has no variants and ProductGroup when it has one or more, which decides where a rating has to be attached.
  • Pay for a review platform because of how it collects and how easily you can get your data out, not because its marketing page says "SEO-optimized rich snippets".

The rule that stops most brands doing what they want

Almost every brand, on discovering review markup, wants the stars next to their homepage. Google’s review snippet documentation closes that off in one sentence: "If the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature." Organization reviews are acceptable when you are reviewing *other* organizations (a directory, a comparison site), not yourself. The guidance goes further on curation: "Don’t rely on human editors to create, curate, or compile ratings information for local businesses."

The restriction is not arbitrary. Self-collected, self-published, self-selected ratings are not evidence. Marking them up as if they were invites a manual action that can remove every rich result on the domain: not just the stars you were reaching for. The downside is asymmetric and the upside was a decoration.

So put the company-level number on the page as visible text instead. "Over a hundred five-star reviews", stated plainly and attributably, does the persuasion job for the human reading it and carries no markup risk at all. We follow that rule on this site: no aggregateRating for the organization, review counts as copy.

Product-level ratings are a different matter and are the sanctioned route: a product review is a review of a thing you sell, not of you, and Google supports Product in the review snippet types. That is where the markup effort should go.

Two copies of the truth: the Shopify-specific fault

We find this bug on most stores that have a review app installed, and it is invisible unless you look at the rendered source.

Shopify themes can emit product structured data themselves. The structured_data Liquid filter “converts an object into a schema.org structured data format”, outputting a product as Product if it has no variants and as ProductGroup if it has one or more. Review apps also emit product structured data, because emitting it is one of their selling points. Install one on the other and the page ships two Product nodes: one with the rating, one without, or worse, two with different ratings because one is cached.

What a crawler does with that is unpredictable and none of the outcomes are the one you wanted. The fix is a decision, not a plugin: one component owns product markup on this store. Usually it should be the theme, because the theme knows about variants, pricing, availability and the ProductGroup distinction, and can read the rating from a metafield the app writes. Then turn the app’s markup off. Most have a setting, and the ones that do not are telling you something.

While you are in there, check the smaller requirements, because they are the ones that silently disqualify a result. AggregateRating needs a ratingValue and at least one of ratingCount or reviewCount. A Review needs an author, the item reviewed with a name, and a reviewRating.ratingValue. And the author has to be a plausible name for a person or team. Google’s product documentation explicitly rejects things like "50% off on Black Friday" in the reviewer name field, which exists as guidance because somebody kept doing it.

We find this bug on most stores that have a review app installed, and it is invisible unless you look at the rendered source.
Nitesh Kasma & Aashish Kasma

Choosing a platform, and why the cheap answer usually wins

Review platforms price from free to several hundred a month, and the expensive tiers sell features that are mostly not the reason you are buying.

Four questions decide it, and "does it produce rich snippets" is not one of them, because your theme can do that and should.

  • Can you export every review, with its author, date, rating and product, in a format you could import elsewhere? If not, you are renting your social proof. This is the question that should end most shortlists.
  • Does it collect from verified purchasers automatically, tied to real orders? Ratings have to come from customers rather than from you, so the collection mechanism is the product.
  • What does it add to the page at runtime? A review widget is frequently the heaviest third-party script on a product page. Ask whether it renders server-side, whether it can be deferred, and what happens to the reviews if the script fails.
  • Does it write ratings somewhere your theme can read them, a metafield, so that display and markup can live in your theme rather than in their iframe? This is the difference between reviews you own and reviews you embed.
  • And one negative: do not pay extra for a tier whose headline benefit is "Google Seller Ratings" or site-wide stars. Read the rule in the section above before you buy it.

Where the reviews go on the page

Collection and markup are the technical half. The half that changes revenue is placement, and it is mostly free.

The rating summary belongs near the title, above the fold, as a jump link. That is the element shoppers scan for. The reviews themselves belong far enough down that they do not compete with the buy button, and they need to be filterable by rating, because the first thing a careful shopper does is read the two-star reviews. Hiding those is both dishonest and counter-productive: a product with nothing but five-star reviews reads as curated, and it is.

The one thing to build is the ability to lift a specific review into a page. A single well-chosen quote, on a collection page or a landing page, next to the product it is about, does more than a widget of forty. That means blocks a merchandiser can place, which is what a section library is for, and reviews are one of the better arguments for having one.

If reviews are thin, say so rather than dressing it up. Twelve honest reviews displayed plainly beat two hundred that a shopper suspects. And if you are running an incentive to collect them, take advice on how it must be disclosed. Incentivized and fabricated reviews are a consumer-protection issue in the UK, not only a search one.

What we would do, in order

Half a day of checking, then one decision.

  • View source on three product pages and count the Product nodes. More than one is the problem to fix first.
  • Decide which component owns product markup, normally the theme, and switch the other off.
  • Validate a product page and confirm aggregateRating has both a value and a count, and that ratings are attached at the level your theme emits (Product or ProductGroup).
  • Remove any aggregateRating attached to your Organization markup, and put the review count on the page as text.
  • Check what the review widget costs in page weight, and whether it can render without blocking.
  • Only then look at collecting more reviews, and measure conversion on the product pages, not rankings.

Questions this raises

How do product reviews affect ecommerce SEO?

In two ways. Valid rating markup can add a star rating to your search result, which lifts click-through at the same position. And review text puts customer language on the page, which makes it unique and quotable. What reviews do not do is raise rankings directly. There is no review-count ranking input, and pages with many reviews usually rank well for other reasons.

Can you show star ratings for your whole company in Google?

Not from reviews you collect yourself. Google’s review snippet guidance says that when the reviewed entity controls the reviews about itself, pages using `LocalBusiness` or any other `Organization` type are ineligible for the star review feature. Marking them up anyway risks a manual action that can strip every rich result on the domain. State the review count as visible text instead.

What schema do product reviews need?

A product snippet needs a `Product` with a `name` and at least one of `review`, `aggregateRating` or `offers`. If you supply an `aggregateRating`, it needs a `ratingValue` and at least one of `ratingCount` or `reviewCount`. An individual `Review` needs an `author`, the item reviewed with a name, and a `reviewRating.ratingValue`, and the author must be a plausible person or team name.

Why do some stores have duplicate product schema?

Because two things are emitting it. Shopify themes can output product structured data themselves (the `structured_data` filter renders a product as `Product` or, when it has variants, `ProductGroup`) and review apps emit their own. Both together give a crawler two conflicting `Product` nodes for one page. Pick one owner, normally the theme, and disable the other.

Which review platform is best for Shopify?

The one whose export you could walk away with, that collects from verified purchasers, that writes ratings into a metafield your theme can read, and whose widget does not dominate your product page’s page weight. Those four answers matter far more than the feature list, and they usually point at a cheaper tier than the one being sold to you.

Should you hide negative reviews?

No, and filtering by rating should be easy. Shoppers seek out the low ratings, and a product with uniformly perfect reviews reads as curated. A handful of honest critical reviews with a visible reply is more persuasive than a wall of five stars, and it is the version that survives scrutiny.

General information, not legal, tax or financial advice. Rates, limits and deadlines come from the vendors and authorities named, and they change: check the linked source before relying on one.

PART OF OUR SERVICE

Build a Shopify store worth the traffic you send it

New stores, themes and design-to-Shopify builds

EXPLORE BUILD →

NEXT STEP

Free store audit

A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritized list of fixes.

A hand gestures towards a small shop doorway tied with colorful ribbons, with a tablet on a workbench inside