Published · Updated
LocalBusiness Schema Markup: A Practical Guide for 2026

LocalBusiness schema markup is a block of structured data, usually written as JSON-LD, that tells search engines your business name, address, phone number, hours and other facts in a format machines read without guessing. To add it, pick the most specific business type, fill in the required and recommended properties from what is visibly on the page, paste the code into the page it describes, and test it. This guide walks through each step with a working example, then covers multiple locations, the FAQ markup question and the mistakes we see most often on local service sites.
TL;DR
- LocalBusiness markup describes one business location. Google requires
nameandaddress, and recommendstelephone,geo,url,openingHoursSpecificationandpriceRange. - Use the most specific subtype available (Plumber, Electrician, LegalService and so on) and write it in JSON-LD, the format Google recommends.
- Mark up only what visitors can see on that page, then test it with the Rich Results Test and the Schema Markup Validator.
- Multiple locations need one page and one LocalBusiness node per location, each pointing back to a single Organization node.
- Schema clarifies your facts. It does not replace a clear site, a complete Google Business Profile or consistent listings.
Table of Contents
- What LocalBusiness schema actually does
- Which properties Google asks for
- Choose the most specific type
- A working JSON-LD example
- Where to put it and what to mark up
- How to build and test it
- Multiple locations
- Is FAQ schema still relevant?
- Common mistakes on local service sites
- Perspective: schema is a foundation, not a trick
- Where Picshaw can help
- FAQ
- Sources
What LocalBusiness schema actually does
Schema is a shared vocabulary from schema.org. LocalBusiness is one of its types, and it has dozens of subtypes. When you add it to a page, you hand search engines a labeled summary of the business instead of making them infer it from paragraphs and footers.
Google’s documentation says LocalBusiness structured data can tell Google about business hours, departments within a business and reviews, and may help Search display business information. Note the wording: may help. Markup makes your details easier to read and eligible for certain displays. It is not a ranking switch.
For a home service company, a consulting firm or a small agency in Los Angeles, the practical value is clarity. If your site says “Silver Lake” in one place, “Los Angeles” in another and lists a different phone number in the footer, a clean markup block settles which facts are canonical. That matters more now that AI-powered search tools summarize businesses from whatever structured and unstructured facts they can pull together.

Which properties Google asks for
According to Google’s LocalBusiness guidance, name and address are required. Recommended properties include:
| Property | What it holds | Practical note |
|---|---|---|
name |
Your business name | Match your Google Business Profile exactly |
address |
A PostalAddress with street, city, region, postal code, country | Use the same format everywhere |
telephone |
Main phone number | The number shown on the page |
url |
The page or site URL | The canonical URL of the page |
geo |
Latitude and longitude | Useful for a physical location |
openingHoursSpecification |
Days and opening and closing times | Keep it in step with your visible hours |
priceRange |
A rough price indicator | A short text value such as a dollar-sign range |
Google’s general structured data guidelines add two rules worth remembering: items missing required properties are not eligible for rich results, and the more recommended properties you supply, the higher quality the result is to users.
Separately, Google’s Organization markup page explains that Organization properties help Google understand your organization’s administrative details and disambiguate it in results. For local businesses, it recommends using the most specific LocalBusiness subtype along with relevant Organization fields such as logo, sameAs and url. In plain terms: add your logo and links to your real profiles, like your Google Business Profile, LinkedIn page or Yelp listing, in sameAs.
Choose the most specific type
The first decision is the type. Google recommends the most specific LocalBusiness subtype possible, with examples such as Restaurant, DaySpa and HealthClub. If your business fits more than one type, the same page says you can specify them as an array, for example Electrician, Plumber and Locksmith together.
A few mappings for the businesses we usually work with:
- HVAC, plumbing, electrical, roofing: HVACBusiness, Plumber, Electrician, RoofingContractor, or GeneralContractor.
- Law, accounting, consulting: LegalService, AccountingService, or ProfessionalService.
- Agencies and studios: ProfessionalService is usually the honest fit.
Browse the full list on schema.org before settling. Choosing plain LocalBusiness when a precise subtype exists throws away information you could have given for free.
A working JSON-LD example
Google states that JSON-LD is the recommended format for structured data. It sits in a script block in the page and does not touch your visible design. Here is a template for a fictional Los Angeles plumber. Replace every value with your own, and keep every value consistent with what the page shows.
{
"@context": "https://schema.org",
"@type": "Plumber",
"@id": "https://example.com/#location",
"name": "Example Plumbing Co.",
"url": "https://example.com/",
"telephone": "+1-323-555-0142",
"image": "https://example.com/images/storefront.jpg",
"logo": "https://example.com/images/logo.png",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Example Blvd",
"addressLocality": "Los Angeles",
"addressRegion": "CA",
"postalCode": "90026",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 34.0775,
"longitude": -118.2610
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "17:00"
}
],
"sameAs": [
"https://www.linkedin.com/company/example",
"https://www.yelp.com/biz/example"
]
}
The coordinates and phone number above are placeholders. Pull your real latitude and longitude from your map listing, and use the phone number your customers actually dial.
Service-area businesses without a storefront
Many home service providers travel to customers and have no public shop. Only include a street address if the page shows one. If you serve areas rather than a location, describe the areas on the page itself in plain text, and handle the service-area details in your Google Business Profile. Our guide to Google Business Profile service areas covers that setup.

Where to put it and what to mark up
Google’s guidelines are direct on placement: structured data must be on the page it describes, the content must be visible to readers, and you should not mark up content that is not visible on the page. Violating those guidelines can lead to a manual action.
In practice:
- Single-location business: put the LocalBusiness block on the page that presents the business, normally the homepage or a contact or location page. Keep the details identical to what that page displays.
- Hours: if you tell Google you open at 8:00 and the page says 9:00, fix the page or the markup. Never leave them disagreeing.
- Reviews: don’t mark up testimonials you wrote on your own site as if they were independent ratings. Google’s page notes review markup relates to reviews your site captures about other local businesses, so check the guidance before adding any rating fields.
- Everything else: services you offer, the logo and your social profiles belong on the same page they appear on.
How to build and test it
People search for a “schema markup generator” because writing JSON by hand feels error-prone. A generator or a CMS plugin is fine for the first draft. What counts is what you do after it produces code: read every field, delete anything that is not true or not visible on the page, then test.
Google offers two checks, described on its structured data testing page:
- Rich Results Test: Google’s official tool for seeing which rich results a page can generate.
- Schema Markup Validator: checks any schema.org type without Google-specific rules.
That page notes a page can pass the Schema.org validator and still fail the Rich Results Test, so run both. Test once with pasted code before you publish, then test the live URL afterward. The live check catches blocks a plugin or theme added without telling you, which is how many sites end up with two conflicting LocalBusiness nodes.
A short checklist before you call it done:
- The JSON-LD has no syntax errors, such as a missing comma or a curly quote.
- Business name, address and phone match your Google Business Profile, directories and the page.
- The type is the most specific one that fits.
- There is only one primary LocalBusiness node per location page.
- Nothing is marked up that visitors cannot see.
Errors block eligibility. Warnings usually flag recommended properties you can add when you have the data.
Multiple locations
If you operate from more than one place, the structure changes. The cleanest approach is one dedicated page per location, each with its own LocalBusiness node, its own address, phone number, hours and map link, and a unique @id such as the page URL plus #location. One Organization node represents the brand, and each location points to it with parentOrganization.
A trimmed example for a second location page:
{
"@context": "https://schema.org",
"@type": "Plumber",
"@id": "https://example.com/locations/pasadena/#location",
"name": "Example Plumbing Co. Pasadena",
"url": "https://example.com/locations/pasadena/",
"telephone": "+1-626-555-0188",
"parentOrganization": {
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Example Plumbing Co."
}
}
The common failure is copying the homepage block onto every location page, leaving the same address and phone number in all of them. Each page should describe only its own location. If you are building those pages now, our guides on local landing pages and SEO for multiple locations go through the content that should sit next to the markup.
Is FAQ schema still relevant?
It depends on what you want from it. In August 2023, Google announced it was reducing the visibility of FAQ rich results: they would only be shown for well-known, authoritative government and health websites, and no longer regularly for other sites.
So for a Los Angeles contractor or consultancy, you should not expect the expandable FAQ boxes in Google results. That does not make a visible FAQ section on the page less useful. Clear questions and direct answers help real visitors, and they are exactly the sort of plain, self-contained content that answer engines can quote. Write the FAQ for people. If you add FAQPage markup, make sure it matches the visible questions word for word, per the visibility rule above, and treat any rich-result display as a bonus you should not count on.
Common mistakes on local service sites
- Generic type. Using LocalBusiness when Plumber, Electrician or LegalService exists.
- Stale details. An old phone number or former address in the markup after a move.
- Duplicate blocks. A plugin writes one node, your theme writes another, and a developer pasted a third.
- Hidden facts. Hours or services in the code that appear nowhere on the page.
- Wrong parent. Location pages pointing at the wrong organization.
- Treating it as the whole job. Schema describes what the page already says. If the page itself does not state what you do, where and for whom, markup has little to describe.
That last one is the point most guides skip. A redesign that makes services, areas and contact paths obvious gives your markup something solid to reflect, and keeping rankings through a redesign takes planning so the structured data and the URLs survive the move.
Perspective: schema is a foundation, not a trick
We audit local business sites for AI-search visibility, and the pattern is consistent. The sites that struggle are rarely missing a code snippet. They are missing clarity: a services page that never says which neighborhoods the company serves, a contact page that hides the phone number in an image, two versions of the business name across the web.
Schema is a good way to state your facts once, in a form machines read cleanly. But it can only confirm what the page and your profiles already say. That is why our audits look at structure and content first, then give practical recommendations with clear next steps, rather than a generic report.
If you take one thing from this guide, make the visible page and the markup say exactly the same thing, and make that thing specific. Then keep it current. We work directly with owners on this, and the studio founder is the person you talk to.
Ash
Where Picshaw can help
If you would rather have this handled than hand-coded, we start with an AI Visibility Audit: we review your site structure and content, find what keeps AI-powered search from understanding your business, and give you prioritized next steps, including schema.

