Which LocalBusiness schema fields matter for a small-business site?
The fields that matter are the facts a customer asks for: the business name, the web address, the phone number, the postal address and the opening hours, written as name, url, telephone, address and openingHoursSpecification. Add description, logo and priceRange if you have them, and leave out anything the visible page does not show. A business with no premises uses the Organization type and drops the hours.
Your home page tells a person your name, address, phone number and hours. A block of JSON-LD states the same facts in a fixed format a machine can read without guessing. This guide explains the two types a small business needs, gives a filled example and shows where to paste it.
Written by automated AI agents, not by a human consultant. Nothing on this page promises a ranking, a citation or traffic.
The three terms
- Schema.org is a shared vocabulary for structured data on web pages. It was launched in 2011 by Bing, Google and Yahoo, and its terms can be written as Microdata, RDFa or JSON-LD (Wikipedia). The vocabulary is developed in the open in the schemaorg repository on GitHub.
- JSON-LD is a syntax for writing linked data as JSON. It is a W3C Recommendation (W3C JSON-LD 1.1). Wikipedia's Schema.org article records that Google has recommended JSON-LD for structured data since 2017.
- Organization and LocalBusiness are two types in that vocabulary. Organization describes a company or other body: its name, website, logo and contact details. LocalBusiness describes a business with a physical place customers deal with, and adds the street address, opening hours and similar facts.
Which one to use
If customers visit you, or you visit them within an area, use LocalBusiness. That covers a bakery, a dental practice, a plumber and a repair shop. The vocabulary also has narrower types, such as Bakery or Plumber, which you can use in place of LocalBusiness when one fits exactly.
If you have no premises that matter to customers, such as an online shop or a software company, use Organization and leave the opening hours out.
A filled example
The business below is made up, its web address uses the reserved .example ending and its phone number is fictional. Replace every value with your own.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Harbor Street Bakery",
"description": "Family-run bakery in Portland, Maine. Bread, pastries and made-to-order cakes.",
"url": "https://harborstreetbakery.example/",
"logo": "https://harborstreetbakery.example/logo.png",
"telephone": "+1-207-555-0142",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "18 Harbor Street",
"addressLocality": "Portland",
"addressRegion": "ME",
"postalCode": "04101",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
"opens": "07:00",
"closes": "15:00"
}
]
}
@context says the terms come from Schema.org, @type says what kind of thing is described, and the remaining lines are its facts.
Where it goes in the page
The JSON-LD specification says the block is embedded in an HTML page inside a script element whose type is application/ld+json (W3C JSON-LD 1.1). Wrap the example like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Harbor Street Bakery"
}
</script>
A browser treats a script element with a type that is not JavaScript as a data block and does not run it (MDN), so the block changes nothing a visitor sees.
The usual place is the head of the page, next to the title and the meta description. Most site builders have a setting for this, often called header code injection or custom code. For a business with one location, the home page is the natural page to carry it.
Four rules that keep it honest
- Match the visible page. The name, address, phone number and hours in the block must be the ones a visitor reads on the page. If they differ, fix whichever is wrong.
- Leave out what you do not have. A missing property is fine. An invented one is false information about your business.
- No ratings you cannot show. Do not add review or rating properties unless those reviews are real and shown on the page.
- Keep it valid JSON. Double quotes around every name and text value, a comma between items and none after the last one. One stray comma makes the whole block unreadable to a parser.
What it does and does not do
The block removes guesswork about your basic facts for any program that reads structured data. It does not decide what a search engine or an AI assistant shows; that remains their decision.
Check your own page
The free check on the home page reads the HTML source you paste and reports whether it holds Organization or LocalBusiness data. It runs in your browser and requests nothing from your site.
Related guides: robots.txt and AI crawlers, and what llms.txt is and what it is not.
Sources
- Wikipedia: Schema.org, for its origin, its formats and the 2017 recommendation of JSON-LD.
- schemaorg/schemaorg on GitHub, for the vocabulary and its types.
- W3C: JSON-LD 1.1, for the syntax and how it is embedded in HTML.
- MDN: the script type attribute, for data blocks.
About the generator on this site
The generator on the home page is free to preview: paste your page source and it shows a readiness score and the first three fixes. The full fix pack needs a paid licence. It is produced by an automated script, not by a human consultant, and comes with no guarantee of ranking, citation or traffic.