Multistead / SEO for multiple locations
Guide
SEO for multiple locations: architecture, links and reporting for 10 to 500 locations
SEO for multiple locations comes down to three things: one crawlable page per location on a structure that scales, enough local detail on each page that Google treats them as different places, and reporting that shows every location separately. This guide is for chains, clinic groups and PE-backed operators that own their locations. If you run a franchise system, read our franchise SEO guide for the franchisee and governance side.
What changes when you have many locations
A single clinic can rank with one good website and one Google Business Profile. A group with 40 clinics has 40 profiles, 40 sets of hours, 40 teams and 40 neighborhoods, and usually a pile of legacy sites from acquisitions. Multi-location SEO problems are mostly structural: pages that compete with each other, pages Google never finds, closed locations that still show up, and reports that average 40 locations into one number nobody can act on.
The basics of local ranking are the same as for one business (we cover them in how to rank higher on Google Maps). What follows is the part that only matters at scale.
Site architecture: subfolders, subdomains or separate sites
This is the first decision and the most expensive one to reverse. There are three common setups:
- Subfolders on the brand domain:
brand.com/locations/austin-south/ - Subdomains:
austin-south.brand.com - Separate sites:
southaustinphysio.com, often what you inherit after an acquisition
Google has said it can handle any of them. In practice they differ in how much each location benefits from the brand's existing links, and how much work they take to run.
| Question | Subfolders | Subdomains | Separate sites |
|---|---|---|---|
| New location ranks on day one? | Best chance: it inherits the brand domain's links and trust | Partly; Google may treat it as a separate site | Starts from zero |
| Keeps an acquired practice's search history? | Only with page-by-page 301 redirects | Only with redirects | Yes, if you keep the domain |
| Brand consistency | Easy: one template system | Easy if one platform | Hard: every site drifts |
| Internal linking between locations | Natural | Possible, cross-host | Rare in practice |
| Per-location reporting | Filter by folder in Analytics and Search Console | One property per subdomain | One property per site |
| Logins and maintenance | One | One platform, many hosts | One per site unless consolidated |
| Best for | Most chains and groups with one brand | Locations that need a distinct app or booking system | Groups that keep local brand names after acquisition |
Our default advice: if every location trades under one brand, use subfolders. If you are a PE-backed group buying practices that keep their own names, keep each acquired domain while the local brand matters, and plan a redirect map for the day you rebrand. Moving everything at once is where most migration losses come from. Multistead runs a site per location or location pages under the brand domain, and its mirror mode lets each location's existing site run unchanged on day one, so you can rebrand one location at a time. When a location moves to a new template, our team sets up the redirects from its old page addresses and helps with the transition.
Avoiding duplicate content across dozens of location pages
Google doesn't penalize repeated brand text. It does pick one page to show when several look the same, and the rest quietly drop out. Fifty pages that differ only in the city name and phone number are, for ranking purposes, close to one page.
Split each page into what repeats and what must not:
- Can repeat: the brand story, service descriptions, insurance or payment policy, brand-wide FAQs.
- Must be unique: address, hours and phone; the team at this location; photos of this building; which services this location actually offers and at what price; neighborhoods, landmarks, parking and transit; reviews from this location.
Three rules keep this manageable at scale:
- Make local fields required in the template. If a location page can't be published without a team, photos and a neighborhoods-served list, thin pages never ship.
- Don't build "service in city" pages for every pair. Twenty services across 40 cities is 800 pages, almost all near-duplicates. Build them only where the location really offers the service and you can say something specific.
- Use self-referencing canonicals on each location page, and never canonicalize location pages to the brand home page. That tells Google to ignore them.
A quick test: cover the address on a location page. If you can't tell which location it is, the page needs more local content. Our location pages guide lists what each page should carry, and the local SEO checklist turns it into something you can score.
Internal linking for 10, 50 and 500 locations
Every location page needs at least one crawlable HTML link pointing to it. A map widget or a search box isn't enough, because Google doesn't type ZIP codes into forms. How you structure those links depends on how many locations you have.
| Locations | Structure | Clicks from home page |
|---|---|---|
| Up to about 25 | One /locations/ page listing every location by name, linked from the main navigation | 2 |
| 25 to 150 | /locations/ grouped by state or metro, with every location still linked on that one page, or one hub page per metro | 2 to 3 |
| 150 to 500+ | /locations/ → state pages → city pages (only where a city has more than one location) → location page | 3 to 4 |
A worked example: 480 locations in 32 states. The locations page links to 32 state pages. A state page with 40 locations lists all 40, grouped by metro. Every location sits three clicks from the home page, and no page carries more than a few dozen location links. On top of that hierarchy:
- Link sideways. Each location page should link to two or three nearby locations ("Also near you"). It helps customers who are closer to another branch, and it spreads links across the set.
- Link from service pages. A brand-level service page such as "Sports physiotherapy" should link to the locations that offer it.
- List every location in the XML sitemap, with an accurate last-modified date, so new and updated pages are recrawled quickly.
- Link each Google Business Profile to its own location page, never to the home page. This is the single most common mistake we see.
If you also use a store locator widget, keep it, but treat it as a convenience layered on top of crawlable pages. We explain the difference in store locators vs. location pages.
Opening, moving and closing locations without losing rankings
Groups that grow by acquisition open and close locations every quarter. Each event has a right way to handle it.
Opening a location. Publish the page before the doors open, so Google has crawled it by launch day. Put an expected opening date on it and a way to register interest. Add it to the locations hub and the sitemap the same day. Create or claim the Business Profile with the correct opening date, and link it to the new page. In Multistead, new locations get a pre-opening Founders page with a countdown, a cap on spots and CRM sync.
Moving a location. Keep the same page and update the address, map and schema. If the URL has to change (for example, it contained the old street name), 301-redirect the old URL to the new one. Update the Business Profile address rather than creating a new profile.
Closing a location. Mark the Business Profile as permanently closed. Then pick one of two options for the page:
| Situation | What to do with the page |
|---|---|
| Another location is nearby and serves the same customers | 301-redirect the closed page to that location's page |
| Two or three locations are about equally close | Keep the page for a few months with a clear "this location has closed" notice and links to the nearest options, remove it from the sitemap and LocalBusiness schema, then redirect it to the state or metro hub |
| No location nearby | Redirect to the locations page, or let it return 410 if it has no useful links pointing to it |
| Merging two locations | Redirect the closing page to the surviving one and move the best unique content (team, reviews you are allowed to show) across |
Avoid redirecting every closed location to the home page. Google tends to treat that as a soft 404, and customers who clicked an old link land somewhere that doesn't answer their question. Keep a redirect log in one place, because an acquisition three years from now will need it.
Measuring SEO by location, not as a brand average
A brand-wide traffic chart can go up while a third of your locations go backward. Report every location on the same short list of measures:
- Organic clicks and impressions for the location page. With subfolders, filter Search Console and Analytics by page path. You can also add each location folder as its own URL-prefix property in Search Console.
- Business Profile actions: calls, direction requests and website clicks, which Google reports per profile.
- Tagged profile traffic. Add UTM parameters to each profile's website link (for example
?utm_source=google&utm_medium=organic&utm_campaign=gbp) so Maps visits show up separately in Analytics. - Map visibility from a geo-grid. The share of grid points where the location appears in the top three, tracked monthly. Our local rank tracker explains how a 7×7 grid works.
- Page completeness: a checklist score per location, so you know which pages are thin before rankings tell you.
- Reviews: new reviews per month, average rating and how many have replies, per location.
Then sort locations by the gap, not the total. The useful question is "which 5 locations have the weakest map visibility relative to their market?", not "how did organic traffic do overall?".
Visibility is not revenue. A better grid means more people can see the location. Whether they book depends on the page, the reviews and the offer. Report visibility and actions side by side, and don't present ranking gains as sales.
A local SEO strategy for multiple locations, in order
- Choose the architecture and write the redirect map for any legacy or acquired sites.
- Build one location template with required local fields and LocalBusiness schema (see our schema guide and generator).
- Publish the locations hub, link every page, and submit the sitemap.
- Audit every Business Profile: primary category, hours, and a link to its own page.
- Baseline a geo-grid for each location's two to five main searches.
- Fix the weakest 20% of locations first, then re-scan monthly.
- Set the rules for opening, moving and closing locations before the next one happens.
How Multistead runs this for a multi-location group
- Every location gets its own site or page from templates headquarters approves, with titles, descriptions, LocalBusiness schema and sitemaps generated from its real details.
- AI writes local copy from those details, and a checklist score shows what each page is missing.
- A 7×7 Google Maps rank grid for every location: monthly on Local, weekly on Complete.
- Mirror mode brings acquired or legacy sites on unchanged, so you can move locations to the new brand one at a time. When each location moves to a new template, our team sets up the redirects from its old page addresses.
- We set up and match each location's listings during onboarding (Apple Business Connect, Bing Places, Yelp, Facebook and Instagram, Yellow Pages, Foursquare, and Healthgrades for health brands), and the citation tracker flags any name, address or phone mismatch.
- Every location has its own reports and dashboards, and headquarters sees all of them side by side.
- Location managers edit their own hours, team, offers and photos within brand guardrails, with unlimited users.
- For clinic groups: HIPAA-minded security (MFA, audit log, encryption), and we sign a BAA.
If you leave, you can take an export of your sites (an offboarding fee is agreed up front in your contract, so there are no surprises).
Pricing is published: $249, $449 or $649 per location per month, billed annually, from 5 locations; groups with 400 or more locations get custom pricing. As a worked example of recurring costs, 25 locations on Local is 25 × $449 = $11,225 a month, or $10,102.50 after the 10% volume discount for 25 to 99 locations (the discount applies to location fees only). Add the $990 a month Headquarters fee for the brand site, location finder and hub, and the total is $11,092.50 a month. The Headquarters fee is waived at 50 or more locations on Complete. There is also a one-time setup fee, quoted on your first call, based on the number of sites.
When Multistead is not the right fit: if you have two or three locations and a website you're happy with, a good single-site CMS and a low-cost rank tracker will do. And if you want every change pushed instantly and automatically to a very large directory network, keep a listings tool alongside: Multistead covers the website, the Google Business Profile and the key directories, which we set up and match during onboarding, and the platform flags mismatches after that.
Questions
How do you do SEO for multiple locations?
Give every location its own crawlable page with unique local detail and LocalBusiness schema, link each Google Business Profile to that page, connect the pages through a locations hub and sitemap, and measure each location separately with Search Console, profile actions and a geo-grid.
Subdomain or subfolder for location pages?
For a single brand, subfolders are usually the better choice, because new location pages benefit from the brand domain's existing authority and reporting is simpler. Subdomains or separate sites make sense when locations need their own systems or keep their own local brand names.
How do we avoid duplicate location pages?
Keep brand text shared, but require local fields on every page: the team, photos of the building, services and prices at that location, neighborhoods served and local reviews. Don't generate a page for every service and city pair.
What should we do with the page when a location closes?
Mark the Google Business Profile as permanently closed, then 301-redirect the page to the nearest open location, or keep a short closure notice that links to nearby locations before redirecting it to the regional hub. Avoid sending every closed page to the home page.
Will merging acquired practice websites hurt our rankings?
It can, which is why the redirect map matters. Redirect each old URL to its closest new equivalent, move locations in waves rather than all at once, and compare map visibility before and after each wave. In Multistead, our team sets up those redirects when a location moves to a new template.
Is this different from franchise SEO?
The ranking factors are the same. Franchise SEO adds questions about franchisee control, who owns each Business Profile and what happens when a franchisee leaves. Our franchise SEO guide covers those.