Local Business Schema Markup Guide for SEO Teams
Implement local business schema markup correctly. Covers LocalBusiness types, opening hours, service areas, reviews, and multi-location setups.
Auditite Team
Table of Contents
Why Local Business Schema Matters
Local business schema markup tells search engines exactly what your business is, where it is located, when it is open, and what services it offers. This structured data feeds into Google’s Knowledge Graph and can trigger rich results in local search — including business panels, opening hours, and review snippets.
Without schema markup, Google must infer this information from unstructured text on your pages. With it, you provide explicit, machine-readable data that eliminates ambiguity.
Choosing the Right Schema Type
Do not use the generic LocalBusiness type when a more specific one exists. Google rewards specificity because it enables richer result features.
Common Specific Types
- Restaurant — enables menu, cuisine type, and reservation features
- Dentist, Physician, Pharmacy — medical business types
- Attorney, LegalService — legal profession types
- Plumber, Electrician, RoofingContractor — home service types
- AutoRepair, AutoDealer — automotive types
- RealEstateAgent — real estate type
- FinancialService, AccountingService — financial types
- FitnessCenter, GolfCourse, SportsActivityLocation — recreation types
Browse Schema.org’s full hierarchy under LocalBusiness to find the most specific type for your business.
Required and Recommended Properties
Essential Properties
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Downtown Family Dental",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street, Suite 200",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"telephone": "+1-503-555-0123",
"url": "https://www.downtownfamilydental.com"
}
name must match your Google Business Profile exactly. Inconsistencies between your schema, GBP, and other citations confuse search engines. See our local SEO guide for citation consistency best practices.
Opening Hours
Use openingHoursSpecification for precise hours:
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
]
For holidays or special hours, add specialOpeningHoursSpecification entries with specific dates.
Geographic Coordinates
"geo": {
"@type": "GeoCoordinates",
"latitude": "45.5231",
"longitude": "-122.6765"
}
Precise coordinates help Google associate your business with map-based searches and “near me” queries.
Service Area
For businesses that serve customers at their locations (plumbers, electricians, delivery services):
"areaServed": [
{
"@type": "City",
"name": "Portland"
},
{
"@type": "City",
"name": "Beaverton"
},
{
"@type": "State",
"name": "Oregon"
}
]
Reviews and Ratings
If you display reviews on your website:
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "247",
"bestRating": "5",
"worstRating": "1"
}
Only include aggregateRating if the reviews are genuine and displayed on the page where the schema appears. Fake or hidden reviews violate Google’s structured data guidelines.
Price Range
"priceRange": "$$"
Use a simple dollar-sign scale or a specific range like “$50-$200.”
Images and Logo
"image": "https://example.com/photos/office-exterior.jpg",
"logo": "https://example.com/images/logo.png"
Include at least one image of the business. The logo should be a high-resolution, recognizable brand mark.
Multi-Location Implementation
For businesses with multiple locations, each location needs its own LocalBusiness schema on its dedicated location page.
Organization + Location Structure
Use an Organization entity on your main website and LocalBusiness entities on individual location pages:
Main site (about page or homepage):
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Downtown Family Dental",
"url": "https://www.downtownfamilydental.com",
"logo": "https://www.downtownfamilydental.com/logo.png"
}
Location page (/locations/portland):
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Downtown Family Dental - Portland",
"parentOrganization": {
"@type": "Organization",
"name": "Downtown Family Dental"
},
"address": { ... },
"telephone": "+1-503-555-0123"
}
Department Subsets
If a location has departments (e.g., a hospital with an ER, radiology, and pharmacy), use the department property to nest department schema within the main location schema.
Validation and Testing
Google Rich Results Test
Test your pages with Google’s Rich Results Test to verify schema is valid and eligible for enhanced display.
Common Validation Errors
- Missing required fields —
name,address, and at least one contact method - Invalid opening hours format — times must use 24-hour format (HH:MM)
- Mismatched NAP — name, address, or phone different from GBP listing
- Invalid geographic coordinates — latitude/longitude swapped or imprecise
- Incorrect schema type — using a type that does not match the business
Run regular audits of your structured data to catch errors introduced by template changes or CMS updates. Validate against your site architecture to ensure every location page has proper schema.
Implementation Methods
JSON-LD (Recommended)
Place JSON-LD in the <head> section of each page. This is Google’s preferred format and is easiest to implement and maintain.
CMS Integration
For sites with many locations:
- Generate schema dynamically from your CMS database
- Use location data fields to populate schema properties automatically
- Test a sample of generated pages to verify output
For WordPress sites, see our WordPress SEO guide for plugin-based schema options. For Webflow, check our Webflow guide for embed-based approaches.
Local business schema is foundational to local SEO. Implementing it correctly gives search engines the explicit signals they need to present your business in local results, knowledge panels, and map features. Regular validation ensures your schema stays accurate as your business information changes.
Stay in the loop
Get insights, strategies, and product updates delivered to your inbox.
No spam. Unsubscribe anytime.
Ready to see Auditite in action?
Get started and see how Auditite can transform your SEO auditing workflow.
Get started