TL;DR: Review schema markup is JSON-LD code you add to your website that tells Google your page contains review data. When implemented correctly, it triggers star-rating rich snippets in search results — which boost click-through rates by 20-30%. This guide covers the exact code, Google rules, and common mistakes that get your markup rejected.
What Is Review Schema Markup?
Review schema markup is structured data you add to your website HTML that communicates review information to search engines in a machine-readable format. It follows the vocabulary defined by Schema.org and is most commonly implemented using JSON-LD (JavaScript Object Notation for Linked Data).
When Google crawler reads valid review schema on your page, it can display rich snippets — those gold star ratings you see under some search results. A listing with stars gets more clicks than one without. That is the entire value proposition.
Why Review Schema Matters for Local Businesses
Star ratings in search results are not decorative. They are a competitive weapon.
Higher Click-Through Rates
Search results with star-rating rich snippets earn 20-30% more clicks than results without them. For a local business competing against 9 other results on page one, that difference can mean dozens of additional website visitors per month — without spending a dollar on ads.
Trust Signal Before the Click
A potential customer sees your listing with “4.8 stars from 127 reviews” before they ever visit your site. That trust is established in the search result itself, which means the visitor who does click is already warmer than one who clicked a plain listing.
AI Engine Extraction
AI answer engines like Google AI Overviews, Perplexity, and ChatGPT with browsing use structured data to understand page content. Review schema makes your review data machine-readable, increasing the chance that AI engines cite your business when answering questions about your industry or location.
Types of Review Schema
Schema.org defines several review-related types. Here are the three you need to know.
Review
Represents a single review from one person. Includes the reviewer name, the rating value, and the review body.
{
"@context": "https://schema.org",
"@type": "Review",
"author": {
"@type": "Person",
"name": "Sarah M."
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Fast service, fair price. They fixed the leak in under an hour."
}
AggregateRating
Summarizes multiple reviews into one rating. This is the type that triggers the “4.7 stars from 143 reviews” display in search results.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "ABC Plumbing",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "143",
"bestRating": "5"
}
}
LocalBusiness With Reviews
For local businesses, the most useful implementation combines your business information with an AggregateRating and individual Review items. This gives Google the full picture.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "ABC Plumbing",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701"
},
"telephone": "+1-555-012-3456",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "143",
"bestRating": "5"
},
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Sarah M."
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Fast service, fair price. Fixed the leak in under an hour."
}
]
}
How to Add Review Schema to Your Website
Step 1: Choose Your Implementation Method
JSON-LD (recommended): Add a <script type="application/ld+json"> block to your page head or body. Google explicitly recommends JSON-LD over other formats.
Microdata: Add attributes directly to your HTML elements. More complex, harder to maintain, not recommended for new implementations.
RDFa: Similar to microdata but using a different attribute syntax. Rarely used for review schema today.
Use JSON-LD. It is the simplest to implement, the easiest to debug, and the format Google prefers.
Step 2: Gather Your Review Data
You need:
- Your business name, address, and contact information
- Your aggregate rating (average stars and total review count)
- Individual review excerpts (optional but strengthens the markup)
If you display reviews on your website through a review widget, the widget may already generate this data for you.
Step 3: Generate the JSON-LD Code
Use the LocalBusiness + AggregateRating template above as your starting point. Replace the placeholder values with your actual business data.
For businesses using ReviewGlow, the website widgets and schema feature generates valid JSON-LD automatically based on your connected review sources. No manual coding required.
Step 4: Add the Code to Your Website
Place the JSON-LD script tag on the relevant page. For most local businesses, this goes on:
- Your homepage
- Your testimonials or reviews page
- Location-specific pages (if you have multiple locations)
Do not add review schema to pages that do not display actual review content. Google will reject it.
Step 5: Validate Your Markup
Use Google Rich Results Test (search.google.com/test/rich-results) to check your implementation. Paste your page URL or the JSON-LD code directly. The tool will show:
- Whether the markup is valid
- Any errors or warnings
- Whether your page is eligible for rich snippets
Fix any errors before moving on. Warnings are worth addressing but will not block your rich snippets.
Step 6: Monitor in Google Search Console
After Google crawls your updated page, check the “Enhancements” section in Google Search Console. Look for the “Review snippet” report, which shows:
- Valid items (pages with correct review schema)
- Items with errors (pages with broken markup)
- Items with warnings (pages with non-critical issues)
Google Rules for Review Schema
Google has strict guidelines on review schema. Violating them can result in your rich snippets being removed — or worse, a manual action against your site.
What Google Allows
- AggregateRating from genuine customer reviews displayed on the page
- Individual Review markup for reviews visibly shown on the page
- Third-party review data (from Google, Yelp, etc.) if displayed on your page via a widget
- Review schema on product pages, service pages, and location pages
What Google Does Not Allow
- Self-serving reviews: You cannot mark up reviews you wrote about your own business
- Hidden reviews: The review data in your schema must match visible content on the page
- Inflated ratings: Your schema rating must match your actual displayed rating
- Review schema on your homepage if the homepage does not display review content (adding a review widget to your homepage solves this)
- Aggregate ratings from a single source presented as if from multiple sources
The Visible Content Rule
This is the rule most businesses violate unintentionally. Google requires that the review content referenced in your schema markup must be visible on the page. If your JSON-LD says you have a 4.7-star rating from 143 reviews, those reviews (or at least a representative sample) must be visible to users on that page.
A review widget that pulls your actual Google reviews and displays them on your website satisfies this requirement and generates valid schema automatically.
Common Mistakes With Review Schema
Mistake 1: Adding Schema Without Visible Reviews
The most common error. A business adds AggregateRating schema to their homepage but displays no reviews on the page. Google will reject this markup during the next review.
Fix: Embed a review widget that displays actual customer reviews on any page where you use review schema.
Mistake 2: Mismatched Data
Your schema says 4.8 stars from 200 reviews, but your page shows 4.5 stars from 150 reviews. Google checks for consistency, and mismatches result in markup rejection.
Fix: Use dynamic schema that pulls from the same data source as your displayed reviews.
Mistake 3: Using the Wrong Schema Type
A plumbing company marks up their reviews using Product schema instead of LocalBusiness. Google expects the schema type to match the entity being reviewed.
Fix: Use LocalBusiness (or a more specific subtype like Plumber, Dentist, Restaurant) for local service businesses.
Mistake 4: Forgetting to Update
You added review schema 6 months ago when you had 50 reviews and a 4.6 average. Now you have 120 reviews and a 4.8 average, but your schema still says 50 and 4.6.
Fix: Use dynamic schema generation (through your CMS, review widget, or review management tool) that updates automatically.
Review Schema and ReviewGlow
ReviewGlow website widgets and schema feature handles review schema automatically. When you embed a ReviewGlow widget on your website:
- The widget displays your actual reviews from connected platforms
- Valid JSON-LD schema is generated automatically
- The schema updates as new reviews come in
- No manual coding or maintenance required
This satisfies Google visible content requirement and keeps your schema data accurate without manual updates.
14-day free trial. Every feature unlocked. Cancel anytime.
Conclusion
Review schema markup is one of the highest-leverage technical SEO actions a local business can take. The implementation is straightforward — add JSON-LD to your pages, display the reviews those pages reference, and validate with Google testing tool. The payoff — star ratings in search results, higher click-through rates, and better AI engine visibility — compounds over time as your review count grows.
Start with your homepage and your main service pages. Add a review widget, generate the matching schema, validate it, and monitor the results in Search Console. The stars will follow.
Frequently Asked Questions
Manage every review from one dashboard.
ReviewGlow automates review requests, drafts AI responses, and monitors every platform — so you can focus on running your business.
Start Free Trial →