Most schema advice reads like a shopping list. Add Product. Add HowTo. Add VideoObject. Add Event. By the end, you're staring at 40 schema types and wondering whether any of it makes a measurable difference.
It does — but not all of it. When AirOps and Kevin Indig studied 16,851 queries across 353,799 pages on ChatGPT, they found that pages with JSON-LD achieved a 38.5% citation rate compared to 32.0% without it (Analyzify, 2025). That's a real lift. But the lift came from a small set of types, not a comprehensive library.
This guide covers the five schema types that actually drive AI citations for small service businesses. If you run a plumbing company, a marketing agency, a dental practice, or an HVAC firm, these are the only types you need to implement right now.
Key Takeaways
- In 2025, pages with JSON-LD schema achieved a 38.5% AI citation rate versus 32.0% without it — a 6.5-percentage-point advantage (AirOps / Analyzify, 2025)
- FAQPage schema gets pages cited 3.2x more often in Google AI Overviews, and its value shifted entirely to AEO after Google removed FAQ rich results from traditional search in May 2026
- Five schema types — LocalBusiness, FAQPage, Service, Organization/Person, and BreadcrumbList — cover the majority of AI citation signals for local service businesses
- Only 12.4% of websites currently implement any structured data, creating a significant competitive gap for early adopters (Schema.org, 2026)

Why Does Schema Markup Help AI Engines Cite You?
In 2025, a UC Berkeley research team studied 1,100 URLs generating 1,702 citations across Brave, Google AI Overviews, and Perplexity. Structured data produced a +39% lift in citation likelihood — the third-strongest signal studied, behind only metadata freshness (+47%) and semantic HTML structure (+42%). AI engines don't just read your text. They build a model of what your page is: what entity it represents, what questions it answers, what services are offered. Schema markup provides that model directly, in machine-readable format, so the AI doesn't have to infer it.
Think of it this way: when a customer asks ChatGPT "who does roof replacement in St. Louis," the AI pulls data from dozens of websites in milliseconds. The sites that tell it — in explicit structured format — "we are a roofing company, we serve St. Charles County, our phone is X, and here are 5 questions customers ask us" get cited. The sites that bury that information in unstructured prose get skipped.
The key insight: Schema markup isn't SEO decoration. It's the instruction manual AI engines use to decide whether your business belongs in the answer. Every structured type you skip is a question the AI has to guess at instead of read.
Why Is LocalBusiness Schema the Foundation of AI Visibility?
LocalBusiness schema is the foundation of AI visibility for any service-area business. According to Digital Applied's analysis of AI Mode citations after March 2026, entity schema with sameAs identifiers produced the most measurable improvement in AI citation accuracy. LocalBusiness is the entity declaration that anchors your whole web presence.
Here's what it does that matters for AEO:
It establishes your entity. AI engines like ChatGPT and Perplexity cross-reference dozens of sources to build confidence in who you are. A well-formed LocalBusiness node with consistent NAP (Name, Address, Phone) tells AI crawlers that the entity on your website is the same entity mentioned on Yelp, BBB, and Google Maps.
It sets your geographic scope. The areaServed and serviceArea fields tell AI engines which cities and counties you cover. When a user asks "who does X near me," AI pulls businesses whose schema explicitly claims that geographic coverage, not just businesses that happen to mention the city name somewhere in their footer.
It carries trust signals. aggregateRating within LocalBusiness tells AI engines your review count and rating. AI-generated local answers heavily favor businesses with demonstrable social proof. Adding a sameAs array linking to your Google Business Profile, Yelp, and BBB pages creates cross-reference chains that increase AI confidence in your entity.
{
"@context": "https://schema.org",
"@type": ["LocalBusiness", "ProfessionalService"],
"@id": "https://yoursite.com/#organization",
"name": "Acme Roofing LLC",
"url": "https://yoursite.com",
"telephone": "+13145550100",
"email": "hello@yoursite.com",
"description": "Residential and commercial roofing in St. Louis County, MO.",
"areaServed": [
{ "@type": "State", "name": "Missouri" }
],
"serviceArea": {
"@type": "GeoCircle",
"geoRadius": "80000"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"reviewCount": "47",
"bestRating": "5",
"worstRating": "1"
},
"sameAs": [
"https://www.google.com/maps/place/...",
"https://www.yelp.com/biz/...",
"https://www.bbb.org/us/..."
]
}

