# Local business schema markup: a practical guide with an example

> What LocalBusiness schema markup is, which properties Google requires and recommends, a JSON-LD example, service-area and multi-location advice, and how to test it.

- Source: https://nerdsharks.com/blog/local-business-schema-markup
- Publisher: Nerdsharks (Exeter, Devon, UK)
- Updated: 2026-09-26

**Short answer:** Local business schema is structured data, usually written in JSON-LD, that tells search engines your business name, address, phone, opening hours and other details in a machine-readable format. Google requires name and address and recommends properties such as telephone, url, geo and openingHoursSpecification. It must match what is visible on the page and does not guarantee special results.

Published 2026-09-26. 10 min read. Category: Local SEO.

Local business schema markup is a small block of code on your website that describes your business in a format search engines can read without guessing. Humans see your address in the footer; Google sees it too, but structured data states unambiguously that this is the business's address, this is its phone number and these are its opening hours.

It is not a ranking trick, and Google is clear that structured data does not guarantee any particular appearance in search. But it is part of a well-built local website, it reinforces the details on your Business Profile, and it gives search engines and AI systems a clean source of facts about you.

## What Google requires and recommends

Google's documentation for LocalBusiness structured data lists two required properties and a set of recommended ones. At the time of writing:

**LocalBusiness properties in Google's documentation**

| Property | Required or recommended | What to put |
|---|---|---|
| name | Required | Your business name, as on your signage and Business Profile |
| address | Required | A PostalAddress with street, town, postcode and country |
| telephone | Recommended | Your main number, ideally with the country code, such as +44 1392 123456 |
| url | Recommended | The page for this business or location |
| geo | Recommended | Latitude and longitude of the location |
| openingHoursSpecification | Recommended | Days and opening and closing times |
| priceRange | Recommended | A short relative price indicator |
| menu and servesCuisine | Recommended for restaurants | Menu URL and cuisine type |
| department | Recommended where relevant | Separate departments within a location |

> Google says review and aggregateRating markup on LocalBusiness is only recommended for sites that capture reviews about other businesses. Marking up your own reviews about yourself does not produce review stars for your business.

## Choose the most specific type, then write the markup

LocalBusiness is a general type. Schema.org also defines more specific types that inherit from it, such as Dentist, Restaurant, HairSalon, AutoRepair, Plumber, Electrician, LegalService, AccountingService and many more. Use the most specific type that fits, the same way you would choose a specific Business Profile category. If nothing fits, LocalBusiness itself is fine.

Here is a simplified example for a fictional café, in JSON-LD, which is the format Google recommends. It goes inside a script tag of type application/ld+json in the page's HTML, usually on the home page or contact page for a single-location business.

{ "@context": "https://schema.org", "@type": "CafeOrCoffeeShop", "name": "Quayside Coffee", "url": "https://www.quaysidecoffee.co.uk/", "telephone": "+44 1392 000000", "address": { "@type": "PostalAddress", "streetAddress": "12 The Quay", "addressLocality": "Exeter", "postalCode": "EX2 4AN", "addressCountry": "GB" }, "geo": { "@type": "GeoCoordinates", "latitude": 50.71842, "longitude": -3.52878 }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "08:00", "closes": "17:00" } ], "servesCuisine": "Coffee" }

The details are invented for illustration. Replace every value with your own, and make sure each one matches what is visible on the page and on your Business Profile.

## Service-area businesses

Google's LocalBusiness documentation lists address as required, and it does not describe a special approach for service-area businesses. If you do not want your home address in your code, remember that structured data is public: anyone can read it in the page source. Only include address details you are happy to publish.

Many service-area businesses include the town and postcode district without a street address, matching what their website already shows. Schema.org also has an areaServed property to list the places you cover. Google does not list areaServed in its LocalBusiness documentation, so treat it as helpful description rather than something that changes how Google displays you.

## Multiple locations

- Give each location its own page, and put that location's LocalBusiness markup on that page only.
- Use the same brand name in each, with that location's own address, phone, hours and geo coordinates.
- Set url to the location page, and link the location page from its Business Profile.
- For separate departments inside one location, such as a pharmacy inside a larger shop, Google recommends nesting them with department and including the store name in the department name.
- Describe the organisation as a whole, with your logo and social profiles, in separate Organization markup on the home page if you want to.

