Review Schema

How to implement Review schema markup for single editorial reviews, what schema.org/Review covers vs. what Google uses for review snippets, eligibility rules, and how it relates to AggregateRating.

First published: Jun 27, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #5 in Structured Data#18 in On-Page#85 in Technical SEO#113 on the site

Review schema (schema.org/Review) marks up a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating with a ratingValue. Those three fields are the required core. It's distinct from AggregateRating, which summarizes many reviews into an average; Google bundles both on one docs page because they render the same stars, but the rules diverge. If a Review is nested inside the reviewed item via the review property, you omit itemReviewed and Google infers the parent. The single most-missed rule: the self-serving-reviews restriction (Google's September 2019 policy) is scoped to LocalBusiness/Organization being reviewed on their own site — you can't get stars for testimonials about your own business — but reviews of Books, Movies, Products, Recipes, and Software Apps are not subject to that carve-out. Valid markup only earns rich-result eligibility (a critic review snippet), never a ranking boost, and self-serving or fabricated reviews can draw a manual action.

TL;DR — schema.org/Review marks up a single evaluation: one author, one itemReviewed, one reviewRating.ratingValue. Those three are required. If the Review is nested inside the reviewed item via the review property, omit itemReviewed — Google infers the parent — but still supply the item’s name. ratingValue defaults to a 1–5 scale unless you set bestRating/worstRating, and decimals use a dot, not a comma. The one rule that outranks all the others in importance: the self-serving-reviews restriction (Google’s September 2019 policy) makes LocalBusiness/Organization pages that carry reviews about themselves ineligible for the star feature — including reviews pulled in through an embedded third-party widget on your own site. That carve-out is scoped to business/organization items only; Product, Book, Movie, Recipe, SoftwareApplication, Event, Course, Game and friends are not restricted. Valid markup earns rich-result eligibility, never a ranking boost, and violations can draw a manual action. Whether you came here for the pure structured-data angle or the ecommerce-review angle, both live in the same place — this topic is cross-listed under structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. and under ecommerce SEOEcommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs. for that reason.

Review vs. AggregateRating — get this straight first

Almost every mistake downstream starts with conflating these two types:

  • Reviewone critic or user, one item, one rating. A single write-up.
  • AggregateRating — a numeric summary of many reviews or ratings (an average plus a count).

Google’s docs bundle both on one page — “Review snippet (Review, AggregateRating) structured data” — because they render the same star UI. But the schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. types and their eligibility rules diverge, and the required fields differ. Crucially, they’re meant to be used together: Google’s guidance is that “if you include multiple individual reviews, also include an aggregate rating of the individual reviews.” So the decision isn’t Review or AggregateRating — it’s “one write-up → Review,” “an average across many → AggregateRating,” and “a page full of reviews → both.” That guidance runs one direction only: a single Review doesn’t need a fabricated aggregate bolted on to look more credible, and an AggregateRating doesn’t require you to invent individual reviews to back it — pair the two only when both genuinely exist. The AggregateRating side of this gets its own treatment in the sibling article; here I’m strictly on the single Review object.

The required core: author, itemReviewed, reviewRating

Three properties are required for a Review, per Google’s required-properties table on the review-snippet doc (checked 2026-07-18; the doc itself shows a last-updated date of 2025-12-10, so this reflects the current version).

author — a Person or Organization. Google is explicit that “the reviewer’s name must be a valid name” and gives the memorable counter-example: “‘50% off until Saturday’ is not a valid name for a reviewer.” The name must be shorter than 100 characters, or the page “won’t be eligible for an author-based review snippet.” Promotional strings dressed up as reviewer names are a real, common disqualifier.

itemReviewed — one of the valid types, “the item that is being reviewed.” This is where the single-item scoping bites: Google wants you to “provide review information about a specific item, not about a category or a list of items.” A “Top 10 Best Blenders” roundup that wraps one Review around the whole list is malformed — each product needs its own review, or the page needs a different treatment.

reviewRating (a Rating) with reviewRating.ratingValue — the score. For a single Review this is normally a plain Rating, not an AggregateRating (that distinction trips people up because Google’s shared doc mentions AggregateRating as a possible subtype). The value can be “a number, fraction, or percentage (for example, 4, 60%, or 6 / 10).” Two formatting rules people miss:

  • The default scale is 1–5 (1 lowest, 5 highest). If your scale is different, set bestRating and worstRating.
  • Decimals use a dot, not a comma4.4, never 4,4, regardless of your locale’s display convention.

Recommended (not required): datePublished (ISO 8601), and reviewRating.bestRating / worstRating. If bestRating is omitted, 5 is assumed; if worstRating is omitted, 1 is assumed.

Where Review schema is supported

Review is broader than most people assume. Google supports it for Book, Course, Event, LocalBusiness (with the self-serving caveat below), Movie, Product, Recipe, and SoftwareApplication — plus their subtypes and several more: CreativeWorkSeason, CreativeWorkSeries, Episode, Game, MediaObject, MusicPlaylist, MusicRecording, and Organization (again, with the self-serving caveat). HowTo is also a valid itemReviewed type per Google’s current property reference — worth a check if you’re reviewing tutorials or instructional content, since it’s easy to miss in the prose list of “supported for” types. Evidence for this claim Google limits review snippet eligibility to specific Schema.org types and applies additional content and policy rules. Scope: Google Search review snippet feature; Schema.org validity alone is insufficient. Confidence: high · Verified: Google: Review snippet structured data So a critic reviewing a film, a user reviewing a recipe, or an editor reviewing a software app are all textbook, unrestricted uses.

Nested vs. standalone — when to omit itemReviewed