This belongs in your root layout — injected once, on every page, so every crawl of any page on your site surfaces your entity data.
If you want to see a full implementation in context, the AEO services page covers how entity schema fits into a broader AI visibility strategy.
Why Does FAQPage Schema Get You Cited 3.2x More Often?
In the AirOps / Kevin Indig study of 353,799 pages, FAQPage achieved a 45.6% citation rate — second only to BreadcrumbList at 46.2% among all tested schema types (Analyzify, 2025). A separate Frase analysis found that pages with FAQPage markup are 3.2x more likely to appear in Google AI Overviews than pages without it.
Why FAQPage outperforms almost everything else: AI engines are, fundamentally, question-answering machines. When you mark up a page with
FAQPage, you're giving the AI a pre-extracted list of questions and answers in the exact format AI is designed to produce. You're doing the AI's job for it. The AI doesn't have to infer what questions your page answers. You've declared them explicitly.
There's an important 2026 update: on May 7, 2026, Google removed FAQPage from traditional rich result display. You won't see FAQ accordion dropdowns in standard Google search results anymore. But the schema's value in AI Overviews, ChatGPT, and Perplexity is unchanged — and arguably stronger, because those platforms never displayed it visually. They've always used it as a citation signal. The traditional SEO value declined; the AEO value didn't.

{
"@context": "https://schema.org",
"@type": "FAQPage",
"@id": "https://yoursite.com/services/roofing#faq",
"mainEntity": [
{
"@type": "Question",
"name": "How much does a roof replacement cost in St. Louis?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A full roof replacement in St. Louis typically runs $8,000–$18,000 for an average-sized home, depending on materials, pitch, and square footage. Most homeowners pay around $12,500 for a standard asphalt shingle replacement on a 2,000 sq ft home."
}
},
{
"@type": "Question",
"name": "How long does a roof replacement take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most residential roof replacements take one to two days for a standard asphalt shingle roof. Larger homes, steep pitches, or complex rooflines may extend the project to three days. Weather delays are the most common reason projects run longer."
}
}
]
}
Critical rule: your FAQPage schema must mirror visible content on the page. Don't add questions in schema that don't appear in the page's HTML. AI crawlers cross-check schema against visible content, and mismatches reduce your citation credibility.
Also: write your FAQ answers like a human explaining something to a neighbor. AI engines extract concise, direct answers — two to four sentences. If your answer is eight paragraphs, the AI extracts the first two sentences anyway. Save yourself the effort and write tight from the start.
What Does Service Schema Tell AI Engines That LocalBusiness Can't?
Service schema does something LocalBusiness can't: it describes specific offerings with pricing, geographic scope, and categorization. This matters for AI because a user's query isn't always "find me a business" — it's often "find me a business that does [specific thing] in [specific place]."
According to Digital Applied's analysis of Google AI Mode citations after the March 2026 update, entity and service schema with explicit areaServed fields produced the strongest measurable improvement in AI citation accuracy for service-area businesses. The AI needs to know what you do in which county, not just that you're a business at an address.
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://yoursite.com/services/web-design#service",
"name": "Small Business Web Design",
"serviceType": "Web Design",
"description": "Custom website design for local service businesses. Includes mobile-first responsive design, on-page SEO, and AEO schema markup.",
"provider": {
"@type": "LocalBusiness",
"@id": "https://yoursite.com/#organization"
},
"areaServed": {
"@type": "AdministrativeArea",
"name": "St. Louis County",
"addressRegion": "MO"
},
"offers": {
"@type": "AggregateOffer",
"lowPrice": "249",
"highPrice": "649",
"priceCurrency": "USD",
"offerCount": "2"
}
}
Notice the provider field links back to your LocalBusiness node via @id. This cross-linking is what builds the AI's knowledge graph of your business. One node references another, and the AI builds confidence that the Service, the Organization, and the local entity are all the same business. Broken @id references are one of the most common schema implementation errors, and they silently undermine your citation potential.
One Service node per distinct service offering, placed on the corresponding service page. Don't try to enumerate every service in a single node — give each service its own structured declaration.
If you want to understand how service schema fits into a complete web design build, the web design services page walks through how we implement this on new site builds.
From our own site builds: Adding
Serviceschema with explicitareaServedcounty nodes correlates with AI Overviews citations appearing for service + location queries within two to four crawl cycles — typically three to five weeks after implementation. The pattern holds consistently across Midwest service businesses we've built for.
How Do Person and Organization Schema Build AI Trust?
AI engines don't just ask "what does this site say?" They ask "should I trust this site enough to cite it?" That's the E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) dimension of AI citation. Person and Organization schema are how you signal trust in machine-readable format.
Organization (or its subtype LocalBusiness) should declare your entity with sameAs links to authoritative directories and social profiles. Google's Gemini-powered AI Mode, introduced in early 2026, specifically uses sameAs identifiers for entity disambiguation. It's deciding whether the "Acme Roofing" mentioned on Yelp is the same "Acme Roofing" that has a website. When those identifiers match, citation confidence increases.
Person schema is most valuable on your About page and in blog post author markup. A well-formed Person node that includes jobTitle, worksFor, knowsAbout, and a link to a LinkedIn profile creates a verifiable entity that AI engines can cross-reference. When an AI evaluates whether to cite a piece of content, author credibility is a meaningful signal, especially on technical or advisory topics.
{
"@context": "https://schema.org",
"@type": "Person",
"@id": "https://yoursite.com/about/your-name#person",
"name": "Your Name",
"jobTitle": "Founder",
"worksFor": {
"@type": "Organization",
"@id": "https://yoursite.com/#organization"
},
"url": "https://yoursite.com/about/your-name",
"sameAs": [
"https://www.linkedin.com/in/your-profile"
],
"knowsAbout": [
"Web Design",
"Local SEO",
"Answer Engine Optimization",
"Small Business Marketing"
]
}
For blog posts specifically, add an author property to your BlogPosting schema that references the @id of your Person node. This chains the article to the person who wrote it, and the person to the organization they represent — a continuous chain of verifiable entities. That chain is what separates trusted citations from anonymous content in AI-generated answers.
Why Does BreadcrumbList Have the Highest AI Citation Rate of All?
BreadcrumbList topped the AirOps / Kevin Indig citation rate study at 46.2% — slightly above FAQPage. That surprises most people. Breadcrumbs feel like a navigation nicety, not a citation signal.
The reason it ranks first is structural. BreadcrumbList tells AI engines where a page sits in your site's hierarchy. An AI deciding whether to cite your roofing FAQ page doesn't just evaluate the page's content. It evaluates the page's context. Is this a top-level authority page, or an orphan deep in a subfolder? Does this business have a real service category hierarchy, or is everything at the root? BreadcrumbList answers those questions explicitly.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"@id": "https://yoursite.com/services/roofing#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Services",
"item": "https://yoursite.com/services"
},
{
"@type": "ListItem",
"position": 3,
"name": "Roofing",
"item": "https://yoursite.com/services/roofing"
}
]
}
Every page that exists somewhere in a content hierarchy — every service page, blog post, location page — should have a BreadcrumbList. It takes five minutes to implement per page and it's one of the highest-return schema investments you can make.
AI Citation Rates by Schema Type
Source: AirOps / Kevin Indig, 353,799 pages on ChatGPT, 2025
The Schema Types You Don't Need (Yet)
This is where most implementation guides go wrong. They list every schema type that could apply to your business, leaving you feeling like you need 40 JSON-LD blocks before you can compete. You don't.
Here's a practical decision table for what to skip in your first implementation:
| Schema Type | Skip if... | Add when... |
|---|---|---|
Product | You sell services, not physical goods | You add an online store with SKUs |
VideoObject | You have no embedded video on the page | A page has a YouTube walkthrough |
HowTo | Your page describes a service | Your page teaches readers to do something step-by-step |
Event | You don't run public workshops or events | You host seasonal events or webinars |
Recipe / Dataset / SoftwareApplication | You're a local service business | Never — these don't apply |
Adding inapplicable schema doesn't confuse AI engines. It wastes implementation time with zero citation return.
Our finding: When we audit small business websites, the most common schema mistake isn't missing schema — it's schema that doesn't match the page. We've seen
FAQPagenodes with questions that don't appear in the page HTML,Servicenodes with broken@idreferences, andLocalBusinessblocks with addresses that conflict with the schema in the footer. A clean implementation of five types outperforms a messy implementation of twenty every time.

