Local SEO Schema Markup: Complete Guide

Key Takeaways
- • LocalBusiness is essential — The core schema type for any local business
- • NAP consistency matters — Name, address, phone must match across all platforms
- • GeoCoordinates boost map results — Exact lat/long helps search engines place you accurately
- • Reviews drive clicks — AggregateRating schema can show star ratings in results
- • AI engines use local schema — ChatGPT and Perplexity extract local business data for recommendations
Local SEO schema markup is structured data that helps search engines and AI models understand your business location, services, hours, and reviews. Implementing LocalBusiness schema correctly is one of the highest-impact SEO actions for brick-and-mortar businesses, with studies showing a 20-30% increase in local search visibility.
This guide is part of our Schema Markup Mastery series. For general schema basics, see What Is Schema Markup?
LocalBusiness Schema: The Foundation #
The LocalBusiness schema type (and its many subtypes) is the foundation of local SEO structured data. It tells search engines that your page represents a physical business with a location that customers can visit.
Core LocalBusiness JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "The Example Bistro",
"image": "https://example.com/photos/bistro.jpg",
"url": "https://example.com",
"telephone": "+1-555-123-4567",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.7749,
"longitude": -122.4194
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "11:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "10:00",
"closes": "23:00"
}
],
"priceRange": "$$",
"servesCuisine": "Italian",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "312"
}
}
</script>Choosing the Right Business Subtype #
Schema.org provides specific subtypes for different business categories. Using the most specific type improves accuracy:
| Business Type | Schema Type |
|---|---|
| Restaurant / Café | Restaurant, CafeOrCoffeeShop |
| Doctor / Dentist | Physician, Dentist |
| Law Firm | LegalService, Attorney |
| Retail Store | Store, ClothingStore, etc. |
| Auto Repair | AutoRepair |
| Salon / Spa | BeautySalon, DaySpa |
| Real Estate | RealEstateAgent |
| General Business | LocalBusiness (fallback) |

Essential Properties for Local Schema #
- 1NAP (Name, Address, Phone) — Must match your Google Business Profile exactly
- 2GeoCoordinates — Latitude and longitude for precise map placement
- 3Opening Hours — Complete schedule including special hours and holidays
- 4URL — Your website's canonical URL
- 5Image — High-quality photo of your business
- 6Price Range — Use $ to $$$$ format
- 7Area Served — Geographic area you service
Adding Review Schema #
According to Google's review snippet documentation, review and rating schema can display star ratings in search results, significantly boosting click-through rates. A Moz study found review-rich results see up to 35% more clicks:
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"bestRating": "5",
"worstRating": "1",
"ratingCount": "247",
"reviewCount": "189"
},
"review": [
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
},
"author": {
"@type": "Person",
"name": "Jane Smith"
},
"reviewBody": "Excellent service and great atmosphere!"
}
]Service Area Business Schema #
For businesses that serve customers at their locations (plumbers, electricians, delivery services), use ServiceArea instead of or in addition to a physical address:
"areaServed": [
{
"@type": "City",
"name": "San Francisco",
"@id": "https://www.wikidata.org/wiki/Q62"
},
{
"@type": "City",
"name": "Oakland",
"@id": "https://www.wikidata.org/wiki/Q16559"
}
]Multi-Location Businesses #
For businesses with multiple locations:
- Each location gets its own page with dedicated LocalBusiness schema
- Parent organization — Link locations to a parent
OrganizationusingparentOrganization - Unique NAP per location — Each schema must have its unique address and phone
- Store locator page — Consider adding schema to your store locator too
Local Schema & AI Search #
"AI search engines are becoming the new local directory. When someone asks ChatGPT for 'the best Italian restaurant near me,' your local schema determines whether you're in that conversation."
AI search engines use local schema to:
- Extract business hours and contact information for direct answers
- Understand geographic relevance for location-based queries
- Compare businesses based on ratings and reviews
- Provide accurate service area information
- Generate business recommendations with specific details
Common Local Schema Mistakes #

- NAP inconsistency — Schema doesn't match Google Business Profile or other citations
- Wrong business type — Using generic
LocalBusinesswhen a specific subtype exists - Missing geo coordinates — Skipping latitude/longitude data
- Outdated hours — Schema shows old business hours
- Fake reviews — Fabricated review schema violates Google's review guidelines
- No image — Missing business photo reduces rich result potential
Conclusion: Power Your Local Visibility with Schema #
Local SEO schema is one of the highest-ROI technical optimizations for physical businesses. By implementing comprehensive LocalBusiness schema with accurate NAP data, geo coordinates, opening hours, and reviews, you create a machine-readable identity that both traditional search engines and AI models can confidently use. As AI search becomes the primary discovery channel for local recommendations, businesses with clean, validated structured data will dominate "near me" and "best [business] in [city]" queries. Start with the core LocalBusiness schema, validate with the Google Rich Results Test, and expand to include reviews, service areas, and event schema as your implementation matures. For broader local AI search strategies, explore our Local AI Search Guide.
Frequently Asked Questions #
Do I need local schema if I have a Google Business Profile?
Yes. Google Business Profile and local schema serve complementary purposes. Your GBP manages your listing in Google Maps and local pack results. Local schema on your website reinforces that information and helps other search engines (including AI search) understand your business details. The two should always be consistent.
Should I add local schema to every page on my site?
No. Add comprehensive LocalBusiness schema to your homepage, contact page, and individual location pages. Other pages (blog posts, service pages) should have their own relevant schema types. You can include a simplified Organization or LocalBusiness reference in the site-wide header schema if desired.
How do I find my exact geo coordinates?
Use Google Maps: right-click your business location and the coordinates will appear at the top of the context menu. You can also use tools like latlong.net or search "coordinates of [your address]" in Google. Always verify the coordinates point to the correct building.