You Have Reviews But No AggregateRating Schema

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 never tells a machine any of it. That's this finding: real ratings on the site, no AggregateRating structured data wrapping them, so search engines and AI tools see a wall of text instead of "4.8 from 137 reviews."

If this showed up in your audit, the agent found 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 approving this fix does

Approving this tells the agent to add valid AggregateRating JSON-LD to the page, 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 agent makes the numbers in the markup 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 finding, fixing or removing the dead link is part of the job.

The agent does not invent ratings. It marks up what's real. No ratings, nothing to wrap, and this fix doesn't apply.

When to approve, and when to skip

Approve this 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 approve 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 and mostly the agent's. The judgment is yours: is the rating real, visible, and on a page type that benefits?

How the fix gets applied

Once you approve, the agent generates the AggregateRating JSON-LD, nests it under the correct item type with a clear itemReviewed, matches the counts to what's on the page, repairs any broken reviews link, and publishes through your site's connection. Best practice is to put structured data in the server-rendered HTML rather than injecting it late with JavaScript, so crawlers (including AI crawlers that don't run JavaScript) process it reliably. The agent follows that.

Frequently asked questions

What is AggregateRating schema? It's the Schema.org type that represents an average rating built from multiple ratings or reviews. It 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