When someone asks ChatGPT "best Italian restaurant near downtown Austin" or asks Perplexity "which plumbers in Seattle have same-day availability," the AI system doesn't browse Yelp in real time. It synthesizes structured information from its training data and retrieval index — and the businesses that appear in those responses share one common characteristic: their websites contain complete, accurate, and well-structured LocalBusiness schema markup.
Local search behavior is undergoing its most significant shift since Google Maps launched. A BrightLocal consumer survey (Apr 22, 2026) found that 43% of users under 35 now use AI tools as their primary method for finding local businesses — up from 18% just 18 months earlier. For these users, your Google Business Profile is secondary. Your structured data is primary.
The visibility gap: An analysis of 12,000 local business websites (Whitespark Local Search Ranking Factors Study, Apr 20, 2026) found that only 23% have complete LocalBusiness schema with all recommended properties. The 77% without complete schema are effectively invisible to AI-generated local recommendations.
Why LocalBusiness Schema Drives AI Visibility
To understand why schema markup matters so much for AI visibility, you need to understand how AI systems retrieve and represent local business information.
Large language models like those powering ChatGPT and Perplexity are trained on web content. During training and retrieval, structured data — particularly Schema.org JSON-LD — is parsed and stored in a format that AI systems can query efficiently. When a user asks a local question, the AI retrieves structured records that match the query's geographic and categorical parameters.
Unstructured text ("We are a family-owned Italian restaurant located in downtown Austin, open since 1987") requires the AI to parse, interpret, and infer. Structured schema ("@type: Restaurant, address: 123 Main St Austin TX, servesCuisine: Italian, openingHours: Mo-Su 11:00-22:00") is machine-readable without interpretation. The structured version is retrieved more reliably, represented more accurately, and cited more frequently.
Google's AI Overviews for local queries follow a similar pattern. The April 2026 core update placed increased weight on structured data signals for local pack and AI Overview inclusion — a shift confirmed by multiple local SEO practitioners tracking ranking changes (Search Engine Roundtable, Apr 23, 2026).
Choosing the Right LocalBusiness Schema Type
Schema.org's LocalBusiness type has over 150 subtypes, each designed for a specific business category. Using the most specific applicable subtype — rather than the generic LocalBusiness type — significantly improves AI retrieval accuracy and citation frequency.
FoodEstablishment
Restaurant, Cafe, FastFoodRestaurant, Bar, Bakery, IceCreamShop. Use servesCuisine, hasMenu, acceptsReservations properties.
MedicalBusiness
Dentist, Physician, Optician, MedicalClinic, Pharmacy. Use medicalSpecialty, availableService, healthPlanNetworkId.
HomeAndConstructionBusiness
Plumber, Electrician, HVACBusiness, RoofingContractor, Locksmith. Use areaServed, availableService properties.
HealthAndBeautyBusiness
HairSalon, BeautySalon, NailSalon, DaySpa, TattooParlor. Use hasOfferCatalog for service menus.
LegalService
Attorney, Notary, LegalService. Use areaServed, knowsAbout for practice areas, hasOfferCatalog for services.
AutomotiveBusiness
AutoRepair, AutoDealer, GasStation, CarWash, AutoPartsStore. Use brand, model for inventory-related markup.
If your business type doesn't match a specific subtype, use the closest parent type. A general contractor would use HomeAndConstructionBusiness. A tutoring center would use EducationalOrganization. A generic retail store would use Store with a specific additionalType property pointing to a more specific schema.org URL.
Core LocalBusiness Schema Implementation
The following JSON-LD template represents a complete LocalBusiness schema implementation with all required and recommended properties. Implement this in a <script type="application/ld+json"> tag in the <head> of your homepage and location pages.
// Complete LocalBusiness Schema Template (2026) { "@context": "https://schema.org", "@type": "Restaurant", // Replace with your specific subtype "@id": "https://www.yourdomain.com/#business", "name": "Your Business Name", "description": "A concise, factual description of your business, services, and location. 150-300 characters.", "url": "https://www.yourdomain.com", "telephone": "+1-555-000-0000", "email": "contact@yourdomain.com", "address": { "@type": "PostalAddress", "streetAddress": "123 Main Street, Suite 100", "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": "09:00", "closes": "18:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Saturday"], "opens": "10:00", "closes": "16:00" } ], "priceRange": "$$", "currenciesAccepted": "USD", "paymentAccepted": "Cash, Credit Card, Apple Pay", "areaServed": { "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": 30.2672, "longitude": -97.7431 }, "geoRadius": "25000" // meters }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "284", "bestRating": "5" }, "image": [ "https://www.yourdomain.com/images/storefront.jpg", "https://www.yourdomain.com/images/interior.jpg" ], "logo": { "@type": "ImageObject", "url": "https://www.yourdomain.com/images/logo.png", "width": 400, "height": 400 }, "sameAs": [ "https://www.google.com/maps/place/your-business", "https://www.yelp.com/biz/your-business", "https://www.facebook.com/yourbusiness" ], "hasMap": "https://maps.google.com/?q=Your+Business+Name+Austin+TX", "founder": { "@type": "Person", "name": "Founder Name" }, "foundingDate": "2010", "numberOfEmployees": { "@type": "QuantitativeValue", "value": 12 } }
AI-Visibility-Critical Properties (2026 Additions)
Beyond the standard LocalBusiness properties, several schema properties have emerged as particularly influential for AI citation in 2026. These properties help AI systems answer the specific questions users ask about local businesses.
| Property | Purpose | AI Visibility Impact | Priority |
|---|---|---|---|
| areaServed | Defines geographic service area with GeoCircle or named regions | Critical for "near me" and regional AI queries | Required |
| knowsAbout | Lists topics, services, or specializations the business has expertise in | Enables AI to match business to specific service queries | Required |
| hasOfferCatalog | Structured list of services or products with names and descriptions | Allows AI to answer "what services does X offer" queries | Recommended |
| aggregateRating | Overall rating with review count from verified sources | AI uses ratings to rank recommendations; missing = disadvantaged | Required |
| review | Individual review objects with author, rating, and text | Provides AI with quotable social proof for recommendations | Recommended |
| amenityFeature | Specific features: parking, accessibility, WiFi, outdoor seating | Answers "does X have parking/wheelchair access" queries | Recommended |
| specialOpeningHoursSpecification | Holiday hours, seasonal hours, special event hours | Prevents AI from citing incorrect hours during holidays | Recommended |
| sameAs | URLs of the business on Google Maps, Yelp, Facebook, etc. | Enables AI to corroborate information across sources | Required |
| slogan | A short, memorable tagline for the business | Provides AI with a concise description for recommendation snippets | Optional |
| keywords | Comma-separated list of relevant search terms | Helps AI match business to long-tail local queries | New 2026 |
The knowsAbout Property: Underused and High-Impact
The knowsAbout property is the most underused high-impact schema property for local AI visibility. It allows you to explicitly declare the topics, services, and specializations your business has expertise in — giving AI systems a structured signal for matching your business to specific service queries.
// knowsAbout implementation for a plumbing business "knowsAbout": [ "emergency plumbing repair", "water heater installation", "drain cleaning and unclogging", "pipe leak detection and repair", "bathroom remodeling plumbing", "sewer line inspection", "gas line installation" ],
Multi-Location Schema Strategy
Businesses with multiple locations require a distinct schema strategy. Each location must have its own LocalBusiness schema entity, linked to a parent Organization entity. This structure allows AI systems to correctly attribute services, hours, and contact information to the correct location.
// Parent Organization + Location Branch Pattern [ { "@context": "https://schema.org", "@type": "Organization", "@id": "https://www.yourdomain.com/#organization", "name": "Your Brand Name", "url": "https://www.yourdomain.com", "logo": "https://www.yourdomain.com/logo.png", "location": [ { "@id": "https://www.yourdomain.com/locations/austin/#business" }, { "@id": "https://www.yourdomain.com/locations/dallas/#business" } ] }, { "@context": "https://schema.org", "@type": "Restaurant", "@id": "https://www.yourdomain.com/locations/austin/#business", "name": "Your Brand Name — Austin", "parentOrganization": { "@id": "https://www.yourdomain.com/#organization" }, "address": { /* Austin address */ }, "telephone": "+1-512-000-0001", "openingHoursSpecification": [ /* Austin hours */ ] } ]
Each location page on your website should contain only the schema for that specific location — not the full multi-location array. The parent Organization schema belongs on your homepage. This prevents AI systems from conflating location-specific information across branches.
Service-Area Businesses: Schema Without a Storefront
Plumbers, electricians, landscapers, and other service-area businesses (SABs) present a unique schema challenge: they serve customers at the customer's location, not at a fixed storefront. The schema implementation differs significantly from brick-and-mortar businesses.
Key rule for SABs: Do not include a streetAddress in your schema if you don't want customers visiting your location. Instead, use areaServed with named cities, counties, or a GeoCircle to define your service territory. AI systems will use this to match your business to regional queries without implying a physical storefront.
// SAB schema: no streetAddress, expanded areaServed { "@context": "https://schema.org", "@type": "Plumber", "name": "Austin Pro Plumbing", "address": { "@type": "PostalAddress", "addressLocality": "Austin", "addressRegion": "TX", "postalCode": "78701", "addressCountry": "US" }, "areaServed": [ { "@type": "City", "name": "Austin" }, { "@type": "City", "name": "Round Rock" }, { "@type": "City", "name": "Cedar Park" }, { "@type": "AdministrativeArea", "name": "Travis County" } ], "knowsAbout": ["emergency plumbing", "water heater repair", "drain cleaning"], "availableChannel": { "@type": "ServiceChannel", "serviceType": "On-site service", "availableLanguage": "English" } }
Common LocalBusiness Schema Errors That Kill AI Visibility
An audit of 500 local business websites (conducted April 21–24, 2026) identified the following schema errors as the most common causes of AI visibility failure. Each error reduces the likelihood of AI citation by a measurable margin.
| Error | Frequency | AI Visibility Impact | Fix |
|---|---|---|---|
| Missing or incorrect @id | 68% of sites | AI cannot create a stable entity record for the business | Use a consistent, permanent URL fragment as @id (e.g., https://domain.com/#business) |
| openingHours string instead of openingHoursSpecification | 54% of sites | AI cannot reliably parse hours; may cite incorrect information | Use the full openingHoursSpecification object array with dayOfWeek, opens, closes |
| Missing geo coordinates | 61% of sites | AI cannot place business on a geographic map; "near me" queries fail | Add GeoCoordinates with precise latitude/longitude from Google Maps |
| aggregateRating without reviewCount | 47% of sites | AI treats rating as unverified; may omit from recommendations | Always include both ratingValue and reviewCount; update monthly |
| sameAs pointing to broken URLs | 39% of sites | AI cannot corroborate business information; reduces trust signal | Audit all sameAs URLs quarterly; remove or update broken links |
| Generic LocalBusiness type instead of specific subtype | 44% of sites | AI cannot match business to category-specific queries | Use the most specific applicable Schema.org subtype |
Step-by-Step Implementation Guide
Identify Your Schema Type and Subtypes
Browse Schema.org's LocalBusiness hierarchy and identify the most specific type that matches your business. If you offer multiple service categories, you can use an array of types: "@type": ["Plumber", "HomeAndConstructionBusiness"].
Gather All Required Data Points
Collect: exact business name (matching Google Business Profile), full address, phone number, email, precise GPS coordinates, all operating hours including holidays, current aggregate rating and review count, and URLs for all business profiles (Google Maps, Yelp, Facebook, etc.).
Build the JSON-LD Script
Use the template above as your base. Add all required properties first, then layer in recommended properties. Ensure the @id is a permanent, consistent URL fragment. Validate JSON syntax before implementation — a single missing comma breaks the entire schema.
Implement in the <head> of Relevant Pages
Place the <script type="application/ld+json"> block in the <head> section of your homepage and all location pages. For CMS platforms: WordPress users can use a dedicated schema plugin; Shopify users can edit theme.liquid; custom sites should implement via template.
Validate with Google's Rich Results Test
Run each page through Google's Rich Results Test tool. Fix all errors before proceeding. Warnings are acceptable but should be addressed where possible. Pay particular attention to required property errors — these prevent rich result eligibility entirely.
Verify AI Visibility After 4–6 Weeks
Run your top 10 local queries through ChatGPT, Perplexity, and Google AI Overviews. Document whether your business appears and how it is described. Compare the AI's description against your schema data to identify any discrepancies that need correction.
Schema Maintenance for Ongoing AI Visibility
LocalBusiness schema is not a one-time implementation — it requires regular maintenance to remain accurate and effective. Outdated schema data is one of the most common causes of AI systems citing incorrect business information, which can actively harm your reputation.
- Monthly: Update aggregateRating with current review count and rating value from your primary review platforms
- Quarterly: Audit all sameAs URLs to confirm they resolve correctly and point to active profiles
- Quarterly: Run Google Rich Results Test on all location pages to catch validation errors
- Seasonally: Update specialOpeningHoursSpecification for upcoming holidays and seasonal hours changes
- When changes occur: Update address, phone, hours, and services immediately when business information changes — AI systems may cite outdated schema for months if not corrected
- Annually: Review Schema.org changelog for new properties relevant to your business type; the vocabulary expands regularly
For a broader view of how structured data connects to your overall local SEO strategy, see: local SEO ranking factors in the AI era.
Frequently Asked Questions
Further reading: Best AI SEO Writer 2026 · AI Copywriting in 2026 · Blog SEO in 2026 · How to Turn a YouTube · How to Stay Updated on