New Announcing Reports Library
Local SEO Google Business Profile Multi-Location

Local Business Schema for Multiple Locations

Learn how to add local business schema for multiple locations with JSON-LD examples, location page guidance, validation steps, and clean GBP data workflows.

Katerina Bojkov
View as Markdown
Local Business Schema for Multiple Locations
Katerina Bojkov

Katerina Bojkov

Localith

Add Localith as a preferred source on Google

If you manage more than one business location, local business schema can either clarify your local footprint or quietly create more confusion. I have seen both happen.

The useful version is simple: every real location gets accurate LocalBusiness schema on the page that represents that location.

The parent brand gets Organization or WebSite schema where it belongs, the two are connected cleanly, and the details match what customers and Google already see in your Google Business Profile, website, and citations.

The messy version is also common: one block of local business schema copied across every page, old phone numbers still sitting in JSON-LD, review markup added where it should not be, and a homepage trying to describe every branch at once.

So, I will show you how I would structure local business schema for multiple locations, which schema types matter, where to place them, and how to keep the data accurate at scale.

Localith review management dashboard

Manage Google reviews for all your locations from one dashboard. Centralize replies, automate with AI, and track review trends across every branch.

Start free trial

What is local business schema?

Local business schema is structured data markup code that describes a business location in a format search engines can read. For local SEO, the standardized vocabulary comes from Schema.org, and the implementation format is JSON-LD.

In plain English, local business schema tells search engines:

For a single-location business, the setup is usually straightforward.

For a multi-location business, the important part is separation. Each branch needs its own location page and its own location-specific schema.

The parent brand should not be treated as if it lives at every address, and every branch should not inherit the same generic markup.

The keyword to remember is accuracy.

Local business schema does not replace your website content, Google Business Profile, or citations. It reinforces them when they all say the same thing. If you already manage multiple Google Business Profiles, schema is what carries that same accuracy over into search.

What kinds of local business schema markup can you use?

There is no single schema type that solves every local SEO problem.

In practice, business owners can use a small set of schema types together, depending on the business model, site structure, and location page content:

LocalBusiness schema

LocalBusiness is the core schema type for a physical business location or a local service business. If there is a real branch, office, clinic, restaurant, store, showroom, or service-area location, this is usually the base type.

When possible, choose a more specific subtype instead of stopping at LocalBusiness. A restaurant chain can use Restaurant. A dental group can use Dentist. A hotel brand can use Hotel. The more specific, the better search engines understand your location(s).

Here is a sample of this schema type:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "@id": "https://example.com/locations/austin/#localbusiness",
  "name": "Example Pizza (Austin)",
  "url": "https://example.com/locations/austin/",
  "telephone": "+1-512-555-0198",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1200 Congress Ave",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  }
}

Organization schema

Organization schema describes the parent entity: the company, franchise brand, group, agency, or corporate owner. You usually place this on the homepage or about page, then connect individual locations back to it using stable @id values.

Here is a sample of this schema type:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example Pizza",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png"
}

Local business vs organization schema

Use Organization schema for the brand.

Use LocalBusiness schema for each real-world location.

The distinction matters because the homepage usually represents the company as a whole, while a location page represents one branch with one address, one phone number, one set of hours, and one local URL.

NoteIf you put LocalBusiness schema for every branch on the homepage, you can make the page harder to interpret. If you put only Organization schema on every location page, you miss the location-specific detail people are searching for.

Place schema

Place is a broader schema type for a physical place. LocalBusiness is already a more specific kind of Place, so you should rarely use Place by itself for a business location. It can be useful when marking up a venue, landmark, or parent place that contains departments or businesses.

Here is a sample of this schema type:

{
  "@type": "Place",
  "name": "Example Medical Center",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "500 Health Way",
    "addressLocality": "Denver",
    "addressRegion": "CO"
  }
}

PostalAddress schema

PostalAddress is nested inside LocalBusiness, Organization, or Place schema. It is where you define the actual address fields. Keep this aligned with your Google Business Profile and location page copy.

Here is a sample of this schema type:

"address": {
  "@type": "PostalAddress",
  "streetAddress": "500 Health Way Suite 200",
  "addressLocality": "Denver",
  "addressRegion": "CO",
  "postalCode": "80202",
  "addressCountry": "US"
}

GeoCoordinates schema

GeoCoordinates gives search engines latitude and longitude for the location. I include it when the data is reliable, especially for businesses with multiple branches in the same city or service areas near each other.

