LocalBusiness Schema: The Properties That Matter and How to Implement Them
- Filed November 10, 2026
- Structured data, guide 4 of 9
LocalBusiness structured data describes a physical business on its own website: its name, address, phone number, hours and location. Google’s documentation says it can tell Google about “business hours, different departments within a business, reviews (if your site captures reviews about other businesses), and more” (Google’s local business structured data documentation). It does not create a Google Business Profile, it does not decide rankings in the Local Pack, and nothing in that documentation says it overrides profile data. Its value is in stating the business’s details clearly and consistently on the site, so the site agrees with what the business says everywhere else.
Required and recommended properties
Google’s documentation lists:
| Required | Recommended |
|---|---|
| <!–INLINECODE0–> | <!–INLINECODE1–> |
| <!–INLINECODE2–> | <!–INLINECODE3–> |
| <!–INLINECODE4–> (latitude and longitude) | |
| <!–INLINECODE5–> | |
| <!–INLINECODE6–> | |
| <!–INLINECODE7–> | |
| <!–INLINECODE8–>, <!–INLINECODE9–> (food establishments) | |
| <!–INLINECODE10–>, <!–INLINECODE11–> (with restrictions; see below) |
Google recommends using “the most specific LocalBusiness sub-type possible”, for example Dentist, Plumber, Restaurant or AutoRepair, rather than the generic LocalBusiness.
An implementation example
For a fictional bakery with one location:
{
"@context": "https://schema.org",
"@type": "Bakery",
"@id": "https://www.example-bakery.com/#bakery",
"name": "Rye & Crumb Bakery",
"url": "https://www.example-bakery.com/",
"telephone": "+1-217-555-0100",
"image": "https://www.example-bakery.com/images/storefront.jpg",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "120 Market Street",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 39.80172,
"longitude": -89.64404
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "14:00"
}
]
}
All details are placeholders. Notes:
- The phone number uses an international format; the same number should appear in the page’s visible contact information.
- List every day the business opens, with the hours shown on the site; add special hours (holidays) with
validFromandvalidThroughwhen they apply. - Geo coordinates should place the business at its building, matching the address. Google’s documentation says the precision of latitude and longitude “must be at least 5 decimal places”.
Multiple locations and departments
- Multiple locations: Google’s local business documentation covers departments within one business but sets no rule for multi-location sites. A workable practice is a page per location whose LocalBusiness markup describes only that location, so the markup matches what the page shows. Markup for every location placed on one page that shows none of them would not match its visible content.
- Departments: Google’s documentation says a business with departments that have distinct properties, such as opening hours or telephone numbers, can mark up each one with the
departmentproperty, defining the properties that differ from the main store.
Reviews: the self-review restriction
Google’s review snippet guidelines state that if “the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature” (review snippet guidelines). A business marking up testimonials about itself on its own site will not get star ratings for that markup. Ratings must come from users, and Google says not to rely on editors to compile ratings for local businesses.
aggregateRating and review remain appropriate for sites that review other businesses (a restaurant guide, for example).
Consistency with other sources
Google’s Business Profile help says profile information is compiled from several sources, including crawled web content such as a business’s official website, licensed data, user contributions and the business owner (how Google sources Business Profile information). The practical rule is consistency: the name, address, phone number and hours in markup should match the visible website, the Google Business Profile and other listings. Google’s Business Profile guidelines also ask that the business name reflect the real-world name used consistently on storefront, website and stationery (Google Business Profile guidelines).
What LocalBusiness markup does not do
- It does not guarantee Local Pack rankings. Google’s local ranking help describes local results as based mainly on relevance, distance and prominence, and says there is no way to request or pay for a better local ranking (Google’s tips to improve local ranking).
- It does not replace a Business Profile. Map results and the business panel are managed through Google Business Profile.
- It does not make up for missing visible information. Markup must reflect what the page shows.
LocalBusiness markup checklist
- [ ] Most specific LocalBusiness subtype chosen.
- [ ]
nameandaddresspresent; recommended properties added where accurate. - [ ] Phone, hours and address match the visible page and the Business Profile.
- [ ] Each location’s markup describes that location only and matches the visible page.
- [ ] No self-review star markup on the business’s own pages.
- [ ] Holiday and special hours updated when they change.
- [ ] Validated with the Rich Results Test and the Schema Markup Validator (reading their errors and warnings).
LocalBusiness markup is a precise statement of facts the business already publishes. Kept accurate and consistent with the business’s other listings, it removes ambiguity; it does not, on its own, move the business up the map.