## Where to add it, and keeping hours current

Most website platforms have a way to add structured data. Some generate LocalBusiness markup automatically from your settings; others use a plugin; on a custom-built site it can be added to the page template so it always matches the details shown in the footer. Whichever route you use, look at the page source afterwards to confirm the markup is actually there and only appears once.

Keep one source of truth. If your hours are typed separately into the footer, the contact page and the markup, one of them will eventually be wrong. The best set-up pulls all three from the same place, so a single change updates everything.

openingHoursSpecification can describe regular weekly hours and, with validFrom and validThrough dates, special hours such as Christmas closures. Keep it simple: mark up your normal hours accurately, and make sure your Business Profile carries the special hours, since that is what most customers see.

If your hours change seasonally, such as a café that closes earlier in winter, update the markup when the visible hours change. Out-of-date markup is worse than none, because it gives search engines a confident but wrong answer.

## Rules that keep markup safe

Google's general structured data guidelines say markup must represent the main content of the page and must not describe content that is invisible to users. It must be accurate and up to date. Markup that is misleading can make a page ineligible for rich results, and in serious cases lead to a manual action.

- Only mark up information that is also visible on the page.
- Keep hours and phone numbers in the markup updated whenever they change.
- Do not add review markup for reviews about your own business.
- Do not mark up locations you do not operate from.
- Copying a generic example and forgetting to change some of the values, so the markup describes a different business.
- Marking up an address or hours that do not match the Business Profile.
- Adding the same markup to every page, including pages for other locations.
- Using review or aggregateRating markup for your own reviews, expecting stars.
- Leaving errors unfixed after a website update changes the template.

## How to test it

- Google's Rich Results Test (search.google.com/test/rich-results) checks whether your markup is valid for Google's features and shows errors and warnings.
- The Schema Markup Validator (validator.schema.org) checks your markup against the full schema.org vocabulary.
- After publishing, use URL Inspection in Search Console to confirm Google can see the page and its structured data.
- Check the Enhancements section in Search Console over time for any new errors.

## What schema will and will not do

LocalBusiness markup helps search engines understand your details reliably and consistently. It will not, on its own, lift you into the map pack; Google's local results are driven by your Business Profile, relevance, distance and prominence. Think of it as tidy paperwork: it removes ambiguity and supports everything else.

Every Nerdsharks website includes LocalBusiness structured data, set up to match your Business Profile and updated when your details change, so you do not have to touch the code yourself.

## Questions

### What is local business schema?

Local business schema is structured data that describes your business's name, address, phone, hours and other details in a machine-readable format, usually JSON-LD. It helps search engines understand those details without ambiguity.

### Does local business schema improve rankings?

Google does not describe structured data as a ranking boost, and says it does not guarantee rich results. It supports accurate understanding of your business, which is useful groundwork rather than a shortcut.

### Which properties does Google require for LocalBusiness?

Google requires name and address for LocalBusiness structured data. It recommends telephone, url, geo, openingHoursSpecification and priceRange, plus menu and servesCuisine for restaurants.

### Can I add review stars with LocalBusiness schema?

Not for reviews about your own business; Google says review markup on LocalBusiness is only recommended for sites that capture reviews about other businesses. Self-serving review markup does not produce stars for your own listing.

### How do I test my schema markup?

Use Google's Rich Results Test to check eligibility for Google's features and the Schema Markup Validator to check against schema.org. After publishing, confirm Google can see it with URL Inspection in Search Console.

## Sources

- Local business (LocalBusiness) structured data, Google Search Central, 2026: https://developers.google.com/search/docs/appearance/structured-data/local-business
- General structured data guidelines, Google Search Central, 2026: https://developers.google.com/search/docs/appearance/structured-data/sd-policies
- Tips to improve your local ranking on Google, Google Business Profile Help, 2026: https://support.google.com/business/answer/7091
- URL Inspection tool, Search Console Help, 2026: https://support.google.com/webmasters/answer/9012289
