Review
Schema and Rich Snippets for Storage Websites
Quick Summary: Star rating rich snippets in Google
SERPs increase click-through rates by 15–30% compared to standard
blue-link results. For self-storage websites, this means more clicks to
your location and unit-type pages from the same organic ranking
position. This guide covers the exact implementation of
ReviewandAggregateRatingschema, Google’s
compliance rules, and the common mistakes that lead to rich snippet
penalties.
Table of Contents
- What Are Review Rich
Snippets? - Schema Types for Reviews
- AggregateRating Schema:
Implementation - Review Schema: Individual
Reviews - Where to Display Review Schema
- Google’s Review Schema
Guidelines - Common Compliance Violations
- Testing Your Implementation
- Integration with Review
Platforms - Multi-Location Review Schema
Strategy - FAQ
- Next Steps
What Are Review Rich Snippets?
Review rich snippets are star rating displays in Google search
results. They appear as yellow/gold stars with a rating score and review
count below a page title in organic results.
For a storage website, they appear like this in SERPs:
StorageMax Austin — Self-Storage Units Near The Domain
★★★★★ 4.8 · 312 reviews · From $49/month
1234 Research Blvd, Austin, TX — Open · Closes 10pm
This richer result occupies more visual space, communicates quality
at a glance, and receives significantly more clicks than a standard
result — even at the same position.
Rich snippets for reviews are displayed only when: 1. The page has
valid AggregateRating schema markup 2. The reviews are from
genuine customers (not self-assessments) 3. Google determines the page
is an appropriate candidate for rich results
Schema Types for Reviews
| Schema Type | Purpose | Where to Use |
|---|---|---|
AggregateRating |
Overall star rating and review count | Location pages, unit-type pages |
Review |
Individual review content | Location pages (with real review quotes) |
FAQPage |
Not a review type, but related | FAQ sections (separate rich snippet type) |
For storage websites, AggregateRating is the priority —
it’s what displays stars in SERPs. Review schema is
supplementary and supports the aggregate data.
AggregateRating Schema: Implementation
Basic implementation
The minimum viable AggregateRating embedded in your
SelfStorage entity:
{
"@context": "https://schema.org",
"@type": "SelfStorage",
"name": "StorageMax — Austin Research Blvd",
"url": "https://example.com/storage-austin-tx/",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "312",
"bestRating": "5",
"worstRating": "1"
}
}
Required fields
| Field | Required | Notes |
|---|---|---|
ratingValue |
Yes | Must be a number or string representation of a number |
reviewCount |
Yes | Count of reviews (or use ratingCount) |
bestRating |
Recommended | Google uses 5 as default if omitted; include explicitly |
worstRating |
Recommended | Google uses 1 as default if omitted; include explicitly |
The
difference between reviewCount and
ratingCount
reviewCount: Number of reviews that include written
textratingCount: Total number of ratings (including ratings
without written text)
Google accepts either. If your rating count is higher than your
review count (because some customers rate without writing text), use
ratingCount for a more impressive number display — it’s
technically accurate.
Standalone
AggregateRating (not nested)
If your page doesn’t use the full SelfStorage entity
block, you can use a standalone AggregateRating nested
inside a lighter entity:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "StorageMax Austin",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "312",
"bestRating": "5"
}
}
Review Schema: Individual Reviews
Individual Review schema accompanies
AggregateRating and provides the actual review content.
Include 2–5 review objects for pages where you display review quotes
on-page.
{
"@context": "https://schema.org",
"@type": "SelfStorage",
"name": "StorageMax — Austin Research Blvd",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "312",
"bestRating": "5"
},
"review": [
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "Sarah M."
},
"datePublished": "2026-03-15",
"reviewBody": "Excellent facility. The climate-controlled units are spotless and the staff helped us find the right size on move-in day. Would absolutely recommend to anyone in North Austin."
},
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "David K."
},
"datePublished": "2026-02-28",
"reviewBody": "Used the 10x10 unit for 8 months during a home remodel. Easy access, great security, and the gate hours work perfectly with my schedule."
}
]
}
Individual review required
fields
| Field | Required | Notes |
|---|---|---|
reviewRating.ratingValue |
Yes | The individual review’s star rating |
author.name |
Yes | Reviewer’s name (can be anonymized: “Sarah M.”) |
reviewBody |
Yes | The actual review text (must match on-page content) |
datePublished |
Recommended | Date in ISO 8601 format (YYYY-MM-DD) |
Where to Display Review Schema
Location pages (highest
priority)
Every location page should have AggregateRating schema.
The review data must correspond to the specific location — not an
aggregate of all locations for a multi-location chain.
Critical rule: The ratingValue and
reviewCount in the schema must match the numbers displayed
visibly on the page. Google validates this — a mismatch can suppress the
rich snippet.
Unit-type pages (secondary)
Unit-type pages can carry the same location’s
AggregateRating as the parent location page (since the
rating reflects the overall facility). Embed the parent location’s
aggregate rating in unit-type page schema.
Blog posts
Blog posts should generally not use
AggregateRating schema. Review rich snippets are intended
for pages about specific businesses or products. Using them on
editorial/blog content is a compliance violation.
Google’s Review Schema Guidelines
Google has specific and strictly enforced rules for review rich
snippets. Violations result in rich snippet suppression — your stars
disappear from SERPs.
Google’s core review
requirements
-
Reviews must be about the specific entity on the
page. A location page for your Austin facility must use Austin
facility reviews — not company-wide reviews, not employee
testimonials. -
Reviews must be from actual users, not the company
itself. Self-written reviews, testimonials copied from
marketing materials, or reviews from employees are not
permitted. -
Review content must be visible on the page. The
review text in your schema must appear in the actual visible page HTML —
not hidden or only in schema code. -
The aggregate rating must match the displayed
rating. If your page displays “4.8 stars from 312 reviews,”
your schema must show exactly those numbers. -
Do not aggregate reviews from multiple sources.
Combining Google reviews + Yelp reviews + Facebook reviews into one
aggregate schema is not permitted. You can only use first-party reviews
you’ve collected directly.
Common Compliance Violations
| Violation | Why It’s a Problem | Fix |
|---|---|---|
| Using Google review count in schema | Google explicitly prohibits scraping their reviews for schema | Use first-party reviews only |
| Schema rating doesn’t match on-page rating | Detected by Google’s structured data validator | Sync schema data with displayed data |
| Reviews not visible on page | Schema content must be in page HTML | Display reviews before schema |
| Aggregate of multi-source reviews | Not permitted | Single source of truth for reviews |
| Self-written review content | Prohibited | Use genuine customer reviews only |
| Homepage aggregate for all locations | Misleading entity attribution | Location-specific ratings on each page |
Testing Your Implementation
Step 1: Validate schema
syntax
Use Google’s Rich Results Test (search.google.com/test/rich-results)
to check for schema errors and confirm the review rich result is
eligible.
Step 2: Check on-page
visibility
Verify that the review content and aggregate rating numbers displayed
in your schema are also visible in the page’s HTML. Use browser “View
Source” and search for the rating number.
Step 3: Submit for re-crawl
After adding or updating review schema, submit the URL in Google
Search Console → URL Inspection → Request Indexing.
Step 4: Monitor in Search
Console
Navigate to Google Search Console → Enhancements → Review Snippets.
This section shows: – Pages with valid review schema – Pages with review
schema errors – Impressions of review rich snippets over time
Integration with Review Platforms
If you use a review management platform, it may generate schema
automatically:
| Platform | Schema Generation | Notes |
|---|---|---|
| Birdeye | Yes — widget generates AggregateRating schema | Confirm first-party only compliance |
| Podium | Yes — via widget embed | Verify schema output with Rich Results Test |
| Grade.us | Yes | Check for multi-source aggregation |
| WordPress (Yoast) | Partial | Yoast generates basic LocalBusiness; add AggregateRating manually |
| WordPress (RankMath) | Partial | RankMath supports review schema; configure per page |
Always run the Rich Results Test on pages generated by plugins —
plugin-generated schema frequently has errors or compliance issues.
Multi-Location Review Schema Strategy
For chains with 10+ locations, review schema requires a systematic
approach:
The one-schema-per-location
rule
Each location page must have unique AggregateRating data
drawn from that location’s reviews. A database-driven approach:
- Store each location’s review count and average rating in your
CMS - Populate location page schema templates dynamically from these
values - Update the database automatically via review platform API (daily or
weekly sync)
Homepage review
schema: proceed with caution
A homepage can include Organization schema with
aggregateRating for the brand overall — but only if the
homepage is about the brand as a whole, not a specific location. Use
ratingCount rather than reviewCount for
brand-level aggregates.
FAQ
Q: Why aren’t my review stars showing in SERPs even though I
have schema? Rich snippets are never guaranteed — Google
decides whether to display them. Common reasons for non-display: schema
errors (check Rich Results Test), reviews not visible on page, low page
quality, or Google’s freshness threshold not met (new pages).
Q: Can I use testimonials from my website as review schema
content? No. Testimonials curated and published by the business
are not “third-party reviews” by Google’s definition. Only genuine
unprompted or systematically solicited reviews from customers
qualify.
Q: How many reviews do I need for Google to show rich
snippets? Google doesn’t publish a minimum threshold. In
practice, pages with fewer than 5–10 reviews rarely display rich
snippets consistently. Pages with 50+ reviews at 4.5+ stars display
consistently.
Q: Does displaying review schema help with AI
Overviews? Yes. Structured review data (both schema and visible
on-page reviews) helps AI systems summarize and contextualize your
facility. AggregateRating data is cited in AI-generated facility
summaries.
Q: Should I use the AggregateRating schema on a new location
page that has no reviews yet? No. Never include AggregateRating
in schema without corresponding real reviews. A 5-star rating with zero
reviews is a violation. Add the schema only once you have genuine
reviews to display.
Q: Can I have review rich snippets on location pages and FAQ
rich snippets on the same page? Yes. Multiple rich snippet
types can appear from the same page. A location page with both
AggregateRating and FAQPage schema can display both stars and FAQ
accordions in SERPs.
Q: What happens if Google removes my review rich
snippets? Check Google Search Console’s Enhancements → Review
Snippets for error codes. Fix the errors identified, then request
re-indexing. For persistent issues, Google’s Search Central Help
Community provides support.
Next Steps
With review schema implemented, build the local link strategy that
compounds your location page authority.
Related reading: