Services Industries Locations Case Studies Blog About Contact Book a Call
All notes
SEO May 4, 2026 8 min read

The Cannibalization Problem Most Agencies Create On Purpose

Why building a second page for the same keyword as your hub is the most common SEO architecture mistake I see on incoming client sites, and how I diagnose it.

The Cannibalization Problem Most Agencies Create On Purpose

The first audit I run on every new client account is a cannibalization sweep. It takes about 90 minutes. On 7 out of the last 10 incoming sites, I found at least 1 case of 2 URLs targeting the same keyword without anyone realising it.

The pattern is almost always the same. A previous agency built a service hub, then 6 months later built a blog post or a secondary landing page targeting a phrase that overlaps with the hub. Both pages now compete against each other for the same SERP slot. Google picks 1, ranks it weakly, and the other gets buried.

The client paid for both pages. Neither of them works.

Why this happens so often

The mechanism is straightforward. Most agencies operate on a content-quota model: 4 blog posts a month, 2 landing pages a quarter, whatever the retainer specifies. The pressure is to ship volume. So someone runs keyword research, finds a phrase with decent volume, and assigns it to a new page without checking whether an existing page is already targeting the same intent.

The result: 2 URLs, 1 keyword, and a self-inflicted ranking problem.

SERP OVERLAP / SAME-INTENT SIGNAL
5+ shared URLs
SAME PAGE
3-4 shared URLs
SAME PAGE
1-2 shared URLs
SPLIT PAGES
0 shared URLs
SPLIT PAGES

The test I run before any new page goes into a content plan

Before I assign a keyword to a new URL, I check whether its SERP overlaps with the SERP of the closest keyword we already target. The rule is straightforward: 3 or more URLs ranking in the top 5 for both keywords means same intent, same page. Different SERPs means 2 pages.

Most cannibalization cases I find could have been avoided by running this single check. It takes about 4 minutes per keyword pair.

Here is the decision framework as I apply it on incoming audits:

SERP overlap (top 5)Intent signalAction
5 of 5 URLs sharedIdentical intent1 page. Pick the strongest existing URL, consolidate.
3-4 of 5 URLs sharedSame intent, slight variation1 page. Cover both phrases as H2 sections inside the hub.
1-2 of 5 URLs sharedAdjacent but distinct2 pages. Cross-link, ensure each has a clearly different angle.
0 URLs sharedDifferent intent entirely2 pages. Treat as unrelated for architectural purposes.

What this looks like on a real client site

One incoming Tenmar audit found a service hub for glass railing installation in BC and a separate blog post titled something close to "how much does glass railing installation cost in BC." Both pages targeted phrases that returned 4 of the same 5 URLs in the top 5. Same intent, 2 pages competing.

The fix was to fold the cost content into the hub as a properly structured H2 with a pricing table, then 301 the blog post to the hub. We did the same exercise across the site as we expanded from 5 pages to 85+. 4x lead generation in 10 weeks, and a meaningful chunk of that was redirected internal authority finally pointing at a single canonical page per intent.

The lesson is the inverse of what most agencies tell clients. More pages is not the goal. The right number of pages is the goal. Sometimes the highest-leverage move is deleting a URL.

The hub-spoke rule I do not break

If the hub targets "private spa Vancouver," no spoke page can target "private spa Vancouver." That is non-negotiable. The hub owns that exact keyword. Spokes target adjacent phrases with their own SERPs: "private spa with sauna Vancouver," "couples spa Vancouver," "private cold plunge Vancouver." Each spoke has been SERP-confirmed to have a different top 5 than the hub.

This is the analysis I keep internal. The client sees the content plan, not the spreadsheet of overlap percentages I used to build it. Showing the work is not what the client is paying for. Making sure the work is correct is.

How to spot it on your own site

If you want to run a 30-minute version of this audit yourself, do this. Pull your top 50 ranking pages from Google Search Console. Sort by clicks. For any keyword that has multiple URLs receiving impressions, open the SERP for that keyword and check whether 1 of your URLs is consistently outranking the other, or whether they trade positions. Trading positions is the signal. It means Google is undecided about which of your pages should serve that intent. That is cannibalization in real time.

The fix is almost always consolidation, not deletion. The losing URL gets folded into the winning one as a section, then 301-ed. The combined page becomes stronger than either was on its own.

The takeaway

Volume of pages is the wrong metric. Coverage of distinct intents is the right metric. If you cannot draw a clean line between what 2 pages on your site target, neither of them is going to rank well. The fastest growth I have seen on incoming accounts has come from publishing fewer pages and making each one own its keyword cleanly.

Liam Lytton is the founder of The 66th, an SEO and GEO agency in Vancouver that has driven results including 1,500% organic traffic growth, 5x revenue, and 4x lead volume for clients across North America.

More notes.

All posts →
How to Fix a Page That Won't Get Indexed by Google
SEO

How to Fix a Page That Won't Get Indexed by Google

May 4, 202611 min read
What Is Striking Distance in SEO? A Practical Guide for Local Businesses
SEO

What Is Striking Distance in SEO? A Practical Guide for Local Businesses

May 4, 202611 min read
Why Your Google Reviews Are an SEO Asset
Local

Why Your Google Reviews Are an SEO Asset

May 4, 20268 min read
Reach out anytime

Ready to future-proof your business?

Book a Free Call