AggregateRating Schema

No Comments
Aggregaterating schema
TL;DR: AggregateRating is the structured data that can put review stars under your result in Google. Done right it lifts click through rate. Done wrong, or faked, it earns a manual action. Only mark up ratings that genuinely appear on the page, attach them to a valid item type, and keep the numbers honest.
Check code
RI-033
Category
Schema
Rich result
Star snippet
Detect with
Rich Results Test
Risk
Manual action

What AggregateRating is

AggregateRating is a schema.org type that summarizes many individual reviews into one score: an average rating and a count. It is a property you nest inside a parent item, most commonly a Product, but also Recipe, Book, Course, LocalBusiness, SoftwareApplication, and a handful of others. Google reads it and, when everything checks out, renders the familiar star line under your title in the SERP.

The core fields are simple. ratingValue is the average score. bestRating and worstRating define the scale (default 5 and 1 if you omit them). And you need a count: either ratingCount, reviewCount, or both. Miss the count and Google has no evidence the rating represents real volume, so it will not draw stars.

Why the stars are worth the effort

A star line is one of the few things that makes an organic result visibly different from the nine others on the page. It occupies vertical space, it signals social proof before the click, and in competitive categories it is often the difference between a result people skim past and one they trust. Google does not publish a fixed uplift number and results vary by query and vertical, so treat any single "stars add X percent CTR" claim you read online with skepticism. The mechanism is real; the exact number is situational.

The flip side matters more than the upside. Review snippets are governed by Google's structured data policies, and the penalty for gaming them is severe. Mark up ratings that are not visible on the page, self serve ratings for your own business, or numbers that do not match what users see, and you risk a manual action that strips rich results across the whole site. This is one of the areas where cutting corners genuinely bites.

Valid markup vs the common ways it breaks

AggregateRating present? Has ratingValue AND a count? nested in a supported item type Yes and visible on page Stars can render in SERP Missing count or hidden No stars, or worse, manual action risk

A minimal valid example

Here is AggregateRating nested in a Product, using JSON-LD, which is the format Google recommends:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Acme Trail Runner",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "218",
    "bestRating": "5",
    "worstRating": "1"
  }
}

Note the count is present, the scale is explicit, and every one of those 218 reviews should be visible somewhere on that product page. The markup describes the page, it does not invent content that is not there.

Field reference

PropertyRequired?What it holds
ratingValueYesAverage score, for example 4.4
ratingCount or reviewCountOne is requiredNumber of ratings or written reviews
bestRatingOptionalTop of the scale, defaults to 5
worstRatingOptionalBottom of the scale, defaults to 1
Parent item typeYesMust be a type Google supports for review snippets

How to detect and validate

  1. Rich Results Test. Google's own tool at the URL or code level tells you whether the AggregateRating is valid, what item type it attached to, and which fields are missing. This is your first stop.
  2. Schema Markup Validator. The schema.org validator catches structural mistakes the Rich Results Test may not flag, like a misspelled property or a broken nesting.
  3. Search Console, Enhancements. The Review snippets report shows valid, warning, and error items across your indexed pages at scale, plus any manual actions under the Security and Manual Actions section.
  4. Screaming Frog. Enable structured data extraction and crawl the site to find every page missing AggregateRating or emitting errors, which beats checking pages one at a time.
  5. View source. Confirm the JSON-LD actually renders in the HTML and is not injected only after a JavaScript event Google might not wait for.
DO
  • Include ratingValue and at least one count field
  • Nest it in a supported item type like Product
  • Only mark up ratings visible on that same page
  • Keep bestRating and worstRating explicit
  • Validate with the Rich Results Test before shipping
DON'T
  • Invent ratings that no user ever left
  • Self serve a rating for your own business or site
  • Mark up ratings hidden from the visible page
  • Attach AggregateRating to an unsupported type
  • Leave out the count and expect stars anyway

What good looks like

The parent item is a type Google supports for review snippets. AggregateRating carries a real average and a real count that match the reviews shown on the page. The Rich Results Test returns valid with no warnings, the Search Console Review snippets report is clean, and the stars appear in the live SERP. Nothing is fabricated, nothing is hidden, and the markup would survive a spot check by a human reviewer.

FAQ

Do valid AggregateRating stars guarantee they show in Google?
No. Valid markup makes stars eligible, not guaranteed. Google decides whether to render a rich result per query and can withhold it even when your schema is perfect.
Can I put a rating on my own homepage for my brand?
Google's policy discourages self serving reviews, where a business rates itself, for review snippets. Ratings should come from users or an independent source, and should be visible on the page you mark up.
What is the difference between ratingCount and reviewCount?
ratingCount is the total number of ratings, including star only ratings with no text. reviewCount is the number of written reviews. You can supply either or both, but you need at least one.
Why did my stars disappear after they were showing?
Common causes are a broken deploy that dropped the schema, reviews removed from the visible page, a policy issue flagged as a manual action, or Google simply choosing not to render the snippet for those queries. Check the Rich Results Test and the Manual Actions report first.

Want stars that stick without the manual action risk?

Review schema is easy to get subtly wrong and expensive when it triggers a penalty. A structured data audit checks your markup against Google's policies before it costs you rich results.

Get an advanced SEO audit

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog