LocalBusiness Schema
Session 5.4 · ~5 min read
When You Have a Physical Location
LocalBusiness is a subtype of Organization in the schema.org hierarchy. If your business has a physical location where customers visit or where services are provided, LocalBusiness schema is more appropriate than Organization schema. It inherits all Organization properties and adds location-specific ones: opening hours, geo coordinates, price range, and payment methods.
The distinction matters because LocalBusiness schema unlocks features that Organization schema does not: Google Maps integration, local pack results (the 3-pack in local searches), and location-specific rich results.
Use LocalBusiness (or a more specific subtype) if customers visit your location. Use Organization if you operate purely online or have no public-facing address. If in doubt, LocalBusiness gives you more features.
Choosing Your Subtype
LocalBusiness has dozens of subtypes. Using the most specific subtype that matches your business tells Google exactly what kind of entity you are, which improves search matching precision.
| Subtype | Best For | Example |
|---|---|---|
ProfessionalService |
Consulting, legal, accounting, engineering firms | Engineering consultancy |
Store |
Retail businesses | Hardware store, electronics shop |
Restaurant |
Food service establishments | Restaurant, cafe, bakery |
MedicalBusiness |
Healthcare providers | Clinic, pharmacy, dentist |
FinancialService |
Banking, insurance, investment | Bank branch, insurance office |
AutoRepair |
Vehicle service businesses | Auto mechanic, body shop |
HomeAndConstructionBusiness |
Construction and home services | Contractor, plumber, electrician |
LocalBusiness-Specific Properties
Beyond all the Organization properties from Session 5.3, LocalBusiness adds these location-specific properties:
| Property | Type | Purpose |
|---|---|---|
openingHoursSpecification |
Array of OpeningHoursSpecification | Detailed business hours per day |
geo |
GeoCoordinates | Latitude and longitude for Maps |
priceRange |
Text | Price indicator ("$$" or "Rp 50.000 - Rp 500.000") |
paymentAccepted |
Text | Payment methods (credit card, cash, transfer) |
currenciesAccepted |
Text | Currency codes (IDR, USD) |
hasMap |
URL | Link to Google Maps listing |
The Complete LocalBusiness Example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://yoursite.com/#localbusiness",
"name": "PT Arsindo Perkasa",
"url": "https://yoursite.com",
"logo": "https://yoursite.com/images/logo.png",
"description": "Industrial pump manufacturer and distributor.",
"foundingDate": "2015",
"telephone": "+62-21-8765-4321",
"address": {
"@type": "PostalAddress",
"streetAddress": "Jl. Raya Bogor No. 15",
"addressLocality": "Jakarta Timur",
"addressRegion": "DKI Jakarta",
"postalCode": "13510",
"addressCountry": "ID"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -6.2615,
"longitude": 106.8631
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "12:00"
}
],
"priceRange": "$$",
"paymentAccepted": "Cash, Bank Transfer, Credit Card",
"sameAs": [
"https://www.linkedin.com/company/arsindo",
"https://www.facebook.com/arsindoperkasa"
]
}
</script>
Getting Geo Coordinates
The geo property requires your exact latitude and longitude. The easiest way to get them:
- Open Google Maps and find your business location.
- Right-click on the exact spot.
- The coordinates appear at the top of the context menu. Click to copy them.
- The first number is latitude, the second is longitude.
Properties
(name, url, sameAs, etc.)"] LB --> Hours["openingHoursSpecification
(per-day hours)"] LB --> Geo["geo
(lat/long coordinates)"] LB --> Price["priceRange +
paymentAccepted"] OrgProps --> Entity["Complete
Local Entity"] Hours --> Entity Geo --> Entity Price --> Entity Entity --> Maps["Google Maps
Integration"] Entity --> LP["Local Pack
Results"]
Organization vs. LocalBusiness: When to Use Which
If your business has a physical address where customers visit, use LocalBusiness (or a subtype). If your business is online-only, use Organization. If you have a physical headquarters but customers do not visit it, you can use either, but Organization is more accurate.
For multi-location businesses, use one Organization schema on the main homepage and separate LocalBusiness schemas on individual location pages.
Further Reading
- Local Business Structured Data - Google Search Central's official guide to LocalBusiness schema.
- LocalBusiness - Schema.org Type - Full property list and subtype hierarchy for LocalBusiness.
- How-to Guide for LocalBusiness Schema Markup - Schema App's step-by-step implementation guide.
- 8 Schema Templates for Local SEO - BrightLocal's ready-to-use LocalBusiness schema templates.
Assignment
- Determine whether your business should use Organization or LocalBusiness schema. If LocalBusiness, identify the most specific subtype from the schema.org hierarchy.
- If LocalBusiness applies, get your exact geo coordinates from Google Maps.
- Write a complete LocalBusiness JSON-LD block including: all Organization properties from Session 5.3, plus openingHoursSpecification, geo, priceRange, and paymentAccepted.
- Validate at both jsonlint.com and the Rich Results Test.