Loading...
Loading...
37+ powerful tools to help you collect reviews, respond faster, and grow your business.
Generate links, QR codes, and templates to collect more reviews.
AI-powered tools and templates to respond to reviews faster.
Optimize your Google Business Profile and local listings.
Measure review performance and compare with competitors.
Embed review widgets on your website and utility tools.
SEO rich snippets are enhanced search results that show star ratings, review counts, and aggregate ratings beneath a website's blue title link. Google generates rich snippets by parsing schema.org structured data — specifically JSON-LD markup using the Review, AggregateRating, and LocalBusiness types — from the page's HTML. Websites with valid review schema see 20-30% higher click-through rates in organic search compared to plain text results. BlooTrue review widgets emit valid schema.org JSON-LD automatically inside the embedded iframe, and also expose a standalone /schema.json endpoint that businesses can reference from their own page head for maximum rich snippet eligibility. The guide below covers what rich snippets are, which schema types Google requires, how to test your markup with the Google Rich Results Test, why rich snippets sometimes fail to appear, and the step-by-step process to get star ratings in Google search results using BlooTrue's free widget builder.

Two identical Google search results sit next to each other. One is plain — blue title, green URL, gray description. The other has five gold stars, a 4.9 rating, and “127 reviews” underneath. Which one gets clicked? Every time, the one with the stars. That's the power of rich snippets — and in 2026, they're no longer optional for local businesses that want to show up in search.
Rich snippets are enhanced Google search results that show extra information beyond the standard title, URL, and meta description. For review-based rich snippets, that extra information is a gold star row, a numeric rating (like 4.8), the number of reviews, and sometimes snippets from individual reviews. Google generates these visual enhancements by parsing structured data — machine-readable markup — from your website's HTML.
Rich snippets are not paid placements. You cannot buy stars in Google search the way you can buy AdWords. They are awarded algorithmically to pages that expose valid, honest, relevant structured data. The most common review-related rich snippets use the schema.org Review, AggregateRating, and LocalBusiness types.
Structured data has existed since 2011 in three formats: Microdata (inline HTML attributes), RDFa (similar), and JSON-LD (a JSON object inside a <script type="application/ld+json"> tag in the page head). Google officially recommends JSON-LD because it separates presentation from metadata and is easier to maintain. Every modern review widget — including BlooTrue — emits JSON-LD, not Microdata.
The data on rich snippets is unambiguous. Search Engine Land's 2024 analysis of 10 million SERPs found that organic results with star-rating rich snippets earned 20-30% higher click-through rates than identical positions without snippets. In some verticals — home services, restaurants, medical — the lift exceeds 50%. Stars act as a trust signal before the click: users don't need to evaluate your domain authority or copy; they see five gold stars and assume you're credible.
For local businesses, this matters even more because you're often competing with directory aggregators (Yelp, Angi, HomeAdvisor) and larger competitors on generic queries like “plumber near me.” A rich snippet is one of the few ways a small business can visually outrank a larger competitor in the same SERP position. Your page and theirs might both be on page one, but only yours has stars — and yours gets the click.
There's also a second-order effect. Higher CTR sends a positive quality signal to Google, which reinforces the ranking. Over 6-12 months, pages with persistently higher CTR often climb the SERP. This compounding effect is why review schema is considered foundational local SEO — not a nice-to-have.
→ Try the free widget builder — schema markup included
Google's official Review Snippet documentation lists several schema.org types that can trigger review rich snippets. For a local business displaying customer reviews, the three that matter are:
LocalBusiness is the parent entity. It describes your business — name, address, phone, URL, hours, image. Rich snippets for reviews are attached to a LocalBusiness (or one of its subtypes like Restaurant, Dentist, Plumber). If you don't declare a LocalBusiness on your page, Google has nothing to attach the rating to.
AggregateRating is the summary rating — your overall star average and total review count. It appears as a property of the LocalBusiness. This is what generates the “4.8 ★ (127 reviews)” line in the SERP. It must include ratingValue, reviewCount (or ratingCount), bestRating, and worstRating.
Review represents each individual review. Each Review needs an author, a rating, and a review body. You don't need to emit every review on your page — Google limits review snippets to a handful anyway — but including 5-10 recent reviews gives the snippet richness and helps Google understand the ratings are genuine, not invented.
Here's a minimal but valid block of JSON-LD for a local business with an aggregate rating and individual reviews. Paste this inside your page's <head> tag:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Acme Plumbing & Heating",
"url": "https://acmeplumbing.com",
"image": "https://acmeplumbing.com/hero.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Toronto",
"addressRegion": "ON",
"postalCode": "M5V 3A8",
"addressCountry": "CA"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "127",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "Sarah K." },
"datePublished": "2026-03-14",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Fixed our burst pipe within an hour. Fair price, zero mess."
}
]
}
</script>This single block is enough to make your business eligible for review rich snippets. Google may take days or weeks to index the markup and decide whether to display stars in search — snippet display is algorithmic, not guaranteed — but without the markup, display is impossible.
Writing correct JSON-LD by hand is tedious and error-prone. A missing bestRating, a stringified number where an integer was expected, or a malformed date — any of these silently disqualify your page from rich snippets. That's why BlooTrue's review widget emits schema markup on your behalf.
When you embed a BlooTrue widget, two things happen. First, inside the widget iframe, the HTML head contains a valid application/ld+json script with LocalBusiness, AggregateRating, and up to 10 recent Review objects. Second, BlooTrue exposes a standalone endpoint at /widgets/embed/:embedId/schema.json that returns the same schema as pure JSON — so you can reference it from your own parent page's head if you want maximum rich snippet signal strength.
The schema is kept in sync with your actual reviews. As you collect new reviews through BlooTrue's review collection flow, the aggregate rating and review count update automatically. There's no manual re-generation, no cron job, and no stale data — which matters because Google periodically re-crawls and re-evaluates schema for freshness.

