AggregateRating reflects real reviews
highjsonld_aggregate_rating
Flags AggregateRating schema for manual review to ensure it reflects real user data.
What does this rule check?
AggregateRating structured data tells search engines about a product or service's star rating. Google explicitly penalizes fabricated ratings — hardcoded values like 4.8 stars from 127 reviews that don't come from real user reviews can trigger a manual action.
Why is this important?
Fabricated AggregateRating data can trigger a Google Search Console manual action, which suppresses the entire site from search results. Even unintentional hardcoded ratings violate Google's structured data guidelines.
How to fix
Ensure your AggregateRating is dynamically generated from actual user review data. Remove any hardcoded star ratings or review counts from your JSON-LD. If you don't have real reviews, remove the AggregateRating schema entirely.
Examples
<script type="application/ld+json">
{
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "127"
}
}
</script>
<!-- Hardcoded values not from real reviews -->
<script type="application/ld+json">
{
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": dynamicRating,
"reviewCount": dynamicCount
}
}
</script>
<!-- Values fetched from real review database -->
Agent fix snippet
Copy this snippet and paste it into your AI coding agent to fix this issue automatically.
Check all JSON-LD blocks for AggregateRating.
Verify the ratingValue and reviewCount are dynamically generated from real user data.
If hardcoded, either connect to real review data or remove the AggregateRating entirely.