- MerchantReturn schema is now a standalone type and directly feeds Google's shopping rich results — e-commerce businesses without it are invisible to return-policy filters.
- ServiceArea with GeoShape lets service businesses define irregular coverage zones instead of radius circles, reducing wasted clicks from out-of-range customers.
- SpecialAnnouncement is no longer just for emergencies — Google now uses it for seasonal promotions and limited-time offers in local panels.
- FAQPage schema is being re-evaluated by Google for AI Overview sourcing; businesses with clean, concise Q&A markup are cited more often in zero-click answers.
- ReviewSnippet schema with the new 'reviewAspect' property lets you surface specific product or service dimensions (speed, cleanliness, communication) rather than a single star average.
- All six types can be implemented in a single JSON-LD block in your page's <head> — no plugin or platform dependency required.
Why Schema Suddenly Matters More Than It Did Two Years Ago
For most of the 2010s, schema markup was the SEO task that everyone knew they should do and almost nobody did. The payoff felt abstract — a few star ratings in search results, maybe a FAQ accordion. Worth doing, but not urgent.
That calculus changed when Google began feeding structured data directly into AI Overviews and when voice assistants started pulling answers from DefinedTerm and FAQPage markup instead of crawling full pages. In 2026, schema is no longer a nice-to-have decoration on your search listing. It is the data layer that determines whether your business gets cited in an AI-generated answer or gets skipped entirely.
The good news: the types that matter most for small businesses are not complicated. You don't need a developer, a CMS plugin, or an enterprise SEO budget. You need a JSON-LD block, a text editor, and about an hour.
Here are the six schema types worth your time right now.
1. MerchantReturn (Now a First-Class Schema Type)
Google promoted MerchantReturn from a property nested inside Offer to its own top-level schema type in early 2026. If you run an e-commerce store, this matters immediately.
When a shopper filters Google Shopping results by return policy — "free returns," "30-day returns" — Google pulls that data from MerchantReturn markup, not from crawling your returns page. Stores without it are invisible to those filters.
The minimum viable implementation:
{
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
Nest this inside your Product or Offer schema. If you sell across multiple product categories with different return windows, you can specify MerchantReturnPolicy at the product level rather than the site level.
2. ServiceArea with GeoShape (For Every Service Business)
Plumbers, cleaners, landscapers, mobile pet groomers — any business that travels to the customer — have always had a schema problem. The old radius-based ServiceArea ("we serve within 20 miles of ZIP 90210") was crude. It included towns you don't actually serve and excluded neighborhoods you do.
The updated ServiceArea schema now supports GeoShape with a polygon property, meaning you can define your actual coverage boundary as a series of latitude/longitude coordinates. Google uses this to determine whether a searcher's location falls inside your service zone before surfacing you in local results.
For most service businesses, drawing the polygon takes ten minutes in Google Maps, exporting the coordinates, and dropping them into the schema. The practical result: fewer calls from customers you can't serve, and better ranking for searchers you can.
{
"@type": "GeoShape",
"polygon": "34.052 -118.243 34.065 -118.301 34.021 -118.289 34.052 -118.243"
}
3. SpecialAnnouncement for Promotions (Not Just Emergencies)
SpecialAnnouncement schema launched during the COVID-19 period as a way for businesses to surface closures and health notices. Google has since expanded its interpretation: the type now supports seasonal promotions, limited-time offers, and event-related announcements — and these surface in local knowledge panels as highlighted notices.
The key properties for a promotional use case:
- name: "Summer Sale — 30% Off All Services"
- text: The offer details in plain language
- datePosted: Today's date in ISO 8601
- expires: The offer end date
- announcementLocation: Link to your business's LocalBusiness schema
SpecialAnnouncement has a short shelf life by design — Google deprioritizes it after the expires date. That's a feature, not a bug: it keeps your panel fresh without you having to manually remove old promotions.
4. FAQPage with Concise Answer Markup (AI Overview Sourcing)
FAQPage schema is not new. What changed in 2026 is how Google's AI Overview system uses it.
Previously, FAQPage markup drove the accordion-style rich result in organic listings. That rich result still exists, but the bigger opportunity now is that Google's AI Overview pulls concise, well-structured Q&A pairs as citation sources when answering conversational queries. A local plumber with clean FAQPage markup answering "how long does a water heater installation take" is more likely to be cited in the AI Overview for that query than a plumber with a long blog post that buries the answer in paragraph five.
The rules for AI-Overview-ready FAQ markup:
- Keep answers under 50 words. The AI summarizer wants a crisp answer, not a paragraph.
- Match the question to real search queries. Use Google Search Console's query report to find the questions people actually type.
- Use first-person business voice. "We typically complete a water heater installation in 2–4 hours" outperforms "Water heater installations generally take..."
- Limit to 5–7 FAQ pairs per page. Google ignores FAQPage markup on pages with excessive Q&A pairs.
"A local plumber with clean FAQPage markup answering a conversational query is more likely to be cited in an AI Overview than a competitor with a 2,000-word blog post that buries the answer."
5. ReviewSnippet with reviewAspect (Dimensional Star Ratings)
The new reviewAspect property inside Review schema lets you attach a star rating to a specific dimension of a product or service rather than just the whole thing. Google is beginning to surface these dimensional ratings in rich results for service businesses — you might see "Communication: 4.9 ★ | Punctuality: 4.7 ★ | Value: 4.5 ★" instead of a single composite score.
This matters for two reasons. First, dimensional ratings give searchers more signal before they click, which improves click-through quality — you get fewer calls from people expecting something you don't offer. Second, businesses with reviewAspect markup are being tested in Google's local AI summaries as a way to describe what a business is specifically good at.
The catch: you can only use reviewAspect markup on reviews you genuinely aggregate and display on your own site. You cannot scrape Google or Yelp reviews and mark them up — that violates both platforms' terms and Google's structured data guidelines.
6. Event Schema with the New 'eventAttendanceMode' + 'offers' Combination
Event schema has existed for years, but the combination of eventAttendanceMode (online, in-person, or hybrid) with a nested Offer block (showing ticket price or "free") is now required for Google to surface events in the dedicated Events rich result and in the local events carousel.
For small businesses — a yoga studio running a workshop, a restaurant hosting a wine dinner, a salon offering a holiday booking event — this is a direct path to a free listing in a high-visibility carousel that most competitors ignore.
Minimum required properties for the Events carousel:
name,startDate,endDate(ISO 8601 with timezone)locationwith a nestedPlaceorVirtualLocationeventAttendanceModeeventStatus(useEventScheduledunless the event is cancelled or postponed)offerswithpriceandpriceCurrencyorganizerlinked to your LocalBusiness entity
If your business runs recurring events, use the EventSeries type to group them rather than creating individual Event entries — it signals to Google that these are part of a consistent program.
Putting It Together: One JSON-LD Block Per Page
The most common implementation mistake is scattering schema across multiple script tags or mixing it with other page scripts. The cleanest approach is a single <script type="application/ld+json"> block in the <head> of each page, using the @graph array to bundle all relevant types:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "LocalBusiness", ... },
{ "@type": "FAQPage", ... },
{ "@type": "MerchantReturnPolicy", ... }
]
}
This approach makes validation easier (one URL to paste into Google's Rich Results Test), keeps the markup auditable, and avoids conflicts between multiple JSON-LD blocks that reference the same entity.
What to Prioritize If You Have Limited Time
Not every schema type applies to every business. Here's the shortcut:
- E-commerce store: MerchantReturn first, then FAQPage, then ReviewSnippet.
- Service business (trades, cleaning, landscaping): ServiceArea with GeoShape first, then FAQPage, then SpecialAnnouncement for promotions.
- Experience business (salon, studio, restaurant): Event schema first, then FAQPage, then SpecialAnnouncement.
- All businesses: LocalBusiness with complete hours, NAP, and sameAs links to your social profiles is the foundation everything else builds on. If that's not clean, fix it before adding anything else.
Validate every implementation in the Rich Results Test before publishing. Google's structured data documentation is the authoritative source for required vs. recommended properties — the requirements change more often than most SEO guides reflect, so check the spec directly rather than relying on a tutorial written eighteen months ago.
Schema markup is one of the few places in SEO where doing the work correctly the first time compounds for years. A well-structured JSON-LD block written today will continue earning rich results, AI Overview citations, and local panel features without any ongoing maintenance — until Schema.org releases the next batch of types worth adding.
“A local plumber with clean FAQPage markup answering a conversational query is more likely to be cited in an AI Overview than a competitor with a 2,000-word blog post that buries the answer.”
| Area | Old approach (pre-2025) | Current best practice (2026) |
|---|---|---|
| Return policy visibility | Described in plain text on a /returns page; Google crawls and sometimes surfaces it | MerchantReturn schema in JSON-LD; directly feeds Google Shopping filters and rich results |
| Service area definition | Radius circle around a single address; includes irrelevant towns, excludes real coverage zones | GeoShape polygon with exact lat/lng boundary; matches actual service territory |
| Promotions in local panel | No structured way to surface offers; relied on GBP posts with short visibility windows | SpecialAnnouncement schema with expires date; surfaces in local knowledge panel automatically |
| FAQ visibility | Long-form FAQ page; Google might surface an accordion rich result | Concise FAQPage schema (under 50 words per answer); cited in AI Overviews and zero-click answers |
| Review display | Single composite star rating from aggregate review markup | Dimensional ratings via reviewAspect; surfaces specific strengths (speed, communication, value) |
| Event discoverability | Event listed on website with no markup; invisible to Google Events carousel | Event schema with eventAttendanceMode + Offer block; eligible for Events carousel and local panels |
How to Implement the Six Key Schema Types for Your Small Business
- 01Audit your existing structured data. Paste your homepage and top landing pages into [Google's Rich Results Test](https://search.google.com/test/rich-results) to see what markup is already present and what errors exist. Fix any critical errors in your existing LocalBusiness schema before adding new types — a broken foundation undermines everything built on top of it.
- 02Build your @graph JSON-LD block. Open a text editor and create a single `<script type="application/ld+json">` block using the `@graph` array structure. Include your LocalBusiness entity first — with complete name, address, phone, hours, and sameAs links to your social profiles — as every other type will reference it.
- 03Add the schema types relevant to your business model. E-commerce businesses should add MerchantReturnPolicy nested inside their Offer schema. Service businesses should add ServiceArea with a GeoShape polygon. Businesses running events should add Event with eventAttendanceMode and an Offer block. Add FAQPage to any page that answers common customer questions.
- 04Write FAQ answers at under 50 words each. For each FAQ pair, draft the answer as if you're responding to a voice search query — direct, first-person, complete in one or two sentences. Avoid filler phrases like 'Great question!' and don't pad answers with background context that belongs in a blog post.
- 05Validate the complete block before publishing. Paste the full JSON-LD into the Rich Results Test and confirm zero critical errors. Then use [Schema.org's validator](https://validator.schema.org/) to check for property-level issues the Rich Results Test doesn't catch. Both tools are free and return results in under ten seconds.
- 06Add the script block to your page's <head>. In most CMS platforms, this means pasting into the 'custom code' or 'header scripts' section of your theme settings. For pages with unique schema (individual product pages, event pages), add the relevant JSON-LD to that specific page's head rather than site-wide.
- 07Monitor in Google Search Console after 2–4 weeks. Navigate to Search Console → Enhancements to see which rich result types Google has detected and whether any new errors have appeared. Set a calendar reminder to re-validate after any major site update — CMS upgrades and theme changes frequently strip or corrupt custom head code.