Multi-Location Schema Generator
This free tool generates JSON-LD structured data for businesses with multiple physical locations. Enter your business details along with each location's address, phone number, hours, and services, and the generator builds valid Schema.org markup for every location at once. Manage your structured data across all your locations from one place and help search engines connect each branch to the right local search results.
Generated JSON-LD
What Is Multi-Location Schema?
Multi-location schema is structured data that describes a business with more than one physical location using Schema.org's Organization and LocalBusiness types. It defines the relationship between a parent organization and its individual branches, franchises, offices, or storefronts, giving search engines a clear map of your entire business footprint.
Each location gets its own LocalBusiness (or appropriate subtype) schema block with unique address, phone number, hours, and other location-specific details. These individual blocks are then linked back to the parent Organization through the parentOrganization property, which tells search engines that all your locations belong to the same business entity.
This parent-child structure matters because search engines treat local businesses as distinct entities. A dental practice with three offices isn't one business in Google's eyes. It's three separate local entities that happen to share a brand. Multi-location schema makes those relationships explicit so search engines can properly attribute brand signals, reviews, and authority across your entire network.
Why Does Multi-Location Schema Matter?
Businesses with multiple locations face a unique set of local SEO challenges that single-location businesses don't deal with. Multi-location schema addresses several of them directly.
Disambiguation. When someone searches for your business name, search engines need to figure out which location to show. Without clear structured data, Google may surface the wrong location, merge data from different branches, or fail to show any local result at all. Schema that explicitly defines each location with its own address and service area eliminates that ambiguity.
Consistent entity signals. Google builds knowledge graph entries for local businesses based on signals from your website, Google Business Profile, directories, and other sources. When your website's structured data clearly defines each location with consistent NAP (name, address, phone) information, it reinforces the data Google has from other sources and strengthens each location's local presence.
Location-specific rich results. Each location's schema can include its own aggregate ratings, services, departments, and special hours. This means individual locations can qualify for their own rich results in local search, rather than the entire business being represented by a single generic listing.
Brand authority distribution. The parentOrganization relationship lets search engines understand that your brand's overall authority applies to each location. A well-known regional brand with strong backlinks and domain authority can pass some of that credibility to individual location pages through a properly structured schema hierarchy.
How Should I Structure Schema for Multiple Locations?
The recommended approach uses a two-level hierarchy: one Organization schema block on your main site and individual LocalBusiness schema blocks on each location page.
Parent Organization. Place this on your homepage or main about page. It defines your business as a whole with properties like organization name, logo, website URL, social profiles, and founding date. This is the entity that ties everything together.
Individual location blocks. Each location page on your site gets its own JSON-LD block using LocalBusiness or a more specific subtype like Restaurant, Dentist, or AutoRepair. Each block includes the location-specific address, phone number, operating hours, geographic coordinates, and any other details unique to that branch. Each block references the parent organization using the parentOrganization property.
The connection. Inside each location's schema, the parentOrganization property points back to the parent Organization with at minimum the organization's name and URL. This creates an explicit link that tells search engines "this location belongs to that business."
A simplified example of the hierarchy: your homepage has Organization schema for "Sunrise Dental." Your "/locations/austin" page has Dentist schema for "Sunrise Dental - Austin" with a parentOrganization reference pointing to "Sunrise Dental." Your "/locations/dallas" page follows the same pattern for the Dallas office.
What Properties Should Each Location Include?
Every location block should include a comprehensive set of properties to maximize its value in local search. Some are required for the schema to be useful, and others are recommended for earning rich results and improving your local presence.
Name. The location-specific business name. This can be the brand name alone or the brand name with a location identifier, like "Sunrise Dental - Downtown Austin." Match whatever you use in your Google Business Profile for that location.
Address. The full physical address using Schema.org's PostalAddress type: street address, city, state or region, postal code, and country. Each location must have a unique address. PO boxes are generally not appropriate for LocalBusiness schema since they don't represent a physical place customers can visit.
Telephone. The direct phone number for that specific location, not a central 800 number that routes to a call center. Local phone numbers reinforce the location's geographic relevance to search engines.
openingHoursSpecification. Hours of operation for each day of the week. Each location likely has its own hours, and defining them explicitly prevents search engines from guessing or pulling incorrect data from other sources. Include specialOpeningHoursSpecification for holidays and seasonal adjustments.
geo. Latitude and longitude coordinates that pinpoint the location on a map. This is especially important for businesses in multi-tenant buildings, shopping centers, or areas where the street address alone might not be precise enough for mapping applications.
url. The URL of the specific location page on your website. Each location should have its own dedicated page, and this property tells search engines which page corresponds to which location.
image. At least one photo of the actual location, not a generic brand image shared across all branches. A photo of the specific storefront, office, or building helps search engines and users visually identify the location.
areaServed. The geographic area each location serves. A plumbing company's north side office might serve a different set of zip codes than the south side office. Defining service areas prevents overlap confusion and helps search engines match locations to geographically relevant queries.
How Do I Handle Locations with Different Services?
Many multi-location businesses offer different services at different branches. A healthcare network might have primary care at one location and specialty clinics at another. An auto dealer might sell new cars at one lot and handle service at a separate facility. Your schema should reflect these differences.
Use the hasOfferCatalog or makesOffer properties to define the services available at each location. Each location's schema should list only the services actually offered at that branch. Don't copy the same service list across all locations if it isn't accurate.
For businesses with highly differentiated locations, consider using different Schema.org subtypes for different branches. A restaurant group that operates a fine dining restaurant and a casual cafe might use Restaurant for the former and CafeOrCoffeeShop for the latter, even though both share the same parent organization.
The key principle is accuracy. Every property in each location's schema should describe that specific location truthfully. Duplicating data across locations when it doesn't apply erodes trust with search engines and can lead to confusing or incorrect information appearing in search results.
Should Every Location Have Its Own Page?
Yes. Every physical location should have a dedicated page on your website with unique content, and that page is where the location-specific schema belongs. This is a foundational requirement for multi-location local SEO, not just for schema purposes.
Each location page should include the location's address, phone number, hours, directions or a map embed, location-specific staff or team information if applicable, photos of that location, and any content unique to that branch like local promotions or community involvement.
Avoid thin location pages that only contain a name and address with no other unique content. Search engines treat these as low-value pages, and they provide little reason for users to visit. Add content that's genuinely specific to each location: neighborhoods served, nearby landmarks for wayfinding, location-specific testimonials, or information about the team at that branch.
For businesses with dozens or hundreds of locations, dynamic page generation from a location database is the practical approach. Your CMS or application pulls location data from a central source and builds both the page content and the schema dynamically. This keeps everything synchronized and reduces the manual effort of maintaining hundreds of individual pages and schema blocks.
How Does This Relate to Google Business Profile?
Multi-location schema and Google Business Profile serve complementary roles. Your GBP listings are what Google uses to populate the local pack, maps, and the business knowledge panel. Your website's schema is what Google uses to verify and enrich that data from your own authoritative source.
Consistency between the two is critical. The name, address, phone number, hours, and other details in your schema should match your GBP listings exactly. Discrepancies between your website schema and your GBP data can weaken Google's confidence in both sources and hurt your visibility in local results.
Where schema adds value beyond GBP is in the relationships and details that GBP doesn't support. The parentOrganization structure, nested department information, detailed service listings, and explicit connections between locations are all things your website schema can express that GBP cannot. These additional signals help Google build a more complete understanding of your business.
For multi-location businesses, maintaining alignment between your location pages, their schema, and their corresponding GBP listings across every branch is one of the highest-impact local SEO activities you can prioritize.
Can I Use This for Franchise Businesses?
Yes. Franchise businesses are one of the most common use cases for multi-location schema, and the structure works well for the franchisor-franchisee relationship.
The parent Organization schema represents the franchise brand. Each franchisee location gets its own LocalBusiness schema with a parentOrganization reference back to the brand. This accurately models the real-world relationship: each franchise location is an independently operated business that belongs to a larger brand network.
Franchises should pay extra attention to the name property at the location level. Some franchise systems use the brand name alone at every location, while others append a location identifier. Follow whatever naming convention your franchise system uses in its Google Business Profile listings to maintain consistency.
One common challenge with franchises is that individual franchisees may manage their own websites separately from the corporate site. In this case, each franchisee's site should have its own LocalBusiness schema with the parentOrganization reference pointing to the franchise brand's main URL. The corporate site can also list all locations with schema on a locations directory page, creating multiple reinforcing signals.
Common Multi-Location Schema Mistakes to Avoid
Using identical schema across all locations. Copying the same schema block and only changing the address is a missed opportunity at best and inaccurate at worst. Each location should have its own phone number, hours, coordinates, images, and service details. Generic, duplicated schema suggests to search engines that the data wasn't carefully maintained.
Missing parentOrganization references. Without the parentOrganization property, search engines have no structured signal connecting your locations to each other. They may recognize the shared brand name, but an explicit relationship in the data is far more reliable than inference.
Inconsistent NAP data. If your schema says "123 Main Street" but your GBP says "123 Main St." and your footer says "123 Main St, Suite 100," you've introduced three variations that search engines have to reconcile. Standardize your name, address, and phone format across every source and keep them identical.
Placing all location schema on a single page. Putting schema for twenty locations on one directory page instead of distributing it across individual location pages weakens the signal for each location. Search engines associate schema with the page it appears on. A dedicated location page with its own schema is a stronger signal than one page listing everything.
Not updating hours and details when they change. Locations close for renovations, change their hours seasonally, add new services, or get new phone numbers. Schema that isn't updated when these changes happen becomes inaccurate and can mislead both search engines and users. Build a process for keeping location data current across your site and schema simultaneously.
Omitting geographic coordinates. Relying solely on the street address for location identification leaves precision on the table. Two businesses can share the same street address in a multi-unit building. Latitude and longitude coordinates eliminate ambiguity and improve placement accuracy in map-based search results. Include them for every location.
Related Tools
Let's Grow Your Business
Want some free consulting? Let’s hop on a call and talk about what we can do to help.