
Review schema can show star ratings in Google, but Google's 2026 rules mean most local business websites no longer qualify for review snippet rich results. Here's what still works, what doesn't, and copy-paste JSON-LD code examples for every major schema type local businesses should implement.
Here's a view most guides won't give you: the advice to add AggregateRating schema to your local business website so you can get star ratings in Google search? That strategy stopped working the way most people think it does.
Google removed LocalBusiness and Organization entity types from review snippet eligibility. You can implement AggregateRating perfectly, right schema, right format, valid markup, reviews visible on the page, and still not see a single star in your organic search results.
This doesn't mean review schema is useless for local businesses. It means the way most people are implementing it is misaligned with what Google actually rewards in 2026. Here's what's changed, what still works, and how to implement your full local schema strategy with copy-paste JSON-LD examples.
Review schema is structured data markup that communicates your business's rating information to search engines in a machine-readable format. When Google understands the rating data on your page, it can potentially display star ratings directly in search results, called rich results or rich snippets.
There are two types relevant to local businesses. Review schema covers markup for an individual review, the actual text, author, date, and rating of a single customer review. AggregateRating schema covers your overall rating summary, your average score combined with your total review count.
The AggregateRating type is what produces the yellow stars you see beneath some search results. Both are defined by the Schema.org vocabulary and are recommended to be implemented using JSON-LD format, a script block added to your page HTML.
Here's the thing most guides skip over: just because you can add this markup to your page doesn't mean Google will display it. And for local businesses specifically, that gap has gotten much wider over the past two years.
Google has removed LocalBusiness and Organization entity types from review snippet eligibility.
This means: even if you implement a technically perfect AggregateRating schema on a LocalBusiness page, Google will not display star ratings in your organic search results. It doesn't matter if the schema is valid, if your reviews are genuine, or if the rating matches exactly what's displayed on the page.
Why did Google make this change? Review schema on your own website is, by definition, self-serving. A plumber adding 4.9 stars to their own website gives Google no independent quality signal, it only tells Google what the business wants Google to show. Google's rich result systems have moved toward requiring third-party or independently verified signals for business entities.
The schema types that still generate review snippet rich results in 2026:
Products are the primary supported type. Recipes, movies, books, music albums, software applications, courses, and events are also eligible. Local businesses with individual service pages can sometimes get star ratings by marking up specific Schema.org subtypes, but the parent LocalBusiness entity is explicitly excluded from review snippet eligibility.
โ ๏ธ Common Mistake: Spending hours implementing AggregateRating schema on your homepage or About page expecting to see stars in Google results. For LocalBusiness entity pages, this won't produce rich results in 2026. Focus your schema effort where it actually produces visible returns.
AggregateRating is still useful in your LocalBusiness schema, just not for the reason most people implement it.
Google still reads and processes AggregateRating markup even without displaying it as a rich result. It feeds AI Overviews: when Gemini or Google's AI systems generate a local business summary, your schema data informs what they show. A business with structured AggregateRating markup is more likely to have accurate rating information cited in AI-generated responses.
It signals content quality. Google's systems use structured data to understand the confidence level of your page. Well-implemented schema signals you're a legitimate business with real customer feedback.
It supports third-party integrations. Bing, Apple Maps, and other search engines have different eligibility rules and may display rating rich results where Google doesn't.
It maintains readiness. Google's eligibility rules change. Well-structured schema puts you in position if LocalBusiness review snippets return, and based on history, they may.
For local businesses specifically, Google allows review schema under these conditions: the reviews being marked up must be genuine customer reviews collected on your own website, not reviews from third-party platforms like Google or Yelp. The reviews must represent real experiences of real customers. The marked-up rating must match what's visible on your webpage exactly.
Google explicitly prohibits: marking up reviews that appear on a different page than your schema, using an inflated rating that doesn't match your displayed rating, marking up reviews written by employees or anyone with a conflict of interest, and embedding third-party review platform data in your schema as if they were your own collected reviews.
๐ก Pro Tip: The real star-rating opportunity for local businesses isn't website schema, it's your Google Business Profile. Your GBP reviews appear as stars in the local pack and map results automatically, without any schema implementation required.
JSON-LD is the format Google recommends for all structured data. It goes inside a <script> tag in your page's <head> or <body>. These are copy-paste examples you can adapt for your business.
Basic LocalBusiness Schema (without reviews):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Austin Plumbing Pros",
"image": "https://austinplumbingpros.com/images/logo.jpg",
"url": "https://austinplumbingpros.com",
"telephone": "+1-512-555-0100",
"description": "Austin Plumbing Pros provides residential plumbing repair, installation, and emergency services throughout Austin, TX. Specializing in leak detection, water heater replacement, and drain cleaning.",
"address": {
"@type": "PostalAddress",
"streetAddress": "1234 Lamar Blvd",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78704",
"addressCountry": "US"
},
"areaServed": {
"@type": "City",
"name": "Austin"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "18:00"
}
]
}
</script>
LocalBusiness Schema with AggregateRating (use only when on-site reviews are displayed on the same page):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Austin Plumbing Pros",
"image": "https://austinplumbingpros.com/images/logo.jpg",
"url": "https://austinplumbingpros.com",
"telephone": "+1-512-555-0100",
"description": "Austin Plumbing Pros provides residential plumbing repair, installation, and emergency services throughout Austin, TX. Specializing in leak detection, water heater replacement, and drain cleaning.",
"address": {
"@type": "PostalAddress",
"streetAddress": "1234 Lamar Blvd",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78704",
"addressCountry": "US"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "127",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "James T."
},
"datePublished": "2026-03-15",
"reviewBody": "Showed up on time, fixed the leak in under an hour. Pricing was fair and they cleaned up completely. Will call again."
}
]
}
</script>
Individual Review Schema (for on-site testimonials/review pages):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "LocalBusiness",
"name": "Austin Plumbing Pros"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"name": "Best plumber in Austin",
"author": {
"@type": "Person",
"name": "James T."
},
"datePublished": "2026-03-15",
"reviewBody": "Called them for an emergency leak at 7am. They arrived in 45 minutes and had it fixed before I left for work. Pricing was fair and they cleaned up after themselves."
}
</script>
Key rules for every code example above: ratingValue and reviewCount must match what's visibly displayed on the page, exactly. If your page shows 4.8 stars and 127 reviews, your schema must show exactly that. Any mismatch is a policy violation.
@type should be the most specific subtype available. Use Plumber, Dentist, Restaurant, LegalService, AutoRepair, not just the generic LocalBusiness. Schema.org has over 200 LocalBusiness subtypes, and specificity helps Google categorize your business correctly for relevant searches.
๐ฅ Quick Win: Use the most specific @type for your business. Check the full list at Schema.org/LocalBusiness. The right subtype immediately signals your business category to Google without relying on keyword placement.
AggregateRating schema requires on-site reviews, reviews collected and displayed on your own website, not pulled from Google, Yelp, or other third-party platforms.
Google explicitly prohibits embedding third-party review data in your schema markup. You cannot take your Google Reviews widget and add AggregateRating schema that references those ratings as if they're your own on-site reviews. The reviews must live on your website, collected through your own system.
The four required fields for AggregateRating:
itemReviewed identifies the business or item being rated. ratingValue is your average rating (e.g., 4.8). bestRating is the maximum possible rating (typically 5). reviewCount is the number of reviews, must match what you display on the page.
Compliance rules that matter:
The schema ratingValue must match what's visible on the page, exactly. The reviewCount must match the number of reviews displayed on that page. Every review marked up with individual Review schema must be visible on the same page where the schema lives. Reviews must be written by real customers with genuine experience, no staff-written testimonials, no hypothetical reviews, no incentivized reviews that violate the FTC's endorsement guidelines.
How to legitimately collect on-site reviews:
A feedback form on your services or contact page that posts results to your website is the most common approach. When a customer submits a review through your own form and it displays on your website, that's first-party on-site content you can mark up.
WordPress plugins like WP Review Pro and Trustindex support first-party review collection with built-in schema output. Some CRM platforms also have review collection modules that output to your website.
โ ๏ธ Common Mistake: Adding AggregateRating schema to a page that doesn't show reviews. Google's systems check for consistency between what the schema claims and what's visible on the page. Schema without corresponding visible content is a policy violation that can result in your review snippets being suppressed entirely.
Review schema isn't the only path to enhanced SERP visibility. Local businesses have several schema types that reliably produce rich result features in 2026.
FAQ Schema is the highest-impact option for most local business service pages. Adding FAQ schema creates expandable question-and-answer sections directly below your search result, nearly doubling your result's visual footprint on the page. A dental practice in Dallas, TX added FAQ schema to their "teeth whitening" service page and saw click-through rate increase by 34% in six weeks. Implementation:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does emergency plumbing cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Emergency plumbing typically costs $150 to $400 for the service call in Austin, TX, with repairs billed separately. Most emergency calls include a flat dispatch fee of $75 to $125."
}
},
{
"@type": "Question",
"name": "How fast can you respond to a plumbing emergency?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We respond to plumbing emergencies in Austin within 45 minutes during business hours and within 90 minutes for after-hours calls."
}
}
]
}
</script>
Service Schema lets you mark up individual services with pricing, description, and availability. This feeds Google's knowledge panel for your business and provides clean structured data for AI systems extracting service information. Use @type: "Service" with serviceType, description, and optionally offers with pricing.
LocalBusiness + Opening Hours, properly structured hours appear in knowledge panels and help Google surface your business for time-sensitive searches like "plumber open now" or "dentist open Saturday." Use openingHoursSpecification with day-specific open and close times.
Breadcrumb Schema improves how your site structure appears in search results, especially for multi-page sites with service categories. A Nashville law firm added breadcrumb schema sitewide and saw organic impressions increase 19% in 90 days.
๐ Flento Data: Across Flento's analysis of 1,500+ local business websites, businesses with complete LocalBusiness plus FAQ schema saw 22% higher click-through rates from organic search compared to those with basic or no schema markup.
AI Overviews now appear for many local business queries, and schema markup directly influences whether and how your business is cited in them.
When Google's AI generates an Overview for a search like "best plumber in Austin," it synthesizes information from multiple signals: your Google Business Profile, review content, website content, and structured data. Well-implemented schema markup is one of the cleaner signals for AI systems to parse and cite.
What to optimize for AI Overview citations:
Your description field in LocalBusiness schema should be a clear, keyword-relevant summary of what you do and where. AI systems often pull this directly into generated answers. Write it as if it's the one sentence Google would use to describe your business to a searcher, specific services, specific city, specific differentiator.
Good: "Full-service HVAC company in Phoenix, AZ serving residential and commercial clients, specializing in emergency AC repair and heat pump installation since 2008."
Weak: "We're an HVAC company that serves the Phoenix area."
Your areaServed field signals geographic coverage explicitly to AI systems:
"areaServed": [
{"@type": "City", "name": "Austin"},
{"@type": "City", "name": "Round Rock"},
{"@type": "City", "name": "Cedar Park"}
]
Review content matters here too. AI systems extract what customers say about businesses, not just star ratings. A business whose on-site reviews mention specific services, neighborhoods, and outcomes will appear in more varied AI-generated summaries than one with generic reviews.
I've been watching this pattern develop since 2023 when AI Overviews first started surfacing in local results. The businesses getting cited consistently aren't always the ones with the highest review counts, they're the ones whose structured data is cleanest and whose review content is most specific. Clean schema is a low-friction way to be more readable to AI systems than your competitors.
๐ก Pro Tip: After implementing your LocalBusiness schema, search for your target keyword in Google and check whether an AI Overview appears. If it does, note what information it cites about the top businesses. Then audit whether your schema and review content surface the same types of information.
After implementing any schema markup, validate it before assuming it's correct. Google's tools catch errors that prevent rich result eligibility.
Google's Rich Results Test, enter your URL or paste your schema code directly. The tool shows whether your markup is eligible for rich results and flags errors and warnings. Errors must be fixed before your schema will function correctly. Warnings are advisory but worth addressing.
Google Search Console โ Enhancements, after Google crawls your page (usually within 1 to 4 weeks), errors appear in the Enhancements reports. This is the authoritative view of how Google processes your schema in production. Check this section monthly if you have schema implemented across multiple pages.
Schema Markup Validator (validator.schema.org), tests against the Schema.org specification directly. Use this alongside Google's tool, as some errors one catches the other misses.
Common errors to watch for:
ratingValue out of range, must be between worstRating and bestRating. If you use a 5-point scale, ratingValue cannot exceed 5.
reviewCount or ratingCount is 0, schema requires at least one review to be meaningful. Don't implement AggregateRating markup until you have at least one visible on-site review.
author field missing on individual Review markup, this is a required property. Every marked-up review must include an author name.
Date format errors, use ISO 8601 format (2026-03-15, not "March 15, 2026"). Wrong date formats fail silently but prevent proper processing.
๐ฅ Quick Win: Run Google's Rich Results Test on your top 3 landing pages right now. Most local business websites have schema implementation errors they're not aware of. A 10-minute validation pass can reveal issues that have been suppressing your results for months without any visible warning in Google Search Console.
Getting your local schema setup right is one piece of your broader local visibility strategy. The place your star ratings actually appear for local searches is your Google Business Profile listing, not your website schema.
Your GBP reviews feed directly into the local pack stars, the knowledge panel, and AI-generated local summaries without any schema implementation needed. This is where review management has the most direct, measurable impact on your local rankings.
Flento's Google Review Management Software helps you build and manage the review profile that drives those local pack star ratings. Automated review request timing, response management, and review velocity tracking, the signals that actually determine whether your business shows stars to local searchers.
For your website schema specifically: once you've implemented the JSON-LD examples in this guide, the highest-impact next step is making sure your business information is consistent across every directory where it appears. Schema markup on your website references your NAP, Name, Address, Phone. Any inconsistency across directories weakens the signal your schema is trying to send.
<script type="application/ld+json"> tag in your page head or body@type for your business (Plumber, Dentist, Restaurant, AutoRepair, etc.)description field as a clear, keyword-relevant one-sentence business summaryareaServed to explicitly signal your geographic service areaopeningHoursSpecificationaggregateRating if you have genuine on-site reviews displayed on the same pageratingValue and reviewCount exactly match what's visible on the pageโ Done? Build the review signals that actually show stars in local search, Start free with Flento โ
Does review schema give my website star ratings in Google search?
Not for most local business websites. Google removed LocalBusiness and Organization entity types from review snippet eligibility. Review schema is still worth implementing for AI Overviews and structured data benefits, but it won't produce the star rating rich results in organic search that many guides still claim it does.
What schema type DOES generate rich results for local businesses?
FAQ schema is the most reliable rich result generator for local business service pages. It creates expandable question-and-answer sections below your search result. LocalBusiness schema with structured hours and services also contributes to knowledge panel data visible in branded searches and voice results.
Can I use AggregateRating schema on my site if my reviews come from Google or Yelp?
No. Google prohibits marking up third-party review data as if it's your own on-site content. AggregateRating schema must reference reviews collected and displayed on your own website. Embedding a Google Reviews widget and adding AggregateRating schema to that page is a policy violation that can result in a manual action.
My website has a testimonials page, can I add review schema to that?
Yes, if the testimonials are genuine reviews from real customers who experienced your services, and if both the testimonials and the schema markup live on the same page. The ratingValue and reviewCount in your schema must match the visible content exactly. Staff-written testimonials or curated quotes cannot be marked up as customer reviews.
How long does it take for schema changes to appear in Google?
Google typically re-crawls schema changes within 1 to 4 weeks for most sites. Changes appear in Google Search Console's Enhancements reports once Google has processed the updated markup. For newly added schema, use Google's URL Inspection tool and click Request Indexing to trigger a faster re-crawl.
Will schema markup directly improve my local pack rankings?
Not directly. Schema markup doesn't have a confirmed direct influence on local pack ranking positions. Its value for local businesses is: feeding AI Overviews accurately, improving organic click-through rates through rich results like FAQ, and ensuring your structured data is clean for Google's understanding of your business entity. Your GBP, reviews, citations, and NAP consistency are the primary local pack ranking drivers.
What's the difference between Review schema and LocalBusiness schema?
LocalBusiness schema describes your business, its name, address, phone, hours, and services. Review schema describes what customers have said about your business. They're often implemented together in a single JSON-LD block, but they serve different purposes. LocalBusiness schema is foundational for every local business website. Review schema is optional and only appropriate when you have genuine on-site reviews to mark up.
What happens if I implement review schema incorrectly?
Incorrect review schema can result in Google ignoring your structured data entirely, suppressing any rich results your site was previously receiving, or in serious cases, a manual action that affects your search visibility. The most common violations are: mismatched ratingValue vs. displayed rating, marking up third-party reviews, and having schema on a page without the corresponding visible reviews.