Blog · April 29, 2026 · 14 min read
The 7 Schema Markups Every Local Business Needs for AI Search in 2026
Schema markup is the most underused AI visibility tool. It's free to add, takes an afternoon to do well, and is the single biggest reason ChatGPT, Claude, and Perplexity will pick your business over a competitor with otherwise identical content.
This guide covers the 7 schemas that matter most for local businesses in 2026. Each section includes a copy-paste JSON-LD example, what it does for AI visibility, and where to add it.
What is schema markup, really?
Schema markup is a small block of structured data added to your HTML. It tells search engines and AI assistants exactly what your page is about, in a format they can quote without parsing your design.
The vocabulary is Schema.org, a joint project from Google, Microsoft, Yahoo, and Yandex. The format you should use today is JSON-LD — a JavaScript-style block placed in your page's <head> or just before the closing </body> tag.
(You may see Microdata or RDFa in older guides. Don't use them. Google explicitly recommends JSON-LD, and AI parsers are most reliable with it.)
The 7 schemas, in priority order
You don't need all seven on every page. The minimum every local business should ship: LocalBusiness and FAQPage. Layer the rest in as your site grows.
LocalBusiness
The single most important schema for any business with a physical or service-area presence. It tells AI your name, address, hours, contact, and category.
Where to add it: Add to your homepage, ideally inside . Use the most specific subtype that fits your business.
Tip: Use a specific subtype like Plumber, Restaurant, Dentist, JewelryStore, AutoRepair, or Attorney instead of generic LocalBusiness when one fits. Schema.org has 100+ subtypes — pick the closest match.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Smith Plumbing",
"image": "https://smithplumbing.com/storefront.jpg",
"@id": "https://smithplumbing.com/#business",
"url": "https://smithplumbing.com",
"telephone": "+1-512-555-0100",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2672,
"longitude": -97.7431
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "17:00"
}],
"areaServed": ["Austin","Round Rock","Cedar Park","Pflugerville"],
"sameAs": [
"https://www.facebook.com/smithplumbing",
"https://www.yelp.com/biz/smith-plumbing-austin"
]
}
</script>Organization
For businesses without a physical location (consultants, online services, agencies) — or as the publisher of your content site-wide. Pairs well with LocalBusiness for hybrid businesses.
Where to add it: Add to your homepage. If you also use LocalBusiness, link them with a shared @id.
Tip: The contactPoint field is what AI uses to surface a customer-service phone number when someone asks “How do I contact [you]?”
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Smith Plumbing",
"url": "https://smithplumbing.com",
"logo": "https://smithplumbing.com/logo.png",
"founder": {
"@type": "Person",
"name": "Sarah Smith"
},
"foundingDate": "2008-03-15",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-512-555-0100",
"contactType": "customer service",
"areaServed": "US",
"availableLanguage": ["English","Spanish"]
}
}
</script>Service
Marks up each individual service you offer, with prices, area served, and provider. AI uses this to answer questions like “Who installs water heaters in Austin?”
Where to add it: Add one Service block per service page, or a list of Service objects on your services overview page.
Tip: Include price (or starting price) when you can. AI assistants increasingly cite businesses with transparent pricing over those that hide it.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Emergency Plumbing Repair",
"provider": {
"@type": "Plumber",
"name": "Smith Plumbing",
"@id": "https://smithplumbing.com/#business"
},
"areaServed": "Austin, TX",
"offers": {
"@type": "Offer",
"priceSpecification": {
"@type": "PriceSpecification",
"priceCurrency": "USD",
"price": "150",
"description": "Starting from $150"
}
},
"description": "24/7 emergency repair for burst pipes, clogged drains, and water heater failures."
}
</script>FAQPage
Marks up question-and-answer content. This is the schema AI assistants quote most often, because the format directly matches how AI structures its answers.
Where to add it: Add to a dedicated FAQ page or to any page with a Q&A section. Three to seven questions is the sweet spot.
Tip: The questions should be ones your customers actually ask — not generic SEO bait. “How much does a roof inspection cost?” will outperform “What is roofing?” every time.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you offer emergency service?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes — we offer 24/7 emergency repair across the greater Austin area, with most calls dispatched within 60 minutes."
}
},
{
"@type": "Question",
"name": "How much does a service call cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Standard service calls start at $150, which includes the first hour of labor. We provide a written estimate before any additional work."
}
}
]
}
</script>AggregateRating + Review
Your average review score, total review count, and individual reviews. Cross-references with your Google Business Profile to corroborate trust signals.
Where to add it: Add to your homepage and to any review or testimonials page. Don't add fake reviews — Google will catch it and de-index you.
Tip: Use only first-party reviews collected with permission. Pulling reviews from Google Business and re-marking them up on your own site is not recommended.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Smith Plumbing",
"@id": "https://smithplumbing.com/#business",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "247",
"bestRating": "5",
"worstRating": "1"
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "Maria Gonzalez" },
"datePublished": "2026-03-12",
"reviewBody": "Sarah's team came out on a Sunday and replaced our water heater in under three hours. Fair price and clean work.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
}
}]
}
</script>BreadcrumbList
Your site’s navigation hierarchy. Helps AI understand the relationship between pages and surfaces breadcrumb trails in search results.
Where to add it: Add to every page that isn’t the homepage. Most CMS plugins (Yoast, Rank Math) handle this automatically once configured.
Tip: Breadcrumbs are most valuable on deep pages — service detail pages, individual blog posts, location-specific landing pages.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://smithplumbing.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Services",
"item": "https://smithplumbing.com/services/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Water Heater Repair",
"item": "https://smithplumbing.com/services/water-heater-repair/"
}
]
}
</script>Person
The owner, founder, or key expert behind your business. This is the schema most local businesses skip — and the one that drives E-E-A-T signals (Experience, Expertise, Authoritativeness, Trust) hardest.
Where to add it: Add to your About page, team page, or any blog post the person authors.
Tip: Include licenses, certifications, and links to LinkedIn or industry profiles in the sameAs array. AI uses these to verify you’re a real person with the credentials you claim.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Sarah Smith",
"jobTitle": "Founder & Master Plumber",
"worksFor": {
"@type": "Plumber",
"name": "Smith Plumbing",
"@id": "https://smithplumbing.com/#business"
},
"image": "https://smithplumbing.com/team/sarah.jpg",
"description": "Master Plumber (TX License #M-12345) with 22 years of experience. Founded Smith Plumbing in 2008.",
"sameAs": [
"https://www.linkedin.com/in/sarahsmith",
"https://www.tspe.org/sarah-smith"
],
"alumniOf": "Austin Community College Plumbing Program",
"knowsAbout": ["Residential plumbing","Water heater installation","Drain cleaning"]
}
</script>How to validate your schema
Before you push schema to production, validate it. Two free tools, run them in this order:
- Schema.org Validator (validator.schema.org) — checks pure schema correctness.
- Google Rich Results Test (search.google.com/test/rich-results) — checks Google-specific eligibility for rich snippets.
If both pass, your schema is in solid shape for AI parsers too.
Where to add schema by CMS
- WordPress: install Yoast SEO, Rank Math, or Schema Pro. They handle most schemas via settings; for custom Service or Person blocks, paste JSON-LD into a custom HTML block in your homepage.
- Shopify: built-in for Product. For LocalBusiness and others, paste JSON-LD into your theme's
theme.liquidhead. - Squarespace: Settings → Advanced → Code Injection → Header. Paste JSON-LD blocks there.
- Webflow: Project Settings → Custom Code → Head Code. Paste JSON-LD blocks there.
- Wix: Settings → Custom Code → Add Custom Code → Head. Paste JSON-LD; choose “All Pages” or specific pages depending on schema type.
5 mistakes to avoid
Marking up content that isn’t actually on the page
If your FAQPage schema lists a question, that question and answer must be visible to a human reader on the same page. Schema is metadata, not a place to stuff hidden content.
Inflating your review count or rating
AI cross-references your AggregateRating with your Google Business Profile and Yelp listing. Discrepancies tank your trust score and can get you flagged.
Using generic LocalBusiness when a subtype fits
If you’re a dentist, use "@type": "Dentist". If you’re a restaurant, use "Restaurant". The more specific, the more confidently AI can categorize you.
Skipping the @id field
@id is what lets you reference the same business across multiple JSON-LD blocks. Without it, AI can’t tell that your LocalBusiness, Organization, and Service schemas describe the same entity.
Adding schema once and forgetting it
Hours change. Phone numbers change. Service areas change. If your schema is stale, AI will surface outdated information. Audit quarterly.
The bottom line
Most small-business sites have zero schema. Adding even three of these seven — LocalBusiness, FAQPage, and Person — will move you ahead of 80% of your local competitors in AI visibility.
The work is one-time, the cost is zero, and the upside compounds every week as AI crawlers re-fetch and re-index your site. Few marketing investments at this scale and budget have a comparable return in 2026.
Find out which schemas your site is missing
Our free scan checks for LocalBusiness, FAQPage, Review, Breadcrumb, Person, Organization, and Service schema — and tells you exactly what's missing, with copy-paste templates for each. Under 10 seconds, no signup.
Run my free scan →Written by the team at Kesem Marketing, a digital agency helping small businesses get found in the AI-first era.