You Have Reviews But No Review Schema

You have reviews but no review schema (AggregateRating) marking them up, so search and AI engines can't read your ratings. Here's when to add it.

Published on June 08, 2026

You collected the reviews. People rated you, the stars show up on the page, and you earned them, but the page has no review schema marking any of it up. That’s this finding: real ratings on the site, no AggregateRating structured data (the review schema type built for exactly this) wrapping them, so search engines and AI tools see a wall of text instead of “4.8 from 137 reviews.”

If you have rating or review content that isn’t marked up, and often a broken reviews page on top of it, here’s what that costs you and how I’d decide whether to fix it.

Why this matters for AI traffic

Ratings are exactly the kind of fact an AI engine loves to repeat, but only if it can pull the fact cleanly. Getting cited by ChatGPT, Perplexity, or Google’s AI Mode is a retrieval game: these systems grab discrete, checkable facts and stitch them into an answer. “Rated 4.8 by 137 customers” is that kind of fact. Buried in prose, it’s a sentence the model has to guess at. Wrapped in AggregateRating, it’s a number with a label that says what it means.

Structured data hands the machine the fact instead of making it infer the fact. Google has confirmed it uses schema markup for its AI features, and the same JSON-LD that powers Google’s star snippets is readable by the crawlers behind AI search. The AggregateRating type carries a ratingValue (your average), a ratingCount or reviewCount (how many), and an itemReviewed (what the rating is about). That’s a self-contained, quotable claim with a source attached.

There’s a second problem hiding in this finding: a reviews page that 404s. If your schema or your links point at a reviews page that doesn’t load, you’ve built a dead end. The fact has no home, and a crawler that follows the link hits nothing.

What the markup has to say

Valid AggregateRating JSON-LD is populated from the rating data already on your site. It sets ratingValue, includes ratingCount or reviewCount (Google requires at least one), and names the itemReviewed so nothing is ambiguous about what the stars describe.

The numbers in the markup have to match the numbers on the page. Google’s policy is that marked-up content has to be visible and a true representation of the page, so if the code says 137 reviews and the page says 95, that mismatch can get the rich result dropped or flagged as spam. If a broken reviews page is part of the problem, fixing or removing the dead link is part of the job.

Don’t invent ratings. Mark up what’s real. No ratings, nothing to wrap, and none of this applies.

Put the block in your server-rendered HTML rather than injecting it late with JavaScript, so crawlers (including the AI crawlers that don’t run JavaScript) process it reliably.

When it’s worth adding, and when to skip

Add it when:

  • The page reviews a product, course, event, or recipe (the supported types also include book, movie, software app, and local business), and the ratings are real and visible. These are eligible for review rich results and benefit directly.
  • You have a genuine rating count to cite. A real “4.7 from 89 reviews” is an asset. Mark it up.

Think twice when:

  • The page is LocalBusiness or Organization markup reviewing itself. In 2019 Google stopped showing star snippets for a business that controls the reviews about itself, calling them self-serving. Marking up your own company’s rating on your own site won’t earn a Google star snippet. It can still help machines understand the entity, but don’t do it expecting stars.
  • The ratings are thin or stale. Two reviews from 2021 marked up as an aggregate looks worse than no schema. Get more signal first.
  • You can’t keep the on-page number and the schema number in sync. If they’ll drift, fix the source of truth before you add markup that will break the rules.

The effort here is small. The judgment is the real work: is the rating real, visible, and on a page type that benefits?

Answer those three and the markup is a formality. Get AI Traffic applies it with upsert_schema, and it records the page’s prior state on the way in, so if your rating count moves and the markup falls out of sync with what visitors see, you can put the page back exactly as it was.

Frequently asked questions

What is review schema? Review schema is the Schema.org markup that represents ratings and reviews as data instead of prose. The specific type here is AggregateRating, which carries the average score (ratingValue), the number of ratings or reviews (ratingCount or reviewCount), and the item the rating describes (itemReviewed). It’s how you tell a machine “4.8 out of 5, from 137 reviews” as data, not prose.

Will this get me star ratings in Google? For products, courses, events, recipes, and the other supported types, yes, it makes you eligible for review rich results. For a business reviewing itself with LocalBusiness or Organization markup, no. Google stopped showing those self-serving star snippets in 2019.

Do the numbers in the schema have to match the page? Yes. Google’s policy is that marked-up content must be visible and a true representation of the page, so the rating and review counts should match what users see. Mismatched or hidden numbers can get the rich result dropped or flagged as spam.

Does AggregateRating help with AI search even without Google stars? It can. AI engines read structured data, and a clean, labeled rating is an easy fact to extract and cite. The Google star snippet and the AI citation are two payoffs from the same markup.

Sources

Want this checked on your own site?

Get your free AI-visibility audit