Local Business Schema Markup: The Practical Guide

Local business schema won't lift rankings on its own. It makes your NAP, hours and geo machine-readable so Google matches your site to your entity. Template inside.

R
Rohit Verma
Technical SEO and content lead; focuses on keyword research, on-page and AI search (GEO).
Published 29 May 2026·7 min read

What local business schema actually does

Local business schema is a block of JSON-LD structured data on your page that tells search engines, in a format they parse without guessing, exactly who your business is: its name, street address, phone, opening hours, geo-coordinates and services. Its job is disambiguation, not ranking. When Google reads your NAP (name, address, phone) as data rather than scraping it from a footer, it connects your site to your business entity and your Google Business Profile with far more confidence, which lowers the risk of a quiet mismatch holding you back.

That distinction matters because the most common myth in local SEO is that pasting schema onto a page moves you up the results. It does not. Google's documentation on local business structured data frames the purpose as helping Google understand and surface your information, and it warns that Google does not even guarantee a rich result will appear. If you want the levers that actually move positions, that is the job of the broader local SEO discipline. Schema is the part that makes sure Google trusts the information it already has.

Why disambiguation beats a "ranking boost"

Consider what Google reconciles for one dentist in Pune. There is the website, the Google Business Profile, a dozen directory listings, mentions in local press, and an internal entity in Google's knowledge graph. Each carries a version of the name, address and phone. When those versions disagree, even over a suite number or "St" versus "Street", Google decides which to trust, and uncertainty never works in your favour.

Structured data collapses that uncertainty. You hand Google a canonical, machine-readable statement of fact from the source it trusts most: your own site. This is why schema pairs so tightly with NAP consistency across local citations and a fully completed Google Business Profile. Schema states the truth on your site; citations and your profile echo it everywhere else. When all three agree, Google stops hedging. Schema.org itself was launched in 2011 as a shared vocabulary by Google, Bing and Yahoo precisely so engines could read this kind of entity data the same way, as the original Search Central announcement records.

Google is stricter than most guides admit. For local business markup it requires only two properties: name and address. Everything else is recommended, but skip the recommended ones and you weaken the entity picture you are trying to build. The @type below is the schema mechanism that declares what kind of thing you are describing; it is not optional in practice, since without it the block is not a business at all.

Property Status What it holds
@type Needed to declare the entity The business category (LocalBusiness or a subtype)
name Required by Google Exact business name, matching your profile
address Required by Google Full PostalAddress: street, city, region, postcode, country
image Recommended Logo or storefront photo URL
telephone Recommended Public phone number in international format
url Recommended Canonical homepage URL
openingHoursSpecification Recommended Structured hours per day
geo Recommended Latitude and longitude
priceRange Recommended Rough pricing band, e.g. ₹₹ or $$
sameAs Recommended Links to your profiles (Facebook, GBP, etc.)

The geo coordinates deserve attention if maps visibility matters. Accurate latitude and longitude in your local business structured data reinforce your location, which feeds into how you rank in Google Maps and appear for near-me searches.

Pick the most specific @type

LocalBusiness is the parent type. Schema.org defines dozens of subtypes under it, and Google prefers the most specific one that fits. A dentist should use Dentist, a restaurant Restaurant, a law firm Attorney or LegalService, a plumber Plumber. The subtype inherits every LocalBusiness property, so you lose nothing and gain precision.

Common subtypes worth knowing:

  • Dentist, MedicalClinic, Physician for healthcare
  • Restaurant, CafeOrCoffeeShop, Bakery for food
  • Attorney, LegalService for law
  • Plumber, Electrician, HVACBusiness, HomeAndConstructionBusiness for trades
  • HairSalon, BeautySalon, DaySpa for personal care
  • AutoRepair, AutoDealer for automotive

If nothing fits precisely, fall back to LocalBusiness. Do not invent a type absent from the Schema.org LocalBusiness hierarchy, because Google ignores types it does not recognise.

A copy-pasteable JSON-LD template

Drop this in the head or body of the relevant page (your homepage or a location page), swap in your real data, and use the correct subtype. This is a local business schema example for a dentist; change "Dentist" to your own type.

