Schema Markup for Local Businesses, Made Simple

Before we dive into the schema for local businesses, I want to make sure you understand what a “local business” is. Basically, it’s a business that is eligible for a Google Business Profile. You want to show up in “near me” searches, and that’s really only relevant if you have a physical location or a service area where you work with clients in person. If your business is entirely online, with no physical location or in-person service area, most of this post won’t apply to you. You’ll want Organization schema instead, which I cover in the beginner’s guide. After you get that set up, you can move on to Service and Product schema markup.

If schema markup is brand new to you, start with What Is Schema Markup? A Beginner’s Guide, which explains the basics in plain English. This post assumes you’ve got those down and focuses on getting the right schema in place for local businesses.

We’ll walk through how to choose the correct type for your business, the schema every local business should have, and where it all goes on your site. No code, no jargon, and nothing you can’t handle yourself in an afternoon.

Why Schema Markup Matters for Your Local Business

Here’s the short version, and the beginner’s guide has the full one. Schema markup probably isn’t a direct ranking factor, so it won’t single-handedly push you up the results. What it does is help search engines and AI tools understand your business well enough to surface you with confidence, and it can make you eligible for richer, more clickable search listings.

For local businesses, there’s real evidence that this pays off. A recent study showed that the LocalBusiness schema didn’t move Google rankings but did improve how often ChatGPT recommended the business. So when a wrong or missing schema is the reason you’re getting overlooked, it isn’t tanking your ranking. It’s that search engines and AI may not understand you well enough to put you forward.

Also, depending on the types of content you have on your website, the rich results Google shows for some schema types could make a huge difference in your visibility on the search engine results page. For example, if you host in-person events, using the Event schema can get you more clicks when they show up in rich results. Eventbrite saw a 100% increase in traffic when they started using Event schema!

LocalBusiness Schema Markup

Most local businesses can start by adding LocalBusiness schema markup to their website. This is the foundation that describes your business: your name, address, phone number, hours, the areas you serve, your social profiles, your logo, and more. 

The tricky part is that there are also more-specific “subtypes” for LocalBusiness, such as AutoRepair and LegalService, and you should use the most specific subtype that is both accurate for your business and an actual subtype on schema.org. Google says the same thing in its documentation, recommending you use the most specific subtype available.

For many businesses, this is easy. A dentist uses Dentist. A plumber uses Plumber. A hair or nail salon uses BeautySalon. You pick the subtype that matches what you do, and you’re done.

Here’s where it gets tricky, and it’s a mix-up I’ve had to clean up a few times. There’s a subtype called MedicalBusiness, and it sounds like the natural fit for anyone in health or wellness. But MedicalBusiness is meant for licensed medical providers running a medical practice. Take a therapist: a counselor who isn’t medically licensed isn’t a medical business, even though the word “therapist” lives in the same neighborhood. If a business tags that practice as MedicalBusiness, it misrepresents the business, which could cause a credibility issue, so you want to avoid that.

If you can’t find a specific subtype that accurately describes you, the broad LocalBusiness type is always safe. (You can see the full menu of subtype options on the schema.org LocalBusiness page, and the MedicalBusiness definition if you want to check whether it really applies to you.)

Another thing that can make the LocalBusiness schema complicated is multiple locations. In fact, that’s complicated enough that we’re just not going to cover it in this post. I wrote a follow-up that gets into it.

Create Your LocalBusiness Schema Markup

Once you know your type or subtype, it’s time to create your LocalBusiness schema markup. Google has a Structured Data Markup Helper tool you can use to do this, but it doesn’t automatically include specific subtypes. This tool should generate valid schema markup, but it’s always a good idea to double-check it with the Schema.org Markup Validator before adding it to your website.

Another option is to use ChatGPT, Claude, or another AI tool to generate the code for you. Paste the prompt below into your favorite AI tool, drop in your website address in the placeholder, and let it do the heavy lifting. It should read your website, confirm the right business subtype with you, ask about anything it can’t find, and refuse to make up details it doesn’t have.

You are an SEO specialist who writes valid schema.org structured data as JSON-LD for local businesses.

I want LocalBusiness schema markup for my business that I can paste into my homepage, contact page, and about page. My website is: [YOUR WEBSITE URL]

Work in this order:

Step 1: Review my website (homepage, about, contact, and services pages) and gather every detail that belongs in the schema: business name, address, phone, email, hours, social media links, online booking link, logo, and the areas I serve. If you cannot open my website, tell me and I will paste in those pages.

Step 2: Before writing any code, show me what you found and ask me for anything missing or unconfirmed. Always ask:

  - What kind of business I run, so you can choose the most specific schema type that truly applies.

  - To confirm my business name matches my Google Business Profile exactly.

Step 3: After I reply, generate the schema markup using these rules:

  - Use the most specific business type that genuinely and accurately describes my business and is a real schema.org type. Only use a specific type if it truly applies to me. Some types have eligibility rules (for example, MedicalBusiness is only for licensed medical or healthcare providers), so do not pick a type just because it sounds close. If no specific type accurately fits, use the general LocalBusiness type. Do not use ProfessionalService, it is deprecated. Confirm the type exists before you use it.

  - Give the business a stable @id using my domain plus "#business" (for example, https://yourbusiness.com/#business). Keep this the same everywhere.

  - Include these properties wherever I have real information for them: name, description, url, telephone, email, address, geo coordinates, opening hours (only the days I am open), areaServed, priceRange, logo, image, and sameAs (my social links). Add a booking action if I gave you a booking link.

  - Never guess, invent, or use placeholder values. Leave out anything I did not provide.

  - Output the schema as valid JSON-LD in one <script type="application/ld+json"> block.

  - After the code, list anything you left out and anything I should double-check before publishing.

After you get the result, validate the code in the Schema.org Markup Validator before adding it to your website. More on how to do that a bit later.

Where the Schema Goes on Your Site

This is the other place people trip up, and it’s changed enough that even some current advice is out of date.

Your LocalBusiness schema markup goes on the pages that are actually about your business: your homepage, your contact (or location) page, and your about page. Use the exact same block on all three, so search engines understand it’s one business, not three different listings. You do not need it on every page of your site.

As for getting the code onto your site, it depends on your website builder. Check the documentation for how to add code to the “head” of specific pages so you don’t accidentally add each block of code to the whole website. If you’re on WordPress, an SEO plugin, or your theme settings should have a spot to paste schema markup into the page head. 

Validate Before You Publish

Once you’ve got your code, check it before it goes live. Two free tools do this. Run each block through the Schema.org validator. Fix anything flagged as an error. A few warnings are usually fine, but errors mean something’s actually broken.

After you publish, run the Schema.org validator on the whole page. You can also test the live page with Google’s Rich Results Test. If you have Google Search Console set up, keep an eye on that after you publish, as it will also see the same Rich Results. That’s it. No ongoing babysitting required, but if your business info changes, the related schema markup should also change.

Your Next Small Step

Getting this right shouldn’t take more than about an hour. Pick the LocalBusiness type or subtype that’s actually accurate, get the markup, put it on the pages that describe your business, and validate the whole thing. From there, you’ve handed the search engines and AI tools a clear, trustworthy picture of who you are. Selling services or products? Once your LocalBusiness schema is in place, mark up those pages too, walked through in How to Add Service and Product Schema Markup.

You can start with the very first step this week. Run the LocalBusiness prompt, answer its questions, and validate what it gives you. That alone puts you ahead of most of your competitors, who either skipped schema entirely or got the type wrong and never knew.

If you’d like a guided path through the rest of your SEO with people who’ll cheer you on when you get stuck, come join us in the SEO Success Club. You’ve got this!