LocalBusiness
LocalBusiness is for any business with a physical location customers can visit: a shop, a restaurant, a clinic, a gym, a hair salon. Google uses this markup to populate its local pack and Maps results, so getting it right has a direct impact on foot traffic.
Don't leave your local listing to a plugin. Plugins tend to emit generic markup that misses the properties Google actually uses. Hand-authored LocalBusiness markup with openingHours in the correct Mo-Fr format, a valid priceRange, a telephone in E.164 format, and a proper nested address will outperform any plugin output.
Full example of schema.org/LocalBusiness json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://xoocode.com/shop/dunmore-1290",
"@type": "LocalBusiness",
"name": "Xoo Code Shop Dunmore",
"description": "Xoo Shop in dunmore sells code and code related products locally in Dunmore, Canada. Xoo Shop Dunmore also ships products to all of Canada, call today for a free quote!",
"url": "https://xoocode.com/shop/dunmore-1290",
"logo": "https://xoocode.com/shop/dunmore-1290/xoo-dunmore-store-logo.png",
"address": {
"@type": "PostalAddress",
"addressLocality": "Dunmore",
"postalCode": "T1B 0K2",
"streetAddress": "355 Eagle Butte Ave"
},
"telephone": "+1-555-072-1210",
"areaServed": {
"@type": "GeoShape",
"addressCountry": "Canada"
},
"branchCode": "1290",
"hasMap": "https://xoocode.com/shop/dunmore-1290/map",
"openingHours": [
"Mo-Fri 10:00-19:00",
"Sa 10:00-18:00",
"Su 10:00-14:00"
],
"priceRange": "$$",
"currenciesAccepted": "CAD",
"paymentAccepted": "Cash, Credit Card",
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "Friday Coding Happy Hours",
"hoursAvailable": "Fri 16:00-21:00",
"value": "10% Discount"
},
"aggregateRating": {
"@type": "AggregateRating",
"@id": "https://xoocode.com/shop/dunmore-1290#rating",
"ratingValue": "4.5",
"reviewCount": "2",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"author": "Dana Crook",
"datePublished": "2017-09-12",
"description": "Beautiful shop, but the code is expensive.",
"name": "I liked it",
"reviewRating": {
"@type": "Rating",
"bestRating": "5",
"ratingValue": "4",
"worstRating": "1"
}
},
{
"@type": "Review",
"author": "Lucas Lovely",
"datePublished": "2017-09-15",
"description": "I loved this store - it met all my code shopping needs. Recommend going here for anyone!",
"name": "I loved it",
"reviewRating": {
"@type": "Rating",
"bestRating": "5",
"ratingValue": "5",
"worstRating": "1"
}
}
],
"photo": "https://xoocode.com/shop/dunmore-1290/xoo-dunmore-store-inside.jpg",
"image": {
"@type": "ImageObject",
"url": "https://xoocode.com/shop/dunmore-1290/xoo-dunmore-store-image.jpg",
"caption": "Xoo store as captured on opening day 2017-08-20",
"representativeOfPage": true,
"uploadDate": "2017-08-20",
"width": "1920px",
"height": "1080px",
"thumbnail": "https://xoocode.com/shop/dunmore-1290/xoo-dunmore-store-thumb.jpg"
},
"smokingAllowed": false,
"mainEntityOfPage": "http://dunmorelocalnews.ca/xoo-shop-opening-this-week",
"sameAs": "https://wikipedia.org/locations/dunmore-xoo-shop",
"subjectOf": {
"@type": "CreativeWork",
"name": "4 shades of Dunmore storefronts"
},
"potentialAction": "Shopping"
}
</script>Rich result preview
Approximate preview of what Google may render from this markup. Hover any element inside the card to see which JSON-LD path produced it. Google decides whether to show any rich result. Markup makes you eligible, not guaranteed.
Xoo Code Shop Dunmore
Minimal valid version
The smallest markup that still produces a valid LocalBusiness entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Xoo Code Shop Dunmore",
"address": {
"@type": "PostalAddress",
"streetAddress": "355 Eagle Butte Ave",
"addressLocality": "Dunmore",
"postalCode": "T1B 0K2",
"addressCountry": "CA"
},
"telephone": "+1-555-072-1210",
"url": "https://xoocode.com/shop/dunmore-1290"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsLocal business listingprimary
Common LocalBusiness mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
priceRange as a word instead of the $/$$/$$$ pattern
Wrong"priceRange": "affordable"Right"priceRange": "$$"Google's Local Business expects priceRange to follow the $ pattern or use a price range like $10-$30. Free-text values validate but won't be surfaced meaningfully in Search or Maps results.
- 02
openingHours using verbose English instead of the short day-time pattern
Wrong"openingHours": "Monday through Friday from 10 AM to 7 PM"Right"openingHours": [ "Mo-Fr 10:00-19:00", "Sa 10:00-18:00", "Su 10:00-14:00" ]schema.org defines a compact opening-hours format: two-letter day codes (Mo, Tu, We, Th, Fr, Sa, Su), ranges with a hyphen, 24-hour times. Google strictly requires this format for the Local Business rich result.
- 03
Missing or telephone without country code
Wrong"telephone": "555-0721-21"Right"telephone": "+1-555-072-1210"Google's Local Business documentation requires telephone in E.164 international format with country code (+1 for US/Canada, +45 for Denmark, etc.). Local-format numbers validate but won't be surfaced correctly in click-to-call.
Schema properties in this example
About the example data
The example is Xoo Code Shop Dunmore, a fictional retail outlet in Alberta that doubles as the engineering office in the Xoo universe. It follows the schema.org/LocalBusiness vocabulary and you'll see it cross-referenced from Product (as the seller of XooTee) and JobPosting (as the job location). It's the second main anchor entity on the site after Organization.
Comments
Loading comments...