When franchise location pages target the same “city + service” intent, Google often rotates URLs, splits rankings, and visibility becomes unstable (even though you publish more pages). The fix is governance: define a geo-hierarchy (brand → metro → location), assign each page a distinct intent, and use internal linking + consolidation so Google knows exactly which URL should rank for each query. This case-study-style playbook shows a realistic franchise scenario and the cleanup steps that typically unlock growth by removing internal competition.This framework is part of our multi-location local SEO operations playbook.
The scenario: how franchises accidentally compete with themselves
A franchise brand has:
- One corporate “Dallas service” page meant to rank for the metro query.
- Eight franchisee pages in nearby suburbs, each trying to rank for the same “Dallas + service” keyword set.
- Near-identical location page templates where only the city name changes.
Symptoms you can verify
- Search Console shows one query triggering multiple URLs (ranking “flip‑flops”).
- Pages overlap in intent so Google can’t confidently pick a winner.
- Users land on generic pages that don’t feel local, hurting conversion trust.
The intervention: 5 changes that stop cannibalization
1) Build a simple geo-hierarchy (brand → metro → location)
Set a rule that prevents overlap:
- Corporate page = broad metro intent (“Service in Dallas”).
- Franchise pages = their own city/suburb intent (“Service in Plano”, “Service in Irving”).
This converts “8 pages fighting for 1 keyword” into “1 domain covering multiple intents.”
2) Fix intent collisions with keyword governance
Instead of letting every location target the same head term, assign:
- Metro keyword cluster → metro page.
- City/suburb clusters → franchise location pages.
- If two franchisees are in the same city, use neighborhood/service‑area modifiers and differentiate offers/services proof.
3) Make location pages genuinely unique (not template swaps)
To avoid near-duplicate signals and increase local relevance, customize each location page with real “local proof,” such as:
- Local staff bios/photos, storefront/team images.
- Area-specific testimonials and case stories.
- Community involvement and local landmarks/coverage nuances.
4) Use internal linking to tell Google “who ranks for what”
Internal linking is how you enforce the hierarchy:
- Metro/corporate pages link down to the correct location pages.
- Locations link sideways to nearby locations only when it helps users (and use explicit geo anchors).
- Avoid linking “up” with city anchors that unintentionally teach Google the corporate page should rank for every city.
5) Consolidate overlapping pages (redirect when intent is the same)
When two URLs serve the same intent, consolidate into one stronger page and redirect the weaker URL. In a published cannibalization cleanup case study, consolidation + redirects produced a reported 110% rise in organic traffic.
What improved (expected outcomes)
After hierarchy + linking + consolidation:
- Rankings stabilize because each geo-intent has one clear “owner” URL.
- The domain covers more local queries instead of rotating the same query across multiple pages.
- Conversion improves because each page feels locally credible instead of generic.
The 20-minute cannibalization audit (do this now)
- In Google Search Console, filter queries by city names and “near me,” then check if a single query triggers multiple URLs.
- For each query cluster, pick one primary page that should rank (metro vs city vs neighborhood).
- Fix internal links first (fastest signal), then upgrade uniqueness on the page copy, then consolidate/redirect if two URLs still overlap.
If your franchise locations compete against each other, you’re paying for content that cancels itself out. Start with the hierarchy map + internal linking rules, then make each location page genuinely local.For policy-compliant GBP setup, see our guide on service area vs physical address configuration.