Written by Chris Drinkard
14 years in hospitality management
5 years helping independent hotels grow their online presence. Passionate about AI, search, and digital strategy.
What is Local Business Schema?
Local Business schema is structured data markup that provides search engines with detailed information about your physical business location. It includes critical details like your business name, address, phone number (NAP), hours of operation, and services offered.
Key benefit: Local Business schema reinforces your Google Business Profile data and helps search engines confidently display your business in local results, map packs, and knowledge panels.
How Local Business Schema Helps SEO
NAP Consistency
Ensures your name, address, and phone match across your website, GBP, and citations—a critical local ranking factor.
Knowledge Panel Support
Provides structured data Google can use to populate knowledge panels for branded searches.
Rich Results
Can enable rich results showing hours, ratings, and price range directly in search results.
Voice Search
Helps voice assistants accurately answer questions about your business hours, location, and services.
Choosing the Right Schema Type
Schema.org provides many specific subtypes of LocalBusiness. Using the most specific type gives Google more context about your business:
| Business Type | Schema Type |
|---|---|
| Restaurant, Cafe, Bar | Restaurant, CafeOrCoffeeShop, BarOrPub |
| Retail Store | Store, ClothingStore, ElectronicsStore |
| Medical Practice | Dentist, Physician, MedicalClinic |
| Legal Services | Attorney, LegalService |
| Real Estate | RealEstateAgent |
| Home Services | Plumber, Electrician, HVAC Business |
| Auto Services | AutoRepair, AutoDealer, GasStation |
| Hotel/Lodging | Hotel, Motel, BedAndBreakfast |
| Fitness | HealthClub, SportsActivityLocation |
| Other/Generic | LocalBusiness |
JSON-LD Implementation
Basic Local Business Schema
Here's a complete example with all recommended properties:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Joe's Coffee House",
"image": "https://example.com/photos/storefront.jpg",
"url": "https://example.com",
"telephone": "+1-555-123-4567",
"email": "[email protected]",
"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": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "08:00",
"closes": "16:00"
}
],
"priceRange": "$$",
"servesCuisine": "Coffee, Pastries",
"acceptsReservations": "False",
"menu": "https://example.com/menu",
"sameAs": [
"https://facebook.com/joescoffee",
"https://instagram.com/joescoffee",
"https://yelp.com/biz/joes-coffee-sf"
]
}
</script> Service Business Example
For service businesses that visit customers (plumbers, electricians, etc.):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Quick Fix Plumbing",
"image": "https://example.com/logo.png",
"url": "https://quickfixplumbing.com",
"telephone": "+1-555-987-6543",
"address": {
"@type": "PostalAddress",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"areaServed": {
"@type": "City",
"name": "Austin",
"sameAs": "https://en.wikipedia.org/wiki/Austin,_Texas"
},
"priceRange": "$$",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "08:00",
"closes": "18:00"
},
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Plumbing Services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Emergency Plumbing"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Water Heater Installation"
}
}
]
}
}
</script> Required vs. Recommended Properties
Required (for rich results)
- name - Business name
- address - Full postal address
Highly Recommended
- telephone
- url - Website URL
- openingHoursSpecification
- geo - Coordinates
- image
- priceRange
- sameAs - Social profiles
Multi-Location Businesses
If you have multiple locations, create a dedicated page for each location with its own Local Business schema:
Recommended Structure:
- • /locations/ - List of all locations
- • /locations/san-francisco/ - SF location page with SF schema
- • /locations/los-angeles/ - LA location page with LA schema
- • /locations/new-york/ - NYC location page with NYC schema
Each location page should have unique content about that specific location, not just a copy of the main page with a different address.
Important: Don't put multiple LocalBusiness schema blocks on a single page for different locations. Each location should have its own dedicated page.
Integration with Google Business Profile
Your Local Business schema should match your Google Business Profile exactly. Consistency is key:
Business Name
Exact match. No extra keywords, same capitalization.
Address
Same format: "123 Main St" or "123 Main Street" - pick one.
Phone Number
Use international format with country code.
Business Hours
Match GBP hours. Update both when hours change.
Common Mistakes to Avoid
1. NAP Inconsistency
Having different name, address, or phone formats across schema, GBP, and citations confuses search engines.
2. Using Generic LocalBusiness Type
When a more specific type exists (Restaurant, Dentist, etc.), using generic LocalBusiness provides less context.
3. Missing Coordinates
Without geo coordinates, Google may not accurately place your business on maps. Get exact lat/long from Google Maps.
4. Outdated Hours
Schema showing wrong hours hurts user experience and trust. Update when hours change, especially holidays.
5. Adding Schema to Every Page
Local Business schema should only be on relevant pages (contact, about, location pages), not blog posts.
Frequently Asked Questions
What is Local Business schema?
Local Business schema is structured data that provides search engines with detailed information about a business location, including name, address, phone number (NAP), hours of operation, geographic coordinates, and more. It helps Google understand and display your business in local search results and Maps.
Is Local Business schema the same as Google Business Profile?
No, they are complementary. Google Business Profile (GBP) is a separate listing you manage through Google. Local Business schema on your website reinforces and validates your GBP information, creating consistency that helps local SEO rankings.
Which Local Business schema type should I use?
Use the most specific type that matches your business. Schema.org has many subtypes like Restaurant, Dentist, Store, RealEstateAgent, etc. Using a specific type provides more context than the generic LocalBusiness type.
Does Local Business schema help with local pack rankings?
Local Business schema alone won't get you into the local pack, but it supports your local SEO efforts. Consistent NAP data across your website (with schema), GBP, and citations helps Google trust your business information, which can positively influence local rankings.
Should I add Local Business schema to every page?
No. Add Local Business schema only to relevant pages like your homepage, about page, contact page, and individual location pages. Don't add it to blog posts or product pages unless they specifically relate to that location.
How do I add schema for multiple business locations?
Create a separate Local Business schema block for each location. Each should have its own unique address, phone number, and coordinates. Ideally, each location should have its own dedicated page with that location's schema.
Validate Your Local Business Schema
Test your LocalBusiness markup to ensure Google can parse your NAP data correctly for local search results.