Here is a sample of this schema type:

"geo": {
  "@type": "GeoCoordinates",
  "latitude": 39.7392,
  "longitude": -104.9903
}

OpeningHoursSpecification schema

OpeningHoursSpecification defines business hours in a structured format. This is one of the fields that breaks most often because holiday hours, seasonal hours, and temporary closures change.

Here is a sample of this schema type:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "18:00"
  }
]

Service schema

Service schema helps describe what a location offers. I do not use it as a substitute for good service content on the page. I use it to reinforce services that are already visible in the body copy.

Here is a sample of this schema type:

"makesOffer": {
  "@type": "Offer",
  "itemOffered": {
    "@type": "Service",
    "name": "Emergency plumbing repair"
  }
}

Department schema

Department schema can help when one physical location contains distinct departments with different names, phone numbers, hours, or booking flows. Think hospital departments, auto dealership departments, university offices, or large retail departments.

Here is a sample of this schema type:

"department": {
  "@type": "LocalBusiness",
  "name": "Example Auto Service Department",
  "telephone": "+1-303-555-0112",
  "openingHours": "Mo-Fr 07:00-18:00"
}

WebSite schema

WebSite schema describes the site itself, not a branch. Typically, keep it at the sitewide or homepage level, especially when the brand has a clear search experience or a location finder.

Here is a sample of this schema type:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://example.com/#website",
  "url": "https://example.com/",
  "name": "Example Pizza"
}

Review and AggregateRating schema

Review and AggregateRating schema should be handled carefully. Google has strict rules around self-serving reviews for local businesses. If the reviews are pulled from your own site or displayed in a way that violates Google’s structured data policies, the markup can be ignored or create quality issues.

Practical rule: do not add review schema just because you have reviews. Add it only when the review content, source, and page context comply with Google’s guidelines.

FAQ schema

FAQ schema can support genuine question-and-answer content, but it should not be used as a dumping ground for keyword variations. If you add FAQs, answer real questions clearly and keep them aligned with the page topic.

How to set up local business schema for multiple locations

The best schema setup for multi-location businesses is a clean hierarchy:

Multi-location schema setup workflow
Multi-location schema setup workflow

Step 1: Identify the parent organization

Start by defining the parent business entity. This is the brand or company that owns, manages, or represents the location network.

Give the parent organization a stable @id, such as:

"@id": "https://example.com/#organization"

That @id becomes the reference point you can connect locations back to. Without it, each branch can look like an isolated entity instead of part of a larger local footprint.

Step 2: Choose the right schema type for each location

Next, choose the most accurate schema type for each location. LocalBusiness is acceptable, but a subtype is better when it fits.

Examples:

Do not choose a schema type because it sounds more competitive. Choose the type that describes the business truthfully.

Step 3: Gather the required location data

Before writing JSON-LD code, collect the data for specific locations in one place. Multi-location teams should remember that adding schema is not hard, but the source data must be consistent.

At minimum, gather your:

NoteFor LocalBusiness schema, the most important properties usually include name, address, telephone, url, openingHoursSpecification, geo, sameAs, hasMap, image, and the right business subtype.
Required local business schema fields
Required local business schema fields

Step 4: Create a dedicated page for each business location

Every important location should have its own location page. That page should be the canonical place where users and search engines find that branch’s details, including address, phone number, hours, services, directions, and local details.

This is also where to add local business schema. In most cases, I would not put every branch’s LocalBusiness schema on the homepage.

Example: Put the Austin schema on the Austin location page. Put the Denver schema on the Denver location page. Keep the homepage focused on the parent brand.

A strong location page should include:

If you want a broader playbook that goes beyond schema and into how a location page should behave as an SEO asset, local keyword research is a good next read for scoping city-level content.

Step 5: Add LocalBusiness schema to each location page

Once the page exists, add JSON-LD for that specific location. Here is a local business schema example for one location:

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://example.com/locations/denver/#localbusiness",
  "name": "Example Dental (Denver)",
  "url": "https://example.com/locations/denver/",
  "telephone": "+1-303-555-0144",
  "image": "https://example.com/images/denver-office.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "500 Health Way Suite 200",
    "addressLocality": "Denver",
    "addressRegion": "CO",
    "postalCode": "80202",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 39.7392,
    "longitude": -104.9903
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "17:00"
    }
  ],
  "parentOrganization": {
    "@id": "https://example.com/#organization"
  },
  "hasMap": "https://maps.google.com/?cid=1234567890"
}
Pro tipCheck out the official Schema.org site for help with the schema vocabulary.

