Skip to main content

Step 3: How to find cannibalization issues

A step-by-step workflow for finding and resolving cannibalization issues

Updated today

💡 Why is this important

Keyword cannibalization can harm your website’s performance by splitting your authority, reducing click-through rates (CTR), and confusing search engines. Instead of helping your site rank better, competing pages dilute your SEO efforts, potentially hurting your rankings and wasting resources.

What’s in it for you?

By resolving keyword cannibalization, you’ll:

  • Boost rankings for your target keywords.

  • Increase organic traffic by focusing efforts on the most relevant pages.

  • Improve user experience with more precise, more targeted content.

  • Save your crawl budget for more important pages.

🛠️ What you’ll need:

  • Surfer: Topical Map to generate a Cannibalization Report

  • Google Sheets: For organizing and analyzing data

📆 When to do it and how often?

  • Do a keyword cannibalization check quarterly to be sure your site stays optimized.

  • Run the check after the algorithm updates.

  • Run cannibalization audit after major content releases.

Prepare

  1. Go to Surfer and navigate to the Topical Map.

  2. If you don’t have a Topical Map for your domain, create one and wait a few minutes for Surfer to prepare it. Here's how ->

Generate Your Cannibalization Report

  1. Open a Topical Map for your Domain.

  2. Click Export → Select Generate Cannibalization Report.

  3. Once processed, download the report (CSV).

Analyze in Google Sheets

  1. Open the CSV and add 3 new columns:

    • Number of URLs:

      =COUNTIF(A:A, A2)

    • Total Impressions for Keyword:

      =SUMIF($A$2:A, A2, $D$2:D)

    • % of Impressions (per URL):

      =(D2*100)/E2

  2. Create a Pivot Table:

    • Select all data → Insert → Pivot Table → New Sheet

    • Rows:

      • Keyword

      • URL

    • Values:

      • Impressions

      • % of Impressions

      • Position

    • Sort:

      • For keywords → Descending by SUM of Impressions

      • For URLs → Descending by SUM of % of Impressions

    • Filter:

      • Exclude brand keywords

        (Filters → Text does not contain → “Your Brand Name”)

🕵️‍♀️ What to look for

You’re looking for overlap—keywords split between multiple URLs.

It’s a problem if:

  • Two or more URLs share similar % of impressions and similar positions

It’s not a problem if:

  • One URL dominates (70%+ impressions)

  • It’s a branded keyword

  • Extra URLs rank poorly (page 3+)

Prioritize Fixes

Start where it matters most:

  1. High priority: Pages tied to conversions, product, revenue.

  2. Medium priority: Pillar, service, or high-traffic pages.

  3. Low priority: Supporting or long-tail content.

How to fix it

Option A: Merge

If the topic is very similar and the user intent is clear, merge the articles into a single piece of content.

→ Remember to 301 redirect the removed URL.

Option B: Internal linking (signal the target)

Point the search engine in the right direction with internal linking. Use exact-match anchor text in the cannibalizing article to link to the target page. This way, you will give a clear sign that there is a pair of keywords and URLs that you are targeting.

Option C: Separate the intent

Rewrite one of the articles to focus on a different (but related) intent.

→ Check SERPs to validate the difference in search intent.

💡 Options B and C send strong signals to search engines about which page deserves to rank.

🎉 That's it! Now, let's show you how to track and measure your progress in Surfer ->

Did this answer your question?