Your competitors have those shiny gold stars next to their search results. You don’t. Guess who’s getting the clicks?
I’ll tell you exactly what’s happening: they’re using review schema markup, and you’re sitting there wondering why your phone stopped ringing. Not because they have better reviews than you. Because Google can see and display their reviews while yours are invisible.
Let me show you how to fix this.
What Is Review Schema Markup?
Review schema is code that tells Google “these are actual customer reviews” instead of letting it guess. Without it, Google looks at your testimonials page and sees… text. Just text. Could be reviews. Could be your nephew practicing creative writing. Google doesn’t know.
With schema, you’re spelling it out: This is a review. From this person. They gave us this rating. About this specific service.
Then Google does what Google does best. It takes that information and slaps those beautiful star ratings right in the search results. Suddenly you’re not just another listing. You’re the plumber with 4.8 stars and 127 reviews.
I watched a carpet cleaning company go from page two obscurity to dominating local search. Not because they got better at cleaning carpets. Because people could finally see that 200 customers thought they were amazing.
Why Review Schema Matters
You Look Like the Obvious Choice
Picture this: Someone searches “emergency plumber near me” at 11 PM with water spraying everywhere. They see:
- Bob’s Plumbing
- ⭐⭐⭐⭐⭐ Mike’s 24/7 Plumbing (4.7 – 89 reviews)
- Johnson Plumbing Services
Who are they calling? Mike. Every time.
People Click Your Listing
Here’s what nobody tells you: Those stars increase click-through rates by 20-35%. Not because of some marketing psychology nonsense. Because humans are lazy. We want the easy choice. Stars make you the easy choice.
I tracked this for a roofing contractor. Before schema: 2.3% CTR. After schema with their 4.6 rating showing: 3.1% CTR. Same position, same competitors. Just those little stars doing the heavy lifting.
Google Finally Understands Your Business
You know those reviews you worked so hard to get? Google’s been ignoring them. Not out of spite. It just couldn’t tell they were reviews.
Schema fixes that. Now when someone searches “dentist reviews downtown,” your properly marked reviews show up. Because you told Google exactly what they are.
Types of Review Schema
Simple Review Schema
For individual reviews. One customer, one opinion.
You need:
- Who wrote it (author)
- What they reviewed (itemReviewed)
- The rating they gave (reviewRating)
- The actual rating number (ratingValue)
Optional but smart to include:
- When they wrote it (datePublished)
- Your rating scale (bestRating, worstRating)
Aggregate Rating Schema
For showing your overall rating from all reviews combined.
You need:
- What’s being rated (itemReviewed)
- Your business name (itemReviewed.name)
- Total number of reviews (reviewCount)
- Average rating (ratingValue)
Most local businesses want aggregate ratings. Nobody cares what Bob specifically said. They care that 89 people average 4.7 stars.
How to Add This to Your Website
Step 1: Generate Your Schema Code
Here’s actual schema that works:
For a single review:
{
"@context": "https://schema.org/",
"@type": "Review",
"itemReviewed": {
"@type": "Plumber",
"name": "Mike's 24/7 Plumbing"
},
"author": {
"@type": "Person",
"name": "Sarah Chen"
},
"datePublished": "2024-01-15",
"reviewBody": "Fixed my burst pipe at midnight. Showed up in 20 minutes, fair price, cleaned up after. Lifesaver!",
"reviewRating": {
"@type": "Rating",
"ratingValue": 5,
"bestRating": 5,
"worstRating": 1
}
}
For aggregate ratings (what most of you want):
{
"@context": "https://schema.org/",
"@type": "Plumber",
"name": "Mike's 24/7 Plumbing",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.7,
"bestRating": 5,
"worstRating": 1,
"reviewCount": 89
}
}
Don’t write this by hand. Use tools:
- Schema.org’s generator
- Merkle’s Schema Markup Generator
- Technical SEO’s Schema Generator
They all work. Pick one. Generate code. Move on.
Step 2: Put It On Your Website
Add the code to your page’s <head> section wrapped in script tags:
<script type="application/ld+json">
[Your schema code here]
</script>
WordPress? Use a plugin:
- Schema Pro (what I use)
- WPSSO Schema
- All in One Schema Rich Snippets
Other platforms have their own methods. Shopify has apps. Wix has built-in schema tools. Find yours and use it.
Step 3: Test Your Schema
Half the schemas I audit are broken. Not because people are stupid. Because one typo breaks everything.
Test with:
Both should show green checkmarks. Red means fix it. Yellow warnings you can usually ignore unless Google specifically complains.
Track If This Works
Google Search Console
Go to Enhancements > Review snippets. You’ll see:
- Valid items (good)
- Errors (fix these)
- Warnings (probably fine)
Takes 2-4 weeks for data to show up. Be patient.
Your Analytics
Track clicks before and after. If your CTR doesn’t improve after a month, either:
- Your schema is broken
- Your ratings are terrible
- Your competition has better ratings
Usually it’s the first one.
Don’t Do This
Fake Reviews
“My cousin Steve says we’re great!” isn’t a real review. Google knows. They’ll penalize you. I’ve seen businesses tank their rankings trying this.
Only mark up real customer reviews that exist on your page.
Wrong Schema Types
Don’t use Product schema for your plumbing service. Don’t use Recipe schema for your law firm (yes, I’ve seen this). Match the schema to what you do.
Hidden or Mismatched Content
If your schema says 4.7 stars but your page shows 4.2, Google gets pissed. The numbers must match exactly.
Third-Party Reviews
Those Yelp reviews? Google reviews? Facebook reviews? Can’t use schema on them unless they’re displayed on YOUR website. And even then, be careful. Google prefers reviews collected directly on your site.
Real Implementation That Works
Here’s what moves the needle:
- Start with your money pages. Homepage, main service pages, location pages.
- Use aggregate ratings to show overall reputation
- Update the review count monthly (or automate it)
- Make sure reviews are visible on the page, not hidden in tabs
- Keep collecting new reviews. Stale reviews hurt credibility
A landscaping company I work with updates their schema monthly. Takes 5 minutes. Their CTR stays consistently 25% higher than competitors who “set it and forget it.”
The Part Nobody Talks About
Schema only amplifies what’s already there. Got terrible reviews? Schema makes them visible. Got no reviews? Schema shows that too.
Fix your actual reputation first. Then use schema to broadcast it.
The HVAC company with 2.3 stars shouldn’t implement review schema. They should fix their service. The one with 4.8 stars and no schema? They’re leaving money on the table.
Review schema isn’t some magic SEO trick. It’s showing Google (and customers) the reputation you’ve already earned. If you’ve done the work to earn good reviews, schema makes sure everyone sees them.
Those competitors with the stars in their search results? They’re not smarter than you. They just implemented this one thing you haven’t yet.
Time to change that.