Most review widgets — including BlooTrue, Elfsight, Trustindex, and Widgetic — render inside an iframe. This is the right choice technically: iframes isolate widget CSS from your site styles, provide a security boundary, and let the widget update without requiring you to re-paste code. But there's a subtle SEO question that few widget vendors address: does schema inside the iframe help the parent page rank?
Historically, Google did not reliably index content inside iframes for the parent URL's ranking purposes. That was one of the reasons some businesses preferred server-side review widgets that rendered reviews into the parent HTML. In 2024-2026, Google's Web Rendering Service has become significantly better at understanding iframed content — but schema.org signals specifically are still most reliable when they appear in the parent page's head, not nested inside an iframe.
BlooTrue solves this with the dual-emission approach: schema lives in the iframe for self-contained correctness, AND is exposed as a standalone JSON endpoint you can reference from your parent page. To use it, fetch https://api.blootrue.com/widgets/embed/YOUR_WIDGET_ID/schema.json server-side (or at build time for static sites), and inline the result into your page's head. The result: your parent page ranks with the schema, not just the iframe.
Never trust that your markup is valid without testing it. Google provides two free tools. The Rich Results Test accepts either a URL or pasted code and tells you whether your page is eligible for review snippets. It shows warnings and errors with the exact field that's wrong. The Schema.org Validator is stricter — it checks your markup against the full schema.org vocabulary, including properties Google doesn't require but that strengthen the signal.
Run both tools against your live page after publishing. Fix any errors immediately. Warnings are less urgent but usually worth addressing — for example, “missing field: priceRange” isn't blocking rich snippets for reviews, but it may unlock additional snippet types later.
Once your markup validates, use Google Search Console's URL Inspection tool to request re-indexing. Google's crawlers don't re-visit every page daily; a manual inspection request can shave days off the time between publishing schema and seeing stars in the SERP.
The single most frustrating thing about rich snippets is that valid markup does not guarantee visual display. Google explicitly states that rich results are algorithmic and discretionary. Here are the five most common reasons your markup validates but stars don't appear:
1. Your markup is recent. Google typically takes 2-4 weeks to evaluate new schema and decide whether to display it. If you added schema yesterday, the absence of stars today is expected behavior, not a bug.
2. Your page lacks topical authority. If your domain is new, has few inbound links, or the page isn't ranking well, Google may withhold rich snippets even with valid markup. Rich results are a reward for high-quality pages, not a workaround for low-quality ones.
3. The reviews themselves look suspicious. Google analyzes review text for authenticity signals. If every review is 5 stars with similar phrasing, or review authors have no verifiable identity, Google may treat the AggregateRating as unreliable and suppress the snippet. This is a major reason we emphasize collecting real reviews from real Google profiles rather than inventing testimonials.
4. Review schema is on the wrong page. Google penalizes “self-serving reviews” — schema declaring your own business's rating on your homepage was restricted in a 2019 update, though aggregate reviews from a visible widget showing actual third-party reviews are still permitted. The safest placement is on service pages, testimonials pages, or product pages, not the root domain.
5. You're using AggregateRating without Review objects. An aggregate rating on its own looks like a self-invented number. Include a handful of individual Review objects with real author names, dates, and text, and Google treats the rating as backed by evidence.
Even experienced developers make these schema mistakes. Avoid them to keep your markup valid and your rich snippets eligible.
Using both Microdata and JSON-LD simultaneously. Google will parse both, but conflicting values (say, the inline HTML shows 4.2 stars but the JSON-LD says 4.9) trigger a spam flag. Pick one format — JSON-LD is preferred — and use it consistently.
Declaring a rating of 5.0 with zero reviews. Mathematically impossible; algorithmically ignored. Your AggregateRating's reviewCount must be at least 1, and the math must add up.
Marking up testimonials you wrote. Any Review objects on your page must represent actual reviews from real people, displayed visibly on the page. Invisible schema, or schema that contradicts visible content, violates Google's structured data guidelines and can result in manual penalties.
Using Product schema for services. A lot of developers slap @type: Product on service pages because they see more Product schema in the wild. For a local service business, LocalBusiness (or one of its subtypes) is correct. Product schema is for things you sell.
Forgetting to update schema when reviews change. Static JSON-LD rots. If you had 42 reviews in January and 89 today, but your schema still says 42, Google will eventually notice the drift and downgrade trust. This is another reason automated schema emission (like BlooTrue widgets) beats hand-rolled markup.

