The LocalBusiness type describes a business with a physical location that customers can visit. It is a subtype of both Organization and Place, which means it inherits properties from both — you can specify organizational details like contact information and name alongside geographic details like address, coordinates, and opening hours. Google uses LocalBusiness markup to power local search results, map listings, and knowledge panels.
When to Use This
Use LocalBusiness when a business has a physical storefront, office, or service location where customers interact in person. This includes restaurants, retail stores, medical offices, salons, repair shops, and any other walk-in establishment.
Choose a more specific subtype when possible:
Restaurantfor restaurants and cafesMedicalBusinessfor clinics and healthcare providersLegalServicefor law firmsFinancialServicefor banks and financial advisorsAutoRepair,Dentist,RealEstateAgent, etc.
Google recognizes over 100 specific subtypes of LocalBusiness. Using the most specific applicable type gives search engines better context about what you do.
Do not use LocalBusiness if:
- The business operates exclusively online with no physical location — use Organization instead
- You are describing a large corporation’s headquarters that is not customer-facing — use Organization instead
- The location is an event venue without an associated business — use
Place
Required Properties
| Property | Type | Description |
|---|---|---|
@type | Text | Must be "LocalBusiness" or a more specific subtype (e.g., "Restaurant", "Dentist"). |
name | Text | The business name as customers know it. Must match the name on your storefront and Google Business Profile. |
address | PostalAddress | The full street address of the business. Use a PostalAddress object with streetAddress, addressLocality, addressRegion, postalCode, and addressCountry. |
telephone | Text | The primary phone number in international format (e.g., +1-555-123-4567). |
Recommended Properties
| Property | Type | Description |
|---|---|---|
openingHoursSpecification | OpeningHoursSpecification | Structured hours of operation. Define dayOfWeek, opens, and closes for each day. More precise than the deprecated openingHours text field. |
geo | GeoCoordinates | Latitude and longitude of the business location. Helps with map placement and “near me” searches. |
priceRange | Text | A price range indicator, typically $, $$, $$$, or $$$$. Helps users gauge affordability. |
image | URL or ImageObject | Photos of the business exterior, interior, or products. Multiple images are recommended. |
url | URL | The canonical URL of the business’s website or location page. |
servesCuisine | Text | The type of cuisine served (restaurants only). |
menu | URL | A link to the menu (restaurants only). |
acceptsReservations | Boolean or URL | Whether the business accepts reservations, or a URL to a reservation page. |
sameAs | URL (array) | Links to social media profiles and directory listings. |
aggregateRating | AggregateRating | Overall customer rating based on reviews. |
review | Review | Individual customer reviews. |
hasMap | URL | A link to a map showing the business location (e.g., a Google Maps link). |
paymentAccepted | Text | Payment methods accepted (e.g., “Cash, Credit Card, Apple Pay”). |
currenciesAccepted | Text | Currencies accepted (e.g., “USD”). |
JSON-LD Example
A complete LocalBusiness markup for a restaurant:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "The Copper Skillet",
"description": "Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.",
"image": [
"https://www.copperskillet.com/images/exterior.jpg",
"https://www.copperskillet.com/images/dining-room.jpg",
"https://www.copperskillet.com/images/signature-dish.jpg"
],
"url": "https://www.copperskillet.com",
"telephone": "+1-503-555-0142",
"priceRange": "$$$",
"servesCuisine": ["American", "Farm-to-Table"],
"menu": "https://www.copperskillet.com/menu",
"acceptsReservations": "https://www.copperskillet.com/reservations",
"address": {
"@type": "PostalAddress",
"streetAddress": "742 Evergreen Avenue",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.5152,
"longitude": -122.6784
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "11:00",
"closes": "21:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Friday", "Saturday"],
"opens": "11:00",
"closes": "23:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "10:00",
"closes": "20:00"
}
],
"paymentAccepted": "Cash, Credit Card, Apple Pay, Google Pay",
"currenciesAccepted": "USD",
"sameAs": [
"https://www.instagram.com/copperskillet",
"https://www.facebook.com/copperskillet",
"https://www.yelp.com/biz/the-copper-skillet-portland"
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.4",
"bestRating": "5",
"reviewCount": "312"
},
"review": {
"@type": "Review",
"author": {
"@type": "Person",
"name": "Alex Moreno"
},
"datePublished": "2026-02-10",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Outstanding seasonal menu. The roasted beet salad and pan-seared trout were both excellent. Reservations recommended on weekends."
}
}
The same LocalBusiness marked up with Microdata:
<div itemscope itemtype="https://schema.org/Restaurant">
<h1 itemprop="name">The Copper Skillet</h1>
<p itemprop="description">Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.</p>
<img itemprop="image" src="https://www.copperskillet.com/images/exterior.jpg" alt="The Copper Skillet exterior" />
<a itemprop="url" href="https://www.copperskillet.com">copperskillet.com</a>
<span itemprop="telephone">+1-503-555-0142</span>
<span itemprop="priceRange">$$$</span>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">742 Evergreen Avenue</span>,
<span itemprop="addressLocality">Portland</span>,
<span itemprop="addressRegion">OR</span>
<span itemprop="postalCode">97201</span>,
<span itemprop="addressCountry">US</span>
</div>
<div itemprop="geo" itemscope itemtype="https://schema.org/GeoCoordinates">
<meta itemprop="latitude" content="45.5152" />
<meta itemprop="longitude" content="-122.6784" />
</div>
<div itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
<link itemprop="dayOfWeek" href="https://schema.org/Monday" />
<link itemprop="dayOfWeek" href="https://schema.org/Tuesday" />
<link itemprop="dayOfWeek" href="https://schema.org/Wednesday" />
<link itemprop="dayOfWeek" href="https://schema.org/Thursday" />
<meta itemprop="opens" content="11:00" />
<meta itemprop="closes" content="21:00" />
</div>
</div>
The same LocalBusiness marked up with RDFa:
<div vocab="https://schema.org/" typeof="Restaurant">
<h1 property="name">The Copper Skillet</h1>
<p property="description">Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.</p>
<img property="image" src="https://www.copperskillet.com/images/exterior.jpg" alt="The Copper Skillet exterior" />
<a property="url" href="https://www.copperskillet.com">copperskillet.com</a>
<span property="telephone">+1-503-555-0142</span>
<span property="priceRange">$$$</span>
<div property="address" typeof="PostalAddress">
<span property="streetAddress">742 Evergreen Avenue</span>,
<span property="addressLocality">Portland</span>,
<span property="addressRegion">OR</span>
<span property="postalCode">97201</span>,
<span property="addressCountry">US</span>
</div>
<div property="geo" typeof="GeoCoordinates">
<meta property="latitude" content="45.5152" />
<meta property="longitude" content="-122.6784" />
</div>
</div>
Common Mistakes
- Using
Organizationinstead ofLocalBusiness. If customers visit your physical location, always useLocalBusinessor a more specific subtype. You miss out on local search features otherwise. - Inconsistent NAP data. Name, Address, and Phone number must match exactly across your structured data, Google Business Profile, and directory listings. Even small differences (e.g., “St.” vs “Street”) can hurt local SEO.
- Using the plain-text
openingHoursproperty. TheopeningHoursshorthand (e.g.,"Mo-Fr 09:00-17:00") is less precise and harder for machines to parse. UseopeningHoursSpecificationwith structureddayOfWeek,opens, andclosesfields. - Missing
geocoordinates. Without latitude and longitude, search engines must geocode your address, which can introduce errors. Always provide explicit coordinates. - Not using a specific subtype.
LocalBusinessis a catch-all. If a more specific type exists (and it usually does), use it. Search engines can provide richer features for recognized subtypes. - Marking up multiple locations in a single block. Each physical location needs its own separate LocalBusiness markup. Do not nest multiple addresses under one entity.
- Omitting
priceRange. While not required, this simple field helps users and search engines understand your positioning at a glance. - Incorrect time format in opening hours. Use 24-hour
HH:MMformat (e.g.,"09:00","21:00"). Do not use AM/PM notation.
Testing & Validation
- Google Rich Results Test — Paste your page URL at search.google.com/test/rich-results. Check for the Local Business result type.
- Schema.org Validator — Use validator.schema.org to verify JSON-LD syntax and property validity.
- Google Business Profile — Ensure the data in your structured markup matches your Google Business Profile exactly. Inconsistencies can prevent rich results.
- Google Search Console — Check the “Local Business” section under Enhancements for errors and warnings.
- Map verification — Plug your
geocoordinates into Google Maps to confirm they point to the correct location. Transposed or truncated coordinates are a common error. - NAP consistency audit — Compare your structured data’s name, address, and phone number against your Google Business Profile, Yelp, Facebook, and any other directory listings. They must match.
Related Schemas
- Organization — The parent type. Use this if the business has no customer-facing physical location.
- PostalAddress — The structured address format used within LocalBusiness.
- Place — The geographic parent type that provides location-related properties.