How to Implement All Five Types in One Pass
Here's the full implementation order if you're starting from scratch:
Step 1: LocalBusiness in root layout. Add your LocalBusiness / Organization node in a <script type="application/ld+json"> block that fires on every page. Include name, url, telephone, areaServed, aggregateRating, and sameAs. This is your entity declaration. Everything else references it.
Step 2: BreadcrumbList on every non-homepage page. Two minutes per page. Three ListItem nodes for most service pages (Home → Services → Service Name). Copy the pattern, update the values.
Step 3: FAQPage on every service page. Write five to seven questions your customers actually ask. Match the questions to visible FAQ content on the page. The schema mirrors the HTML, not the other way around. Answers should be two to four sentences.
Step 4: Service schema on each service page. One Service node per page. Link it back to your LocalBusiness @id via the provider field. Include areaServed with your county and state.
Step 5: Person schema on your About page. One Person node with name, jobTitle, worksFor (linking to your LocalBusiness), and sameAs pointing to your LinkedIn. Reference this @id in your BlogPosting schema as the author.
The whole implementation, done methodically, takes about four hours for a five-page service business site. That's four hours of one-time work that signals your entity, services, and expertise to every AI engine that crawls your site for the next several years.
According to a 2026 Schema.org usage analysis, only 12.4% of websites implement any structured data. That means 87.6% of your competitors are invisible to AI in structured format. The bar to stand out here is low.
If you'd rather have this done for you than work through the JSON yourself, both our Stand Up and Growth plans include full schema implementation. Our AEO service covers entity schema, FAQPage, Service nodes, and the @id cross-linking that makes the whole system work as a graph rather than a collection of unrelated blocks.