Review and AggregateRating schema, explained
Review marks up one review and AggregateRating marks up the average of many. They are only allowed for real reviews that are visible on the page. A business's own pages using LocalBusiness or Organization markup are not eligible for review stars when the business controls the reviews about itself, even through an embedded Google or Facebook widget.
What it's for
Review is "a review of an item, for example of a restaurant, movie, or store", and AggregateRating is "the average rating based on multiple ratings or reviews". Google can show them as a review snippet with stars (Google: Review snippet) for these features: Book, Course list, Event, Local business, Movie, Product, Recipe and Software App, plus a few other creative-work types and Organization.
The rules that matter most
From Google's review snippet guidelines:
- Self-serving reviews. If the entity being reviewed controls the reviews about itself, its pages using
LocalBusinessor any other type ofOrganizationstructured data are ineligible for the star review feature. That includes reviews placed directly in its structured data and reviews shown through an embedded third-party widget, such as Google Business reviews or a Facebook reviews widget. LocalBusiness and Organization ratings are only for sites that capture reviews about other businesses. - Visible. Reviews and ratings you mark up must be readily available on the marked-up page; users should see the review text and rating, or the aggregate rating.
- Genuine. No fake reviews and no undisclosed incentivized reviews (written in exchange for money, discounts, vouchers or free products without clear disclosure). Google added this guideline in July 2026.
- Your own site's reviews only. Don't aggregate reviews or ratings from other websites.
- Specific. Review one specific item, not a category or list. If you mark up several individual reviews, include an aggregate rating too.
- Local businesses: ratings must come directly from users, not be compiled by human editors.
Key properties
| Property | What it holds | |
|---|---|---|
Review.author |
A valid Person or Organization name, under 100 characters. |
Required |
Review.reviewRating.ratingValue |
The rating; 1–5 scale by default. | Required |
Review.itemReviewed |
The thing reviewed, with a name. Omit when the review is nested inside that item. |
Required if not nested |
Review.datePublished, reviewRating.bestRating/worstRating |
Date and scale (defaults 5 and 1). | Recommended |
AggregateRating.ratingValue |
The average rating. | Required |
AggregateRating.ratingCount or reviewCount |
At least one of the two. | Required |
AggregateRating.itemReviewed |
Required when not nested inside the rated item. | Required if not nested |
Minimal example (a product with real, visible reviews)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Brass Hose Bib, 1/2 inch",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.4,
"reviewCount": 27
}
}
Only publish numbers like these if 27 customer reviews averaging 4.4 are shown on that page. The schema.technology generator deliberately has no rating fields for this reason, and its validator flags review markup on LocalBusiness and Organization nodes.
Common mistakes
- Five-star AggregateRating on your own LocalBusiness copied from your Google Business Profile. Ineligible, and it aggregates reviews from another site.
- Ratings with no reviews on the page.
- Hand-picking only good reviews for the markup while the page shows others. Google's general guidelines ask you to include all the reviews visible on the page.
- Reviewer names like "Happy customer" or promotional text in
author.
Sources
- schema.org: Review, AggregateRating
- Google Search Central: Review snippet structured data (last updated 8 September 2026), general structured data guidelines
- Related: Why review stars don't show for your business on Schema Support