AggregateRating schema for user reviews
- Schema type
AggregateRatingRatingReview- Checked against
- Google Search Central and schema.org documentation, read November 2026
- Author
- The wprichsnippets.com editors
- Published
- Updated
Aggregate rating schema, the schema.org AggregateRating type, summarizes many ratings of one item: an average ratingValue plus a ratingCount or reviewCount. Google can show it as review stars when the ratings come from your own users, the item is a supported type, the average is visible on the page, and nothing is copied from other review sites.

01What does aggregate rating schema summarize?
AggregateRating is the schema.org type for an average rating based on multiple ratings or reviews. On its schema.org page it has three properties of its own, itemReviewed, ratingCount and reviewCount, and it inherits ratingValue, bestRating and worstRating from Rating.
On a WordPress site this is the markup behind a star average on a product, recipe or app page where visitors leave ratings. It is a summary, not a review. The individual reviews behind it can be marked up as well, with Review, and our guide to review schema and review snippets covers those.
ratingCount and reviewCount are easy to confuse. ratingCount is the number of ratings for the item. reviewCount is the number of people who left a review, with or without a rating. A page where 57 visitors gave stars and 41 of them also wrote text has a ratingCount of 57 and a reviewCount of 41.
This guide is part of the handbook's schema types section, which covers each type that still earns a visible result in Google. Read it alongside this one if your ratings sit on a product, a local business or an app.
02Which AggregateRating properties must match the page?
Google's review snippet documentation lists the properties it reads for AggregateRating. At least one of ratingCount or reviewCount is required, and so is the average itself, because Google says an aggregate rating needs the average for the snippet to display.
| Property | Status | What it must equal |
|---|---|---|
ratingValue | Required | The average shown on the page, written with a dot for decimals |
ratingCount | Required, or reviewCount | The number of ratings for this item on your site |
reviewCount | Required, or ratingCount | The number of reviews, with or without a rating |
itemReviewed | Required unless nested | The rated item; omit it when nested in the item's aggregateRating property |
itemReviewed.name | Required | The item's name, or the parent's name when nested |
bestRating | Recommended | Top of the scale; 5 is assumed if omitted |
worstRating | Recommended | Bottom of the scale; 1 is assumed if omitted |
Each number must match what a reader sees. The same documentation says that if you use AggregateRating, users should be able to see that aggregate rating on the page. The general structured data guidelines go further: if you mark up several reviews, include all of the reviews visible on the page, because a partial set misleads people who expect to find them.
Stale values are the usual way numbers drift. A plugin that writes the average into the markup when a post is saved, while the visible widget updates live, will disagree within days. Generate the visible figure and the JSON-LD from the same query, at the same moment.
03How do you collect reviews on your own site?
The cleanest AggregateRating comes from a rating form on the same page as the item. Google recommends only accepting ratings that come with a review comment and the author's name. It is not a requirement, but it gives readers the context behind a score.
- Store each rating with its author, date and text, attached to the item's post ID.
- Moderate for spam and abuse, and publish genuine low ratings like any other.
- Compute the average and the counts from published ratings only.
- Print the average and counts in the visible page and in the JSON-LD from that one computation.
- Nest the AggregateRating inside the item's own markup, such as
ProductorRecipe, so it names a supported item.
Scales need the same care as counts. Google reads a bare number on a five-point scale unless bestRating says otherwise, and it also understands percentages and fractions. A thumbs up or down system has no numeric scale of its own, so either show it to readers as a percentage and use the same percentage in ratingValue, or leave AggregateRating out.
Anonymous ratings are allowed by the vocabulary, but they are harder to screen and give readers less to go on. If you accept them, keep a record of when and how each was submitted, so you can explain a sudden run of ratings if you ever need to.
Moderation needs a clear line. The FTC rule on consumer reviews, described further below, treats it as unfair or deceptive for a business to misrepresent that the reviews it displays are most or all of those submitted when reviews are being suppressed because of their rating or negative sentiment. Removing spam is moderation. Removing one-star reviews is suppression.
Product pages are the most common home for this markup, and the extra rules for them, such as offers and merchant listings, are in product schema and AI shopping answers. The rating rules on this page apply there unchanged.
04Can you use third-party and imported reviews?
Not for review snippets. Google's review snippet guidelines put it in one line.
Don't aggregate reviews or ratings from other websites.
That rules out copying a star average from a marketplace, an app store or a review platform into your own AggregateRating. You can still show readers a widget with those reviews. It simply should not be marked up as your rating, and its count should not be added to yours.
For a business marking up reviews of itself there is a second barrier. Reviews of a LocalBusiness or Organization placed on its own site, including through an embedded widget, are self-serving and do not produce stars. The same documentation keeps local business stars for sites that capture reviews about other local businesses, which is the review site case. For the wider picture of structured data for review sites and other publishers, start at the handbook home.
05What about fake and AI-written reviews?
Google's guidelines forbid fake or undisclosed incentivized reviews, on the page or in the markup. They name two kinds: reviews that are not based on a genuine experience, and reviews given in exchange for money, discounts, vouchers or free products without a clear and prominent disclosure.
In the United States the FTC's Trade Regulation Rule on the Use of Consumer Reviews and Testimonials, published in the Federal Register in August 2024 and effective 21 October 2024, makes it an unfair or deceptive practice for a business to write, create or sell a consumer review that misrepresents that the reviewer exists or had experience with the product. The rule's background discussion notes that AI tools make it easier for bad actors to write fake reviews.
A review generated to pass as a customer's misrepresents exactly the things the rule names: that the reviewer exists and used the product. Counting it in ratingCount puts the same misrepresentation into your markup.
Screening reviews before they reach your average is its own discipline, covered in AI-written reviews and review snippet rules. The markup rule is simpler. If you would not defend a review as real, leave it out of the count.
06AggregateRating JSON-LD example
The example nests an aggregate rating inside a fictional product. Because it is nested, itemReviewed is left out and the product's name serves as the item name. All values are examples.
1{2 "@context": "https://schema.org",3 "@type": "Product",4 "name": "Example Garden Kneeler",5 "image": "https://example.com/images/garden-kneeler.jpg",6 "description": "A folding kneeler and seat for garden work.",7 "aggregateRating": {8 "@type": "AggregateRating",9 "ratingValue": 4.3,110 "bestRating": 5,11 "worstRating": 1,12 "ratingCount": 57,213 "reviewCount": 41314 }15}If the page also shows individual reviews, add them as Review items in the product's review property. The counts must still agree with what is listed, and every review you mark up must be one the reader can find on the page.
07Questions
Q1Is ratingCount or reviewCount required?
Google requires at least one of them, alongside ratingValue. Use ratingCount for the number of ratings and reviewCount for the number of reviews, with or without a rating. Many pages include both. Either way, the figures must match the counts shown on the page, and they should cover ratings collected on your own site only.
Q2Can I mark up a rating I collected on another review platform?
No. Google's review snippet guidelines tell you not to aggregate reviews or ratings from other websites. You can display a widget from a review platform for readers, but its average and count should stay out of your AggregateRating markup. Only ratings gathered on your own site belong in it.
Q3Can a business add AggregateRating to its own homepage?
It can add it, but Google will not show stars for it. Reviews about a LocalBusiness or Organization placed on that entity's own site, directly or through an embedded widget, are self-serving under Google's review snippet guidelines. Sites that collect reviews about other businesses are still eligible.
Q4Should I remove negative reviews before calculating the average?
No. Google's general guidelines ask you to mark up all of the reviews visible on a page, and the FTC's 2024 rule treats misrepresenting displayed reviews as most or all of those submitted, while suppressing them for their rating or negative sentiment, as unfair or deceptive. Remove spam and abuse, not low scores.
08Sources
- Review snippet (Review, AggregateRating) structured dataGoogle Search Central
- AggregateRatingschema.org
- General structured data guidelinesGoogle Search Central
- Trade Regulation Rule on the Use of Consumer Reviews and TestimonialsFederal Trade Commission, Federal Register



