"LocalBusiness" schema
Last updated 17 June 2026 4 min
LocalBusiness is a subtype of Organization used to describe a business with a physical location that customers can visit (e.g., a mechanic's workshop), or a service-area business that operates within a defined region (e.g., a business that operates in a particular state, or within a certain radius from its physical location).
It's one of the most important schema types for any business focussed on local SEO — it's the structured data counterpart to a Google Business Profile listing.
When to use "LocalBusiness"
Use LocalBusiness when the business has a real-world physical presence or service area: shops, restaurants, clinics, mechanics, tilers, plumbers, gyms, salons, agencies with a public office, etc. For purely online businesses with no local component, it can be excluded from your Organization schema.
Schema.org defines an extensive list of LocalBusiness subtypes, including:
Restaurant,BarOrPub,CafeOrCoffeeShopDentist,Physician,MedicalClinicPlumber,Electrician,HVACBusiness,RoofingContractorAutoRepair,AutoDealerStore,ClothingStore,HardwareStoreLegalService,AccountingService,FinancialServiceBeautySalon,HairSalon,DaySpaRealEstateAgent,TravelAgency,ProfessionalService
Use the most specific subtype available; this strengthens entity classification.
Key properties
Required or strongly recommended:
name– business name (match Google Business Profile exactly)address–PostalAddresswith all fields populatedtelephone– primary contact number in international formaturl– homepage URLimage– at least one photo of the business
Highly recommended:
geo–GeoCoordinateswithlatitudeandlongitudeopeningHoursSpecification– structured hours per daypriceRange– e.g."$$"or"$50–$200"areaServed– geographic coverage for service-area businessessameAs– authoritative profile links (GBP, Facebook, LinkedIn, etc.)aggregateRating/review– only if displayed on the pagehasMap– URL to the business's Google Maps listingpaymentAccepted,currenciesAcceptedlogo– brand logofounder,foundingDate– brand history signals
Example: storefront business
{
"@context": "https://schema.org",
"@type": "CafeOrCoffeeShop",
"name": "Corporate Shop Name",
"image": [
"https://example.com.au/photos/cafe-front.jpg",
"https://example.com.au/photos/cafe-interior.jpg"
],
"@id": "https://example.com.au/#localbusiness",
"url": "https://example.com.au",
"telephone": "+61-3-9000-0000",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Collins St",
"addressLocality": "Melbourne",
"addressRegion": "VIC",
"postalCode": "3000",
"addressCountry": "AU"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -37.8136,
"longitude": 144.9631
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "16:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "08:00",
"closes": "14:00"
}
],
"sameAs": [
"https://www.facebook.com/example",
"https://www.instagram.com/example"
]
}
Example: service-area business
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "XYZ Plumbing",
"url": "https://example.com.au",
"telephone": "+61-3-0000-0000",
"image": "https://example.com.au/logo.jpg",
"address": {
"@type": "PostalAddress",
"addressLocality": "Footscray",
"addressRegion": "VIC",
"postalCode": "3011",
"addressCountry": "AU"
},
"areaServed": {
"@type": "GeoCircle",
"geoMidpoint": {
"@type": "GeoCoordinates",
"latitude": -37.8136,
"longitude": 144.9631
},
"geoRadius": "30000"
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
"opens": "00:00",
"closes": "23:59"
}
}
Local SEO value
LocalBusiness is one of the highest-impact schema types for local SEO. It supports:
- Knowledge panel population for branded searches
- Better association between your website and Google Business Profile
- Eligibility for local business rich results (hours, phone, location in SERPs)
- Improved entity confidence for AI Overviews and local-intent queries
- Cleaner display in voice search and assistant queries
Best practices
- NAP consistency is critical. Name, address, and phone must match Google Business Profile and major citations; don't let profiles across different platforms get out of sync if business details change.
- Use the most specific subtype.
DentistbeatsMedicalBusinessbeatsLocalBusiness. - Declare once. Place the markup on the homepage and/or contact page; it doesn't need to be site-wide on every page.
- For multi-location businesses, mark up each location separately on its own location page.
- Be accurate — outdated or incorrect information, like the wrong business hours, undermines trust and can be penalised.
- Only use
aggregateRatingif reviews are genuinely displayed on the page and freshly aggregated. Don't pull in review counts from third-party sites you don't display. - Pair with
sameAslinking to your Google Business Profile, Facebook page, and other authoritative profiles to reinforce entity identity. - For service-area businesses, prefer
areaServedover an inflated address-only declaration. Don't list a fake storefront if you don't have one.
Disclaimer: All information contained herein is for informational purposes only. It is not advice or instructional.