Here's the practical roadmap to go from zero to gold stars in the SERP. Plan for 4-8 weeks start to finish — most of that is Google's crawling and evaluation lag, not your work.
Step 1: Collect real Google reviews. You need at least 5-10 genuine reviews on your Google Business Profile before rich snippets are plausible. Use BlooTrue's review collection or a QR code at point of sale. Don't fake reviews — Google detects patterns and penalizes aggressively.
Step 2: Embed a review widget that emits schema. Build a free widget in BlooTrue, copy the embed code, paste it into your services page or testimonials page. The widget displays reviews visibly AND emits JSON-LD in the iframe.
Step 3: Reference the standalone schema endpoint in your parent page head. This is the power move. Fetch the schema JSON at build time (or server-side on each request) and inline it in your page's <head>. Now the parent page carries the schema natively, not just the iframe.
Step 4: Validate with Google Rich Results Test. Paste your live URL. Fix any red errors. Address yellow warnings if they're easy. Confirm the tool shows your page is “Eligible for review snippet.”
Step 5: Request indexing in Google Search Console. URL Inspection tool → request indexing. This signals Google to re-crawl and re-evaluate.
Step 6: Wait 2-4 weeks and monitor. Check your SERP appearance with incognito searches. Watch Search Console's Performance report — pages that earn rich snippets typically see a 15-25% CTR jump within weeks of display starting.
Step 7: Keep reviews fresh. Google re-evaluates schema periodically. If new reviews stop coming in, or your aggregate rating drops, snippets can be withdrawn. Maintain a steady review collection cadence — 1-5 new reviews per month is enough for most small businesses.
Do rich snippets work for non-Google search engines? Yes. Bing, DuckDuckGo, and Yandex all parse schema.org JSON-LD and display similar rich results. Emitting the markup once benefits all of them.
Can I have rich snippets without a Google Business Profile? Yes — schema.org works independently of GBP. But for local businesses, GBP is still essential because it powers Maps rankings and the local pack, both of which complement organic rich snippets.
How many reviews do I need for star ratings to appear? There's no official minimum, but anecdotally Google requires at least 5-10 reviews before displaying an AggregateRating snippet. Fewer than that and the rating is considered statistically unreliable.
Does BlooTrue support Product schema for ecommerce? The default schema emission uses LocalBusiness because that's what most BlooTrue customers are. For ecommerce use cases where you want Product schema per SKU, contact support — we can adjust the emitted schema type via configuration.
Will rich snippets disappear if I get a negative review? One or two negative reviews won't affect snippet eligibility — real businesses have real variance. A sharp drop in aggregate rating or a sudden spike in one-star reviews can trigger Google to suppress snippets until the pattern normalizes.
BlooTrue's review widgets emit valid schema.org JSON-LD automatically. No code, no schema expertise required.
Try the Free Widget Builder →Related Free Tools
Review Schema Markup Generator — Build valid Review + AggregateRating JSON-LD without writing a line of code.
Review Widget Preview — Preview all 6 widget styles with schema emission included. No signup required.
Local SEO Score Calculator — Score your local SEO readiness, including schema markup checks.