There are two shapes:

  • Standalone Review — a top-level Review that carries itemReviewed naming what it’s about. This is the “critic review” pattern (one journalist/publisher, one thing, one rating).
  • Nested Review — a Review placed inside the reviewed entity via the review property (e.g., a Game with a "review": {…} block). Here Google says to omit itemReviewed: “if the review is nested into another schema.org type using the review property, omit the itemReviewed property (we assume the parent item is the reviewed item).” The parent item’s name isn’t just good practice here — Google’s own required-properties table lists itemReviewed.name as its own required row, so a nested Review with an unnamed parent is missing a required field, not just missing context.

Getting this wrong — supplying itemReviewed inside a nested review, or omitting it on a standalone one — is one of the most common Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test failures in this space, and one that generic guides rarely walk through.

The self-serving-reviews rule — the single most important restriction

This is the rule to internalize, because it’s where the old “testimonials as review schema” tactic died and it’s the thing competitor guides most often bury.

Google, on the review-snippet doc: “If the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature.” And the example is unambiguous: “a review about entity A is placed on the website of entity A, either directly in their structured data or through an embedded third-party widget (for example, Google Business reviews or Facebook reviews widget).”

Read carefully what this does — and doesn’t — cover:

  • It’s scoped to LocalBusiness / Organization items being reviewed. A business or organization rating itself on its own pages gets no stars. That includes embeddingEmbeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. a third-party review widget (Google Business Profile, Facebook) on your own site — the source being external doesn’t rescue it if the entity controls the page. Evidence for this claim Google excludes self-serving reviews for LocalBusiness and Organization from the star review feature. Scope: Google Search review snippet policy; this restriction is scoped and should not be generalized to every reviewed type. Confidence: high · Verified: Google: Review snippet structured data
  • It does not cover Product, Book, Movie, Recipe, SoftwareApplication, Event, Course, Game, etc. Reviewing those on your own site is fine. Don’t overstate the policy’s scope — the frequent mangling is “Google killed review stars,” when the ban is specifically about self-hosted business/organization reviews.

One thing worth being blunt about, since it’s not spelled out verbatim in Google’s docs and I don’t want to overstate the sourcing: relabeling the reviewed entity as a Product or some other unrestricted type, when what’s actually being reviewed is your own business, isn’t a documented workaround. The restriction is written around what’s actually being reviewed and who controls the page it’s reviewed on — not the @type string you choose to declare. Treat this as editorial judgment, not a quoted policy: mislabeling the entity to dodge the rule is the kind of thing a manual reviewer is specifically looking for.

Google also draws two adjacent lines: “Ratings must be sourced directly from users,” and “Don’t rely on human editors to create, curate, or compile ratings information for local businesses.” And a flat rule that applies broadly: you can’t scrape ratings from elsewhere“Don’t aggregate reviews or ratings from other websites.” Copying Yelp or Google stars onto your own page and marking them up as yours is out.

The policy dates to roughly September 2019; Google announced it in a Search Central post on making review rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. more helpful. I’ll be honest about the sourcing: I couldn’t verify a clean, pinned Mueller or Illyes quote specifically on the self-serving-review manual-action mechanic, so I’m citing the docs and the policy announcement rather than putting words in anyone’s mouth (see the Quotes tab).

Eligibility, not ranking — and the manual-action risk

Two framing points that matter:

  • Review markup earns rich-result eligibility, not a ranking boost. The best case is a critic review snippet — stars and summary text in the listing. That can lift click-through, but it does not move you up the results. Any guide promising a “15–35% CTR lift” from review schemaReview schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. is quoting an unverifiable stat; treat it with suspicion.
  • Violations can trigger a manual action. Google warns: “If your site violates one or more of these guidelines, then Google may take manual action against it. Once you have remedied the problem, you can submit your site for reconsideration.” Google’s General Structured Data Guidelines spell out the precise consequence: “A structured data manual action means that a page loses eligibility for appearance as a rich result; it doesn’t affect how the page ranks in Google web search.” So the penalty is scoped to the rich result, not the page’s ordinary ranking — you lose the snippet until you fix the violation and request reconsideration, but you don’t get demoted or deindexed for it.

It helps to keep six separate states straight, because “it validated” and “it shows stars” are not the same fact: passing the Rich Results Test (field presence) → Google supporting the itemReviewed type at all → the page being eligible under the guidelines (not self-serving, not scraped, visible content) → Google having actually indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. the page → Google choosing to display the snippet → and — entirely separate from all of the above — the page’s ranking. A page can be green across the first five and still not rank well, and a page can rank well while never showing a single star.

Also remember the visibility rule: the reviews you mark up must be genuinely on the page and obvious to users — “it must be immediately obvious to users that the page has review content.” Marked-up reviews that a visitor can’t actually see are a guideline violation, not just a validation nit.

Testing and monitoring

Validate the markup with the Rich Results Test, then watch Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.. Google added a dedicated review-snippets report in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. (2020) that flags which pages are eligible and which have errors — that’s the diagnostic to check after you ship, since the Rich Results Test confirms field presence but not policy compliance (it won’t tell you your self-hosted business review is ineligible).

Bing and other engines

Bing’s structured-data guidance is much thinner than Google’s. Bing supports marking up reviews and ratings with schema.org vocabulary and will recognize it for enhanced results, and it validates annotated data against the declared type and expected format (mismatches get ignored rather than hard-rejected). But Bing has not published an equivalent to Google’s 2019 self-serving-reviews crackdown — there’s no Bing-specific Review eligibility page comparable to Google’s. Practically: treat Google’s Review/AggregateRating doc as the de facto standard even for Bing-focused work, because Bing points back to the same schema.org vocabulary without adding its own restrictions.

For where Review fits in the wider picture, it sits alongside the AggregateRating, Product, and Organization schemaOrganization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel. siblings under the broader structured-data hub this article nests within.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.