If you run a local business, local business schema markup is one of the highest-value technical changes you can make to your site. It is a small block of code that tells search engines exactly what your business is, where you are, and how to reach you, in a format they read with confidence. This guide is for owners and marketers who want to add valid LocalBusiness structured data themselves and confirm it works, no developer required. You will not write code from scratch - you mainly need to know which details to include and where they go.
What LocalBusiness schema markup does
Schema markup is a shared vocabulary from schema.org that labels the information on your page so a search engine does not have to guess. Google already reads your page, but structured data removes the ambiguity by naming each fact clearly. LocalBusiness is the schema type built for storefront and service-area businesses. When you add it, you hand Google a clean, machine-readable summary of your name, address, phone number, hours, and more. That is exactly what people mean when they talk about "local business structured data."
It helps in a few practical ways:
- It confirms your NAP (name, address, phone) so your core details stay consistent everywhere they appear.
- It can make you eligible for richer search features, like the details some businesses show directly in results.
- It gives AI answers and voice assistants a reliable source for your facts instead of scraped guesses.
Be honest about the limits. Schema on its own is not a ranking guarantee, and results vary with how competitive your area is. It is a supporting signal that works alongside your Google Business Profile, reviews, and links. To see where it sits among everything else, our guide on how ranking signals fit together gives you the bigger picture.
The key properties to include
A useful LocalBusiness block covers the details a customer or a search engine would want. Include these core properties:
- name - your exact business name, matching your storefront and Google Business Profile.
- address - a full PostalAddress: street, city, state or region, postal code, and country.
- geo - GeoCoordinates (latitude and longitude) so your location is pinned precisely.
- telephone - the public phone number in a clear format, including country code.
- url - the canonical web address for the business or that specific location.
- openingHoursSpecification - your hours by day, including special or seasonal hours if they apply.
- sameAs - links to your official profiles (Facebook, Instagram, LinkedIn, Yelp) that confirm you are the same entity.
- image and priceRange - a logo or storefront photo and a rough price band, which some listings display.
If you serve customers at their location rather than yours, add areaServed to describe the cities or regions you cover. Before you generate anything, make sure these details are accurate and match your listings. If you are not sure your information is complete, you can check profile completeness first and fix the gaps before they get baked into your code.
How to generate valid JSON-LD
Google recommends JSON-LD, a format that sits in a single script block and keeps the markup separate from your visible page. It is easier to add and update than older styles like microdata, which weave the labels through your HTML. You have two paths to create it:
- Use a generator. Fill in a form with your name, address, hours, and links, and it outputs ready-to-paste JSON-LD. This is the fastest route and it avoids the syntax errors that trip people up.
- Write it by hand. Start from a schema.org LocalBusiness example, replace the placeholder values, and keep the quotes and commas exact. One missing comma can break the entire block.
Pick the most specific type that fits you, such as Dentist, Plumber, Restaurant, or Attorney, because these inherit from LocalBusiness and describe you more precisely. If none fit, plain LocalBusiness is fine. Keep every value truthful and identical to what appears on the page - marking up information a visitor cannot see goes against Google's guidelines and can get your markup ignored.
Where to paste the code on your site
Place the JSON-LD on the page it actually describes, usually your homepage, contact page, or a dedicated location page. Add it inside the head of the page or just before the closing body tag. Both positions work, so use whichever your platform makes easier:
- WordPress - a schema or SEO plugin, or a "custom code" header and footer box.
- Wix, Squarespace, or Shopify - a custom-code or header-injection setting in the site editor.
- Google Tag Manager - a Custom HTML tag set to fire on the right pages.
If you have more than one location, give each one its own page with its own LocalBusiness block and its own address and coordinates. Do not stack every location into a single block on the homepage, because that confuses which details belong to which place.
How to test and validate it
Never trust markup you have not tested. Run every block through two free checks before and after you publish:
- Rich Results Test - paste your URL or code into Google's tool to confirm it is valid and see which supported features you may qualify for.
- Schema Markup Validator - the schema.org validator flags syntax problems and properties that Google may not use.
Once the page is live, open the URL Inspection tool in Google Search Console and inspect the published address. It shows you the structured data Google actually reads when it crawls the page, which is the version of the truth that matters most. If a dedicated structured-data report appears for your markup, review it for warnings, but do not worry if one never shows up, because not every schema type gets its own report.
Keep your markup current
Schema is not a set-and-forget task. The moment your hours, phone number, address, or business name changes, update the JSON-LD to match, because stale markup that contradicts your live page or your Google Business Profile is worse than none at all. Set a reminder to review it whenever you move, add seasonal hours, or refresh your contact details. A quick re-test in the validator after each edit takes a minute and saves you from shipping a broken block that quietly stops working.
Common mistakes to avoid
- NAP that does not match. Your name, address, and phone in schema must match your website and Google Business Profile character for character.
- Fake or invented reviews. Do not add review or rating markup you cannot back up with real reviews that appear on the page.
- Wrong or missing coordinates. A latitude and longitude copied from the wrong spot sends a confusing location signal.
- Marking up hidden content. Only describe details a visitor can actually see on that page.
Structured data is one piece of a larger local strategy, so treat it as part of the whole rather than a magic fix. Reviewing the 2026 ranking factors will help you decide what to work on next once your schema is clean and validated.
Ready to build yours? Our free schema generator turns your business details into valid, paste-ready JSON-LD in a few minutes, so you can add it, test it, and move on to the rest of your local SEO.
Frequently asked questions
Does local business schema markup improve my rankings?
Not directly, and no honest tool can promise a specific position. Schema helps search engines understand and trust your business details, and it can make you eligible for richer search features. Think of it as a supporting signal that works alongside your Google Business Profile, reviews, and links rather than a ranking button.
Do I need to know how to code to add schema?
No. A generator lets you fill in a simple form and copy the finished JSON-LD, so you never write code from scratch. You do need to paste that block into your site, which most website builders and SEO plugins make easy. If you can edit a page or add a plugin, you can add schema.
Where should I put my LocalBusiness schema?
Put it on the page it describes, usually your homepage, contact page, or a location page. You can place it inside the head of the page or just before the closing body tag, and both work fine. If you have multiple locations, give each one its own page and its own block.
What is the difference between JSON-LD and microdata?
JSON-LD is a single, self-contained script block that keeps the markup separate from your visible content, which makes it easy to add and update. Microdata weaves the labels directly into your HTML tags, so it is harder to maintain. Google recommends JSON-LD, and it is the format most generators produce.
How do I know my schema is working?
Test it with Google's Rich Results Test and the schema.org Markup Validator to catch syntax errors and confirm it is valid. Once the page is live, use the URL Inspection tool in Google Search Console to see the structured data Google actually reads on that page. That live view is the most reliable confirmation that your markup is working.