Multiple Location SEO
I would never run a multi-location campaign without a centralised spreadsheet tracking NAP, GBP status, and page URL per branch, because the first time I skipped that step it cost me weeks of cleanup.
What I’d do first
- Audit every existing location's Google Business Profile and landing page for NAP consistency before making any changes.
- Write unique content for each location page referencing local landmarks, staff names, or events to avoid duplicate content penalties.
- Implement unique LocalBusiness structured data per location including NAP, hours, and geo coordinates.
- Set up a centralised /locations/ hub with filtering if you have 10 or more branches, and link it from the main navigation.
- Quarterly check citations across directories to catch NAP drift before it impacts rankings.
The path I'd take
I start with an inventory. A spreadsheet with columns for location name, address, phone, GBP status, landing page URL, and current citation consistency. For a client with 12 dental clinics across the UK, I found three locations using the wrong phone number on Yelp and two others with addresses missing the postcode. That alone was dragging down their local pack performance.
Next, I build location pages. Not just one page with a dropdown. Each branch gets its own URL: /clinics/manchester/, /clinics/leeds/, etc. The content must be unique. I look for what makes each spot different. For the Manchester clinic, I wrote about the parking situation near the Arndale Centre and named the lead dentist. For Leeds, I mentioned the office is a 2-minute walk from the train station. If you copy-paste and swap the city name, Google will see repetition. I once had a client with eight branches all using the same paragraph except for "located in [city]". Within three months, only one page ranked — the rest were treated as duplicates.
Structured data comes third. I drop unique LocalBusiness schema on each location page. That means different @id, separate address, telephone, openingHours, and geo. I verify it with Google's Rich Results Test before publishing. I've seen cases where a single schema snippet with multiple locations confused the crawler, so each snippet must be self-contained. For a chain of 5 coffee shops, implementing this correctly doubled their visibility in local searches within 6 weeks.
I connect every GBP to its own landing page — never the homepage. I also set up GBP posts and Q&A per location to signal activity. Then I link the location pages together from a hub page and from relevant service pages. For example, the "emergency appointments" page links to each clinic's page with a map. That creates a clear topical cluster. I also run a [Local SEO Audit](/local-seo-audit/) on the whole setup quarterly to catch issues like missing citations or broken internal links.
Watch-outs
Template copy is the number one mistake. I worked with a franchise that had 20 identical location pages except for the city name. Google classified them as thin affiliate pages and demoted all but the first. We had to rewrite 15 of them from scratch. To avoid this, I now demand at least one unique element per page: a staff interview, a local event mention, or a photo of the actual storefront.
NAP drift accumulates fast. A single typo in a citation — say "Street" instead of "St" — can cause Google to treat the location as a different entity. For one client, a mis-entered postcode on a third-party directory took two months to fix because the directory required manual email changes. I now use a tool to scan citations every quarter. If you have more than 5 locations, set up a recurring calendar reminder to check [Citation SEO](/citation-seo/) consistency. Don't rely on manual checks; you'll miss it.
Linking all GBPs to the homepage is a common shortcut. Google expects each profile to point to its own landing page. I've seen businesses with 10 locations all pointing to the same URL, and none of them ranked for any local query. Each profile must have a unique, relevant landing page.
Over-optimising is real. Stuffing the location page with the same geo-keywords in every paragraph doesn't help. Google looks for natural writing. For example, a plumber in Leeds might mention "emergency boiler repair in Headingley" once, not five times. I also avoid using the same phone number across multiple GBPs; each location should have a unique local number or at least a distinct call tracking number. If you share a number, you risk verification issues and confusion.
Finally, don't neglect the /locations/ hub for 10+ branches. Without it, users can't easily find the nearest location, and Google can't understand the relationship between branches. I built a search-by-postcode filter for a client with 30 branches and saw a 25% increase in store-finder usage within a month.
What I got wrong
I used to think a single well-optimised page with a location dropdown was enough. I was wrong. Google treats each [Google My Business](/google-my-business/) profile as a separate entity, and without a dedicated landing page, the location has no chance to rank for local queries. A client with 3 restaurants in London had one page titled "Our Locations" with a dropdown map. None of the branches appeared in the local pack for "Italian restaurant near me". After creating individual pages, two of the three started showing within 6 weeks.
I also underestimated how quickly NAP inconsistencies pile up. I assumed that once I set the citations correctly, they'd stay correct. But directories change, businesses move, or staff update one listing without updating the rest. One client's address changed on their GBP but not on 12 other directories. Google flagged it as a mismatch and their visibility dropped 40% in two weeks. I now schedule a quarterly citation review as part of any [Local SEO](/local-seo/) contract.
Another mistake: I thought structured data was optional for small businesses with only 2-3 locations. Then I helped a small chain of bike shops implement it properly. Within a month, their event-rich snippets appeared in search results, and click-through rates improved by 12%. Structured data is not just for big sites. Even if you have just two locations, unique LocalBusiness markup gives Google clear signals about each branch.
I also once convinced a client to use one GBP with multiple areas served instead of separate profiles for each location. That was against the guidelines and their pages were eventually suppressed. I should have read the [Business Profile](/business-profile/) help more carefully. Now I always check Google's official rules before scaling.
Finally, I used to skip the internal linking strategy. I thought the location pages would be found through the navigation. But without links from service pages and the hub, they were orphaned. A simple fix: adding "Visit our [city] branch" links from relevant service pages boosted organic traffic to those location pages by 30% in two months.
Next step
Quick answers
How many locations count as multi-location SEO?
I treat two or more physical branches as multi-location. Even with just two, you need separate pages and profiles to avoid cannibalisation. The challenges scale with count, but the principles — unique content, separate GBPs, structured data — apply from the second location onward.
Should I create a separate website for each location?
No. Keep everything under one domain with subdirectories like /locations/city/. A separate domain dilutes authority and is harder to manage. Subdomains are sometimes okay but subdirectories are simpler. I've never seen a case where multiple domains outperformed a single site with proper location pages.
Can I use the same phone number for all Google Business Profiles?
Not if you want each location to rank well. Google expects a unique local number per branch. If you use a central number, you risk verification failures and confusion for users. Use call tracking or a dedicated line per location. I've seen clients get suspended for sharing a number across profiles.
Do I need structured data for every location page?
Yes, if you want to give Google clear signals about each branch. Unique LocalBusiness markup with distinct @id, address, phone, and coordinates helps each location appear in local results and rich snippets. I consider it essential even for two locations.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Search Central — Primary source for structured data requirements and local search guidelines.
- Google Business Profile Help — Authoritative rules on GBP representation and verification for multiple locations.
- BrightLocal — Practical guidance on audits, NAP consistency, and scaling multi-location SEO.
- Backlinko — Clear tactical overview of workflows for building location pages and structured data.
Notes from Callum Bennett.