When the audit shows the site itself is the obstacle, our website redesign packages address it: Website Refresh is $1,000 one-off, Growth Site starts from $2,500 one-off, and Monthly Partner starts from $500 per month. For ongoing work on listings and local rankings, see our local SEO service. For related reading, our local schema markup guide and Google Business Profile optimization cover the neighboring pieces.
FAQ
What is LocalBusiness schema markup?
It is structured data that describes a local business location to search engines. Google requires a name and an address, and recommends properties such as telephone, geo coordinates, URL, opening hours and price range. It may help search results display your business information accurately.
Do I need a schema markup generator?
Not necessarily. A generator or plugin is a convenient starting point, but you still need to check every field against the visible page. Test the result with the Rich Results Test and the Schema Markup Validator, and check the live URL after publishing.
What is Organization schema, and do I need both?
Organization markup tells Google about your organization’s administrative details, such as logo and official profiles, and helps distinguish you from similarly named businesses. Google recommends a specific LocalBusiness subtype plus relevant Organization fields. Multi-location brands use one Organization node that each location points to.
Does FAQ schema still work?
Google limited FAQ rich results in 2023 to well-known government and health sites, so most businesses will not see them in results. A visible FAQ on your page is still valuable for visitors. Keep any markup identical to the visible text.
Where should the schema go on my site?
Place it on the page it describes. For one location, that is usually the homepage or contact page. For several locations, give each its own page and its own LocalBusiness block.
Sources
- Local Business (LocalBusiness) Structured Data, Google Search Central
- General Structured Data Guidelines, Google Search Central
- Organization Schema Markup, Google Search Central
- Schema Markup Testing Tool, Google Search Central
- Changes to HowTo and FAQ rich results, Google Search Central Blog
- SEO for Website Redesign: Keep Your Rankings and Grow