Fields to fill: @type (your subtype), name, image, url, telephone, PostalAddress parts, geo latitude and longitude, openingHoursSpecification, priceRange, and every sameAs profile URL you control.

The structure nests a PostalAddress object inside address, a GeoCoordinates object inside geo, and one or more OpeningHoursSpecification entries listing dayOfWeek plus opens and closes times in 24-hour format. Wrap the whole thing in a script tag of type application/ld+json. Google's guide shows the exact syntax, and casing is unforgiving: openingHoursSpecification with a lowercase second word is silently dropped.

Two rules that trip people up. First, the name, address and phone in your NAP schema markup must match your Google Business Profile character for character. Second, put the markup on the page a human would actually land on for that location. For a multi-location business, each location page gets its own block with its own address and geo, which is the backbone of multi-location SEO.

How to validate before you ship

Never trust hand-written JSON-LD. Two free tools catch almost every error:

  1. Google's Rich Results Test tells you whether your markup is eligible for rich results and flags missing required properties. Paste the URL or the raw code.
  2. The Schema Markup Validator checks your syntax against the full Schema.org vocabulary, which catches typos in property names that Google's tool ignores.

After it passes, deploy, then request indexing in Google Search Console and watch the enhancement reports. Validation confirms the code is correct; Search Console confirms Google read it on the live page. If you audit at scale, the site audit in DeployFlare flags pages where structured data is missing or broken across a whole site instead of one URL at a time.

LocalBusiness vs. Organization schema

People often ask which to use. They are not competitors. Organization is the broad type for any company; LocalBusiness is a subtype for businesses customers physically visit or that serve a defined area. If you have a storefront or service area, use LocalBusiness (or a subtype), because it carries location-specific properties Organization lacks: openingHoursSpecification, geo and priceRange. A national brand with no single storefront leans on Organization. Many local businesses reasonably use LocalBusiness on location pages and Organization site-wide for logo and brand identity. Both must obey Google's structured data policies: mark up only content visible on the page, and never fabricate reviews or ratings.

Where schema fits in the bigger picture

Schema earns its keep by making your site trustworthy to parse, but it is one input among many. The ranking work comes from reviews, links and consistent data. Pair your markup with a steady flow of Google reviews, a foundation of local link building, and disciplined local keyword research so the pages you mark up target the terms customers actually search. To see which of those terms you already rank for and where the gaps are, a rank tracker built for city-level and vernacular results reports local and language-specific SERPs (Hindi, Tamil, Marathi and more) that generic global tools tend to flatten.

Add the schema, validate it, keep your NAP identical everywhere, and let it do its quiet job: making sure that when Google decides who you are, it decides correctly.

Frequently asked questions

What is local business schema markup?

It is structured data, usually written in JSON-LD, that you add to a web page to describe your business in a machine-readable way: name, address, phone, opening hours, geo-coordinates, price range and services. It helps Google understand and confidently connect your site to your business entity and Google Business Profile, rather than guessing that information from your page text.

Does schema markup help local SEO?

Indirectly. Schema does not directly raise your rankings, and Google does not treat it as a ranking signal. What it does is disambiguate your business so Google can trust your NAP and match your site to your listing and knowledge-graph entity. That reduced mismatch risk supports your visibility, but reviews, citations, links and content do the actual ranking work.

What properties does Google require for local business schema?

Google requires only two properties for local business structured data: name and address, with address given as a full PostalAddress object. Everything else, including telephone, url, openingHoursSpecification, geo and priceRange, is recommended rather than required. The recommended fields still matter, because they build a stronger, less ambiguous entity picture for Google to trust.

What is the difference between LocalBusiness and Organization schema?

Organization is the general type for any company. LocalBusiness is a subtype for businesses with a physical location or defined service area, and it carries location-specific properties Organization lacks, such as openingHoursSpecification, geo and priceRange. Local businesses often use LocalBusiness on location pages and Organization site-wide. They complement each other rather than compete.

How do I test structured data?

Use Google's Rich Results Test to check eligibility for rich results and catch missing required properties, and the Schema Markup Validator at validator.schema.org to verify your syntax against the full Schema.org vocabulary. After the page passes, deploy it and confirm in Google Search Console that Google actually read the markup on the live URL.

Keep reading