Local business schema generator
Tell search engines your address, phone and hours in the format they read.


With the country code.
As 8:00-17:00. Leave empty if you don't keep set hours.
As 9:00-13:00. Leave empty if closed.
As $, $$ or $$$.
Your Facebook, Instagram or Yelp addresses, separated by spaces.
Paste this into your page's head
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Northside Plumbing",
"url": "https://www.example.com",
"telephone": "+1-937-555-0142",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "118 Linden Avenue",
"addressLocality": "Dayton",
"addressRegion": "OH",
"postalCode": "45403",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "08:00",
"closes": "17:00"
}
]
}
</script>How to use it
Fill in what's true
Pick the closest kind of business and add its facts. Anything left empty stays out of the markup.
Copy the markup
Paste the script tag into the head of your home page, or your contact page.
Test it
Run the page through Google's Rich Results Test to confirm it reads correctly.
What this markup does
Structured data states facts about your business in a form search engines read without guessing: what kind of business it is, where it is, when it's open. It doesn't promise a ranking, and Google decides whether to use it, but it removes doubt about the basics.
Use the most specific kind that fits you. A Plumber or a Dentist says more than a generic LocalBusiness. Keep everything the same as your Google Business Profile, and only mark up what a visitor can also see on the page. Don't mark up hours you don't keep.
If you build on Shingle, your site already carries this data, drawn from the facts you've confirmed. This tool is for everyone else, and for sites you look after elsewhere.
Common questions
Can't find your answer? Read Shingle Help or email [email protected].
It's structured data in a page's code, usually JSON-LD, that tells search engines a business's name, address, phone, hours and kind. Google documents it as LocalBusiness and uses it to understand and sometimes display those details.
Inside the page's head, on the home page or the contact page, whichever carries your address. On a single-location business, one page is enough. On several locations, give each location's page its own block.
Not directly. It helps search engines read your facts correctly and can make you eligible for richer results, but Google makes no promise to use it. Your Business Profile, reviews and the pages themselves matter more.
Yes. Every site built on Shingle carries LocalBusiness data from the facts you've verified, and leaves out what it can't support. Machine-readable hours only appear where you've given structured hours.
Build your first site
Start from a Google listing or a few notes. Demos usually take 5–15 minutes.
7 days for $1, then $49 a month. Cancel any time.