Step 6: Connect each location to the parent organization

For schema markup for multiple locations, the relationship between the branch and the parent company is the part I do not skip.

You can connect a location to the parent organization with a stable reference:

"parentOrganization": {
  "@id": "https://example.com/#organization"
}

You can also describe branches from the parent Organization schema if you have a small number of locations:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example Dental Group",
  "url": "https://example.com/",
  "subOrganization": [
    {
      "@type": "Dentist",
      "@id": "https://example.com/locations/denver/#localbusiness",
      "name": "Example Dental (Denver)",
      "url": "https://example.com/locations/denver/"
    },
    {
      "@type": "Dentist",
      "@id": "https://example.com/locations/boulder/#localbusiness",
      "name": "Example Dental (Boulder)",
      "url": "https://example.com/locations/boulder/"
    }
  ]
}

For larger brands, I prefer keeping full LocalBusiness schema on each location page and using the homepage Organization schema as the parent reference.

Step 7: Add supporting schema for services, departments, and hours

After the main LocalBusiness schema is correct, add supporting schema only where it makes the page clearer.

Use Service schema when a location page lists specific services. Use Department schema when a location has real departments with distinct information. Use OpeningHoursSpecification when hours are visible and maintained. Use WebSite schema at the site level, not as a replacement for location schema.

The rule is simple: structured data should always describe what is already present and useful on the page.

Step 8: Validate your local business structured data

Use Google’s Rich Results Test and/or the Schema.org validator before publishing. I use both because they answer different questions.

Google’s test tells you whether Google can read eligible structured data for rich result features. Schema.org’s validator is broader and helps catch vocabulary or syntax problems.

When validating, check:

Step 9: Monitor and update your schema regularly

Local business schema is not a set-and-forget task. Multi-location businesses change hours, categories, phone numbers, appointment URLs, services, managers, and addresses.

When you bulk edit Google Business Profile locations, update the website and schema too. If your GBP says a location closes at 6 p.m. but the website schema says 5 p.m., you have created the kind of mismatch that weakens trust.

Running a periodic Google Business Profile audit is a good way to catch these drifts before they compound, and pairing it with a local rank tracker shows you whether the cleanup is actually moving visibility for each branch.

Multi-location schema checklist

Use this checklist before publishing:

6 common local business schema mistakes to avoid

The mistakes I see most often are not advanced technical problems. They are usually operational problems hiding inside the schema code:

Why use local schema markup for your business locations?

Local schema markup is not magic, and I would not sell it as a direct shortcut to Google Maps rankings. Its value is clarity. For multi-location businesses that means:

That last point is underrated. When I audit local business schema, I often find the same issues that hurt local SEO everywhere else: old hours, mismatched phone numbers, inconsistent categories, weak location pages, and no single source of truth.

Think of schema as one input into a larger Google Maps SEO system. It does not rank a page on its own, but it makes the rest of that system easier for Google to trust.

How Localith helps keep multi-location schema accurate

Localith is a complete GBP management platform that helps users with everything from managing their Google reviews across many locations to updating their Google location information in bulk.

Its real value when it comes to setting up your local business schema is to keep your location data clean and correct before the schema is generated.

If your Google Business Profile says one thing, your location page says another, and your schema repeats a third version, Google gets mixed signals and customers get a bad experience.

To do all that, you just need a new Localith account and to follow a few steps:

  1. Connect all your Google locations under the ‘Listings’ tab (left ribbon menu).
  2. Update your Google locations information via the ‘Bulk edit’ tab.
  3. Select ‘Single-info bulk edit’ or ‘Multi-info bulk edit’ depending on what you want to achieve.
  4. Choose the location(s) you want to update.
  5. Select the information fields you want to update, such as hours, address, etc.
  6. Add the new information.
  7. Confirm your changes.
Localith bulk edit locations screen
Localith bulk edit locations screen
NoteIf you choose the multi-info bulk edit path, Localith will ask you to download a pre-set .CSV file, which you have to manually update, and then re-upload.

That is it. Google will shortly update all your location data to reflect these changes. You can learn more about the process in our guide on how to edit Google Business Profiles in bulk, and pair it with our list of Google Business Profile management best practices to keep the operational side tight.

