Local SEO for Multi-Location Businesses: Scale Without Cannibalising Your Rankings
Multi-location local SEO is one of the most common problems we're asked to fix. A business wants to rank in 10 or 20 cities. They create a page for each city. Google gets confused about which page to show for which search. None of the pages rank particularly well. This is keyword cannibalisation β and it's fixable with the right architecture.
Here's the exact approach we use for businesses ranking across dozens of cities simultaneously.
The core problem: When multiple pages on your site target the same keyword with only the city name changed, Google treats them as competing pages and often ranks none of them well. The fix is architecture β not just more pages.
Why cannibalisation happens with city pages
Most businesses approach multi-location SEO by creating a template and swapping the city name. "Best plumber in London" β "Best plumber in Manchester" β "Best plumber in Birmingham". Same content, different city. Google sees 20 nearly-identical pages and has no way to determine which one should rank for any given search.
The result is that all 20 pages rank poorly because Google can't confidently choose between them. In some cases, Google consolidates them and shows only one β often not the one you'd choose.
The silo architecture that works
The solution is a three-tier hierarchy:
Tier 1: National service pages
Your top-level service pages target the service itself without a specific city. These pages have the most authority (they receive internal links from everywhere) and rank for broad, high-volume, non-location searches. They also act as the parent pages for your location silos.
Tier 2: Regional hub pages
For businesses covering large territories, regional hub pages group clusters of cities. "SEO services in the South East" or "SEO services in Greater London" β these pages target regional searches and link to the individual city pages within that region.
Tier 3: Individual city pages
City-specific pages that are genuinely differentiated β not just the city name swapped in. The differentiation is what prevents cannibalisation. Each city page must contain unique content about that city: local landmarks, specific service area, locally relevant case studies or examples, local trust signals (reviews from people in that city), and city-specific structured data.
How to genuinely differentiate city pages
This is where most businesses fail. They think "unique content" means rewriting the same information in different words. Google can identify near-duplicate content regardless of phrasing. The differentiation needs to be substantive.
Elements that genuinely differentiate a city page:
- City-specific introduction β facts about the city's business landscape, population, or relevant industry presence that make sense for your service
- Local landmarks and geography β service area described using neighbourhoods, postcodes, and landmarks that locals would recognise
- Local reviews and testimonials β quotes from customers in that city (pulled from your Google Business Profile reviews)
- City-specific FAQs β questions relevant to that location (e.g., local regulations, pricing differences, travel times)
- Local schema markup β LocalBusiness schema with the city-specific address and service area
One GBP per location β no exceptions
If you have a physical presence in multiple cities, each location needs its own Google Business Profile. This is the single most important factor for local pack rankings in each city.
Each GBP should link to the corresponding city page on your website β not your homepage. This creates a direct signal between your map presence and your local landing page.
If you don't have a physical office in a city but serve it, you can set a service area on your GBP. You won't rank in the local pack as strongly as businesses with physical addresses in that city, but you can still rank in organic results for that city through well-optimised city pages.
Internal linking for multi-location sites
Your national service pages should link to your top-performing or highest-priority city pages. Your regional hub pages should link to every city page within that region. Each city page should link back to its regional hub and to the national service page.
Don't link every city page to every other city page β this creates link equity diffusion and gives Google no clear signal about your hierarchy. Keep the linking structured and directional: top-down from national β regional β city, and bottom-up for breadcrumbs.
How many cities should you target?
Start with your highest-priority markets. If you're a trade business, that's the cities within a realistic service radius. If you're a professional services firm, that's the cities with the highest concentration of your target clients.
Don't create city pages for cities you can't realistically serve β Google is getting better at identifying pages that exist purely for SEO rather than to serve real customers. A page for a city you've never had a client from, with no local reviews or presence, carries less weight than pages for cities where you have genuine activity.
Our approach at MicroTechSoft: We cover 3,841 cities across the USA, UK, Australia and Canada. Every city page is templated but includes genuinely differentiated local content β not just city name swaps. The architecture took time to build but now compounds: each new city page benefits from the domain authority built by all the others.