Practical GEO guide
Local business schema that matches your real business
Describe your locations and services with accurate JSON-LD. Keep every marked fact visible, current, and easy to verify.
By Tin Computer · Published September 5, 2026 · Updated September 5, 2026
Free five-step scan · No card · See it run on your site
Local business schema is structured data that describes a physical business or local service on a webpage. Use the most specific Schema.org LocalBusiness subtype that fits. Add JSON-LD to the page for that location. Include required and useful properties from Google's current documentation. Make every marked fact match visible content, then validate and maintain it.
Structured data gives machines a consistent description of visible facts. It can support eligible search features. It does not guarantee a rich result, a ranking, or an AI citation.
This guide focuses on implementation quality. Start with one real location page. Map its facts carefully. Expand only when each additional location has distinct, useful public information.
How it works
- 01
Choose the page
Put local business markup on the page that represents the business or one specific location.
- 02
Choose the type
Use the most specific truthful LocalBusiness subtype. Use LocalBusiness when no documented subtype fits.
- 03
Map visible facts
Match the name, address, phone, URL, hours, image, price range, and service details shown to visitors.
- 04
Validate the JSON-LD
Check syntax and Google feature eligibility. Fix warnings when the property is relevant and supported.
- 05
Maintain the markup
Update visible content and structured data together when hours, contact details, services, or locations change.
1. Pick the page before the schema type
Use a page that a visitor would trust as the primary source for the location. It should show the business name, address or service area, contact method, hours when relevant, services, and useful location details.
A multi-location business usually needs one useful page per location. Do not create empty doorway pages. Each page should help a customer visit, call, book, or understand that location. The markup must describe that page's location, not every location at once.
2. Choose the narrowest truthful subtype
Schema.org places many business types under LocalBusiness. Examples include Restaurant, Dentist, Store, and ProfessionalService. Choose the most specific type that clearly fits. Use LocalBusiness when a narrower documented type would be misleading.
Type selection rule
A more specific type is useful only when it is true. Do not select a category because it seems more likely to rank.
3. Build the first JSON-LD object
Google recommends JSON-LD when practical. Put a script with type application/ld+json in the page. Start with @context set to https://schema.org and @type set to your chosen business type. Add the properties the page can support.
- name: the same public business name shown on the page.
- address: a PostalAddress with current address parts when applicable.
- telephone: the location's current customer contact number.
- url: the canonical location or business page.
- image: a representative image that visitors can access.
- openingHoursSpecification: current days and opening times.
- priceRange: a truthful visible summary when it helps customers.
Google's required and recommended properties can change by feature. Check the current LocalBusiness documentation while you implement. Do not copy an old template without reviewing the current page and policy.
4. Model hours, departments, and multiple locations carefully
Use openingHoursSpecification for regular hours and documented validFrom or validThrough values for seasonal changes. Follow Google's examples for overnight hours and late closing times. Keep holiday exceptions current where the supported model allows them.
A department can use its own type, name, phone, and hours when customers treat it as a distinct unit. A separate location should use its own page and entity. Do not merge different addresses into one PostalAddress.
5. Connect consistent identifiers
Use the page's canonical URL as its stable public reference. Add sameAs links only for official profiles that represent the same business entity. Do not use sameAs for reviews, news articles, or unrelated directory category pages.
Keep the marked name, address, phone, and URL consistent with visible website details. Also correct the profiles that customers rely on. Consistency reduces ambiguity, but it does not prove quality or guarantee visibility.
6. Validate syntax, eligibility, and page truth
Use Google's Rich Results Test for supported Google features. Use Schema.org's validator for the broader vocabulary. A clean syntax result is only the first check. Review the rendered page and compare every marked property with what a visitor can see.
Local business schema review
Run these checks before release and after every material business change.
- Confirm the page returns a successful indexable response.
- Check the canonical URL and the marked url value.
- Compare the visible and marked name, address, phone, and hours.
- Open every image and sameAs URL.
- Test the JSON-LD with both relevant validators.
- Review Google's current required and recommended properties.
- Check one mobile page render without a login.
7. Understand the AI visibility limit
Local business schema can help systems interpret explicit facts. Google says structured data should match visible content and does not guarantee a search appearance. No primary source in this guide promises an answer-engine citation from schema alone.
Keep the page useful without markup. Explain the services, area, constraints, proof, and next step in readable text. If you need a wider local and AI discovery review, see Tin GEO for small businesses.
Common local business schema mistakes
- Marking facts that do not appear on the public page.
- Using one address object for several different locations.
- Choosing an inaccurate subtype to target a keyword.
- Leaving holiday hours or closed locations unchanged.
- Adding reviews or ratings that the business collected itself.
- Assuming valid markup guarantees a rich result or AI mention.
Primary sources and validators
Google: LocalBusiness structured data
Current implementation guidance, supported properties, business hours, departments, and examples.
Google: structured data policies
Content visibility, relevance, quality rules, and the lack of guaranteed search appearances.
Schema.org: LocalBusiness
The LocalBusiness vocabulary, subtype hierarchy, property definitions, and examples.
Google: Rich Results Test
Validation for structured data that supports Google rich result features.
Schema.org validator
Vocabulary and syntax validation for Schema.org structured data.
Frequently asked questions
- What is local business schema?
- It is structured data that describes a physical business or local service. It uses Schema.org vocabulary in formats such as JSON-LD.
- Where should I add local business schema?
- Add it to the page that represents the business or a specific location. The markup should describe visible content on that page.
- Which LocalBusiness subtype should I use?
- Use the most specific documented type that truthfully fits. Use LocalBusiness when no narrower type clearly applies.
- Should each location have separate schema?
- Use a distinct entity for each real location. A useful location page can carry markup for the location it describes.
- Does local business schema improve rankings?
- Google does not guarantee a ranking or search appearance from structured data. Accurate markup can support understanding and eligible features.
- Does local business schema help AI search?
- It can describe visible business facts in a machine-readable form. No primary source here guarantees an AI citation or recommendation from schema.
- How do I test local business schema?
- Use Google's Rich Results Test for supported features and Schema.org's validator for vocabulary syntax. Also compare every value with the rendered page.
- How often should I update local business schema?
- Update it whenever visible facts change. Common triggers include hours, phone numbers, addresses, services, images, departments, and closures.