As a bonus, you can also navigate to the ‘Local citations’ tool under the ‘SEO management’ tab to see if your baseline information (as it appears on Google) is reflected across the most popular listings directories, including Yelp, Apple, and Bing Places.

When used right, Localith helps you do all of the following:

Localith data alignment workflow
Localith data alignment workflow

This is where I would position Localith in the workflow: before markup, during maintenance, and whenever location data changes.

Once a team has clean business names, addresses, phone numbers, categories, URLs, and hours in one place, schema becomes a structured publishing task instead of a manual cleanup project for every branch.

For agencies, this matters even more. When you manage local SEO for many clients, you need repeatable inputs. Localith gives you a way to keep GBP and location data organized so your website, schema, and reporting do not drift apart.

Conclusion: Keep every location’s schema aligned

Local business schema for multiple locations works best when it mirrors a clean location architecture.

Start with the parent organization. Build dedicated pages for each branch. Add one accurate LocalBusiness schema block to each page.

Then, connect locations back to the parent brand. Validate the markup. Also, keep the data updated whenever GBP, hours, services, or location details change.

That is the expert move: not just adding schema, but keeping the whole local data layer consistent enough for the schema to be trusted.

Frequently asked questions

How do I add schema markup if I have two locations?

Create a separate page for each location, then add location-specific LocalBusiness schema to each page. Use Organization schema on the homepage for the parent brand, and connect each location back to that parent with a stable @id.

Should each business location have its own schema?

Yes. If each location has its own address, phone number, hours, or local page, each location should have its own LocalBusiness schema. Do not reuse one generic schema block across every page.

Should I put every location's schema on the homepage?

Usually, no. The homepage should describe the parent brand. Individual location pages should describe individual branches. For a small business with only two or three locations, you can reference branches from the parent Organization schema, but the full LocalBusiness markup belongs on the relevant location pages.

What is the difference between LocalBusiness and Organization schema?

Organization schema describes the company or parent brand. LocalBusiness schema describes a specific local business location. For multi-location SEO, you usually need both: Organization for the parent and LocalBusiness for each branch.

Does local business schema help with Google Maps rankings?

Local business schema can help search engines understand your location data, but it is not a guaranteed Maps ranking factor by itself. Treat it as a clarity and consistency layer that supports the rest of local SEO: GBP accuracy, location pages, reviews, citations, and proximity.

Can I use the same schema for all locations?

No. You can use the same template, but the data inside the schema must be unique to each location. The name, address, phone number, URL, hours, geo coordinates, and map link should match the specific branch.

Where should I add local business schema?

Add local business schema to the page that represents the location. For most multi-location businesses, that means the dedicated location page, not every page on the site.

How do I check if my local business schema is valid?

Use Google's Rich Results Test and the Schema.org validator. Also check the rendered page source to make sure the JSON-LD is present, crawlable, and not blocked by the way your site loads scripts.

Can I add local business schema through Google Tag Manager?

You can inject JSON-LD through Google Tag Manager, but server-rendered or CMS-rendered schema is usually a better default. It is easier to audit, less fragile, and less dependent on client-side execution.

What questions are people asking on Reddit and People Also Ask?

The recurring questions are practical: whether every location needs its own page, whether schema should go on the homepage, how to handle two locations, whether LocalBusiness or Organization is the right type, whether Service schema belongs on service pages, and whether schema helps Google Maps visibility.

Tags: #Local SEO #Multi-Location #Multi Location Management #GBP Optimization #Audit

Ready to manage all your Google Business Profiles from one place?

Start your free 7-day trial. Used by 100+ multi-location businesses.

Start free trial

Related posts

View all posts
Google Business Profile Optimization: 2026 Best Practices

Google Business Profile Optimization: 2026 Best Practices

Optimize your Google Business Profile with this 2026 checklist, plus see how AI Agents and automations already handle reviews, Q&A, and reporting for you.

How to Respond to Negative Reviews: Templates and Examples

How to Respond to Negative Reviews: Templates and Examples

Learn how to respond to negative reviews with expert examples, industry templates, Google review guidance, and a scalable Localith workflow.

Positive Review Response Examples: 50+ Templates

Positive Review Response Examples: 50+ Templates

50+ positive review response examples for Google and other review sites. Copy-paste templates by rating, industry, and situation, plus an AI workflow for multi-location teams.