sfw/fix
Missing field 'aggregateRating' medium

Missing Field "aggregateRating" in Structured Data

Your markup promises an overall rating but never outputs the aggregateRating object, so star snippets won't show.

What you see

Missing field "aggregateRating" (in "review")
or: Missing field "aggregateRating"
Item: Product

What’s actually happening

Rich Results Test or Search Console reports the field as missing on a type where you expected rating stars. Either the aggregateRating object isn't being emitted at all, or it's there but empty / malformed so the parser discards it. The visible symptom is the one that actually costs you: no rating stars in the SERP, which kills the click-through bump you were chasing.

Common causes

  • The schema references reviews but the aggregateRating object was never added to the JSON-LD
  • aggregateRating exists but ratingValue or reviewCount/ratingCount is blank, zero, or a non-numeric string
  • Ratings render in a third-party review widget (Trustpilot, Yotpo) whose markup never made it into your Product/LocalBusiness object
  • ratingValue is hard-coded with no matching review content visible on the page — Google ignores or penalizes it
  • The aggregateRating sits on the wrong parent type (e.g. on Organization rather than Product)

How to fix it

  1. Output a complete aggregateRating object"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.4", "reviewCount": "57", "bestRating": "5" } . ratingValue and one of reviewCount or ratingCount are required and must be real numbers. bestRating defaults to 5 if omitted.
  2. Pull the numbers from reviews that are actually on the pageCompute ratingValue and reviewCount from the same reviews a visitor can see and scroll to. This is the rule people skip: Google requires the aggregate to reflect visible on-page review content. Stars with no reviews behind them are a structured-data spam violation.
  3. Never hard-code fake valuesSticking "5.0" / "999" on every product is the fastest way to a manual action against your whole site. If a product has no reviews yet, omit aggregateRating entirely — missing stars beat a penalty.
  4. Attach it to the right object and re-validateConfirm aggregateRating is nested inside the Product (or LocalBusiness/Recipe) it describes, not a sibling. Re-run the Rich Results Test, then Validate Fix in the relevant snippets report.

Stop it recurring

Drive aggregateRating straight from your live review store so the markup and the visible reviews can never drift apart.

Related errors