On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

reviewRating

reviewRating · Required

Appears in

What is it?

The score or rating assigned by the reviewer. reviewRating is a nested Rating object that contains the actual numeric value (the stars, the score, the grade) along with the scale boundaries. This is the property that makes a review quantitative rather than just qualitative text.

Why this matters for AEO

AI answer engines use reviewRating to power comparison queries. When a user asks "what's the highest rated sushi restaurant near me?", the AI reads the ratingValue inside reviewRating to rank and compare. Without structured rating data, AI engines must guess sentiment from the review text, which is far less reliable than a parsed numeric score.

What the specs say

Schema.org: Rating. The rating given in this review. Note that reviews can themselves be rated. The reviewRating applies to rating given by the review. schema.org/reviewRating

Google: Required. "The rating given in this review. The rating can be a nested Rating or more specific subtype." Google Review Snippet docs

How to find your value

  • Star rating widget — The number of filled stars on the review
  • Numeric score — The number displayed next to the review (e.g., 4.5/5)
  • Letter grade — Convert to the Rating object with bestRating/worstRating
  • Thumbs up/down — Use ratingValue 1 (down) or 5 (up) with bestRating 5

Format and code

reviewRating always contains a nested Rating (or subtype) object with at least ratingValue.

{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Restaurant",
    "name": "Legal Seafood"
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 4,
    "bestRating": 5,
    "worstRating": 1
  },
  "author": {
    "@type": "Person",
    "name": "Bob Smith"
  }
}

Minimal valid example:

{
  "@type": "Review",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 4
  }
}

Common invalid pattern: Using a plain number instead of a Rating object.

"reviewRating": 4

This fails validation. reviewRating must be a Rating object.

Webflow implementation

Static pages

Add the review with a nested reviewRating in Page Settings > Custom Code:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {"@type": "Product", "name": "Widget Pro"},
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 5,
    "bestRating": 5,
    "worstRating": 1
  },
  "author": {"@type": "Person", "name": "Jane Doe"}
}
</script>

CMS template pages

Create a number field in your reviews CMS collection for the rating value. In the JSON-LD embed, reference this field inside the Rating object. Hardcode bestRating and worstRating since the scale does not change per review.

In Schema HQ

The reviewRating field is generated the Rating object automatically from a CMS number field, including the correct bestRating and worstRating values for the configured scale.

Real examples

Google Search Central (Legal Seafood):

{
  "@context": "https://schema.org/",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Restaurant",
    "name": "Legal Seafood"
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 4
  },
  "author": {
    "@type": "Person",
    "name": "Bob Smith"
  }
}

Schema.org (with full scale):

{
  "@type": "Review",
  "author": "Ellie",
  "datePublished": "2011-04-01",
  "reviewBody": "The lamp burned out and now I have to replace it.",
  "name": "Not a happy camper",
  "reviewRating": {
    "@type": "Rating",
    "bestRating": "5",
    "ratingValue": "1",
    "worstRating": "1"
  }
}

Related fields

FAQ

Can reviewRating be a plain number?

No. It must be a Rating object with at least @type and ratingValue. A bare number like "reviewRating": 4 is invalid.

Is reviewRating required for review snippets?

Yes. Google requires reviewRating for review snippet rich results to appear in search. Without it, the review will not generate star ratings in SERPs.

What if the review has no numeric rating?

If the review is text only with no score, omit reviewRating and use reviewBody for the text. The review will not qualify for star rating rich results, but the structured review text can still be indexed.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us