Free LocalBusiness Schema Generator
Generate LocalBusiness JSON-LD structured data to improve your local search visibility. Help Google display your business hours, address, phone number, and reviews in local search results and Maps.
What is LocalBusiness Schema?
LocalBusiness schema is structured data markup designed for businesses that serve customers at a physical location or within a defined service area. It communicates critical business information to search engines, including your address, opening hours, contact details, service areas, accepted payment methods, and customer reviews. This markup directly influences how your business appears in local search results, Google Maps, and the local pack.
Schema.org offers many specialized subtypes of LocalBusiness, including Restaurant, MedicalBusiness, LegalService, FinancialService, Store, and dozens more. Using the most specific subtype for your industry provides additional context and can unlock industry-specific rich result features. For example, a Restaurant subtype allows you to include menu information and cuisine type.
Why Use LocalBusiness Schema? Benefits for SEO and AI Visibility
LocalBusiness schema is one of the most impactful structured data types for businesses with physical locations:
- Local pack ranking signals: Structured business data reinforces your Google Business Profile and helps you appear in the local 3-pack for relevant queries.
- Knowledge panel accuracy: Schema markup ensures Google displays correct hours, address, and contact information in your business knowledge panel.
- Voice search for local queries: AI assistants use LocalBusiness schema to answer queries like "what time does [business] close" or "is [business] open now."
- AI-powered recommendations: When users ask AI for local business recommendations, structured data helps AI systems understand your services, location, and reputation.
- Multi-location clarity: For businesses with multiple branches, LocalBusiness schema on each location page prevents confusion between locations.
Required and Recommended Properties
Required Properties
@type: "LocalBusiness" or a more specific subtypename: The official business nameaddress: Full postal address as a PostalAddress objecttelephone: Primary contact phone number
Recommended Properties
openingHoursSpecification: Detailed opening hours by daygeo: Latitude and longitude coordinatesimage: Photos of the business or storefrontpriceRange: General price range (e.g., "$$" or "$10-$50")aggregateRating: Overall customer ratingareaServed: Geographic area the business servespaymentAccepted: Accepted payment methodsurl: The business website URL
JSON-LD Code Example for LocalBusiness Schema
Here is a complete LocalBusiness schema example for a local restaurant:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "The Garden Kitchen",
"image": "https://example.com/images/garden-kitchen-storefront.jpg",
"url": "https://example.com",
"telephone": "+1-555-123-4567",
"priceRange": "$$",
"servesCuisine": "Mediterranean",
"address": {
"@type": "PostalAddress",
"streetAddress": "456 Oak Avenue",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.5155,
"longitude": -122.6789
},
"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"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.4",
"reviewCount": "156"
}
}
Common Mistakes to Avoid
Inconsistent NAP information
Your Name, Address, and Phone number in schema must exactly match your Google Business Profile and other citations. Even minor formatting differences (like "St." vs "Street") can create confusion.
Using the generic LocalBusiness type when a specific subtype exists
If you are a dentist, use Dentist. If you run a gym, use HealthClub. Specific subtypes unlock additional properties and provide clearer signals about your business category.
Missing opening hours
Opening hours are critical for local search. Without them, Google cannot answer "is [business] open now" queries, and AI assistants cannot provide accurate availability information to users.
Omitting geo coordinates
While address alone may work, adding latitude and longitude coordinates removes ambiguity, especially for businesses in areas where street addresses are imprecise or shared between buildings.
Curious how your local business website performs for AI search? Try our free Agent readiness check to evaluate your AI optimization.
Frequently Asked Questions
Should I use LocalBusiness schema if I already have a Google Business Profile?
Absolutely. Your Google Business Profile and website schema work together. The schema on your website reinforces the data in your profile, creating consistency signals that boost local ranking. They serve complementary purposes and should always be used together.
How do I handle multiple business locations?
Create a separate page for each location and add unique LocalBusiness schema to each page with its specific address, phone number, and hours. Do not put multiple location schemas on a single page. Each location deserves its own dedicated page and markup.
What LocalBusiness subtype should I use for my industry?
Check the schema.org LocalBusiness page for the full list of subtypes. Common ones include Restaurant, Dentist, Plumber, AutoRepair, Bakery, BarberShop, BeautySalon, and LegalService. If no specific subtype matches, use the general LocalBusiness type.
Can service-area businesses without a storefront use LocalBusiness schema?
Yes. For service-area businesses (plumbers, electricians, mobile services), use LocalBusiness schema with the areaServed property instead of a physical address. You can define your service area by city, region, or radius from a central point.