Local Business Schema Generator
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Acme Coffee Roasters",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Main Street",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62701",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "12:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "13:00",
"closes": "16:00"
}
]
}
</script>
<!-- Created with Elfsight: https://elfsight.com/tools/local-business-schema-generator/ -->Add the street, city and phone — exactly as on your Google Business Profile, so search engines can match them.
- Click Copy code above to copy it.
- Open the page’s HTML file or the template every page uses.
- Paste the code inside
<head>, before the closing</head>. - Save and upload the page.
Use the same name, address and phone everywhere
Your business details appear in three places Google reads: your website, your structured data and your Google Business Profile. When they match exactly, it’s clear they all describe the same business.
Name. Google’s Business Profile guidelines ask for your real-world name, “as used consistently on your storefront, website, stationery.” No extra keywords or city names in the name.
Address. Write it the same way in all three places: same street spelling, unit number and postal code.
Phone. Use the number that reaches this location, with country and area code in the markup, for example
+1-555-010-0100.Website. In
url, link the page for this location, not a generic one, and make sure it loads.
When something changes, like a move, a new number or a new name, update all three on the same day. Markup that disagrees with the visible page breaks Google’s structured data guidelines.
Opening hours: tricky cases
Hours go in openingHoursSpecification, as a list of entries. Each entry has days, an opening time and a closing time (hh:mm). See Google’s guide.
Lunch break. Add two entries for the same days: one for the morning (for example 09:00–13:00) and one for the afternoon (14:00–18:00).
Open 24 hours. Google’s rule:
opens00:00 andcloses23:59.Closed days. Leave regular days off out of your hours. Google’s way to mark a whole day as closed is
opensandclosesboth 00:00.Open past midnight. Use a single entry, for example Saturday 18:00–03:00.
Seasonal hours and holidays. Add an entry with
validFromandvalidThroughdates (YYYY-MM-DD), for example summer hours or a closure over the holidays.
Put your regular hours in your Business Profile too. Google Maps and the business panel show the hours from your profile.
Service-area businesses
If you visit customers instead of having them come to you, like a plumber or a cleaning service, Google’s profile guidelines say to hide your address in your Business Profile and set a service area.
Google’s structured data guide still lists
addressas required. Mark up only the parts you show on your site, such as city, region, postal code and country.List the places you serve in
areaServed: city or region names, or aGeoShape. It’s a schema.org property that Google’s local business guide doesn’t mention, so treat it as extra detail, not a ranking switch.Use one profile and one set of markup for your central base, not one per town you serve.
How to add local business schema
Choose the business type
Pick the closest type; the generic Local business works for anything else.
Match your Google Business Profile
Use the same name, address and phone as on your profile and other listings.
Paste the code
Add it to your home or contact page and test it with Google’s Rich Results Test.