Skip to content
AI in Marketing

How to use AI to detect and fix keyword cannibalization

Emulent AI · · 5 min read

Two pages on the same site competing for one query, water heater repair, so neither ranks well

This guide is part of our series on AI content strategy.

Keyword cannibalization happens when two or more pages on your site compete for the same search query. Google switches between them from week to week, links and engagement are split across both, and neither ranks as well as one strong page would. Not every overlap is a problem, though. A product page and a guide can both rank for a term without hurting each other. AI is good at working through thousands of query and page pairs to separate the real cases from the harmless ones.

What you need

  • Google Search Console query and page data for the last 3 to 6 months
  • A list of your URLs with titles, H1s and word counts, from Screaming Frog
  • An AI assistant that reads CSV files, such as Claude
  • Optional: Semrush Position Tracking history, which shows ranking URL changes day by day

Step 1: Export query and page data together

You need every combination of query and page, with clicks, impressions and average position for each. The Search Console interface cannot export this combined view at scale, so use the API, a Looker Studio table with query and landing page dimensions, or a tool that pulls it for you. Keep at least 3 months so short-term switching shows up.

Step 2: Have the AI find overlaps

Attached is Search Console data with columns: query, page, clicks, impressions,
average position, for the last 6 months.
1. Find every query where 2 or more of our pages each have at least 10% of the
   query's total impressions.
2. Ignore branded queries containing: [brand terms].
3. For each query, list the competing pages with their clicks, impressions,
   position and share of impressions.
4. Group queries that share the same set of competing pages into one case.
5. Rank cases by total impressions.
Output CSV: case_id, queries, pages, metrics.

Grouping is the step that makes the list workable. Instead of 400 overlapping queries, you usually end up with 20 to 40 page pairs to review.

Step 3: Separate real cannibalization from harmless overlap

Give the AI the cases plus the titles and H1s of each page:

For each case, using the page titles, H1s and URLs, classify it as:
- Real cannibalization: pages target the same intent and topic; neither ranks
  in the top 3; or the ranking page switches between them
- Different intent: one page serves informational searches and one serves
  commercial or transactional searches (for example a guide and a product page)
- Parent and child: a broad page and a specific page where the specific page
  rightly ranks for the specific query
- Low value: total impressions too small to justify action
Give the reasoning for each classification.

If you are unsure whether two pages serve different intents, search the query and look at what Google ranks. Our guide to search intent matching explains how to read the results page for this.

Step 4: Pick a fix for each real case

Ask the AI to recommend a fix, then decide yourself:

Situation Fix
Two pages cover the same topic and one is clearly stronger Merge the useful content into the stronger page and 301 redirect the weaker one to it
Two pages cover the same topic and both have links and traffic Combine them into one new, better page on the stronger URL; redirect the other
Pages cover related but different subtopics Re-target the weaker page: change its title, H1 and focus to its own subtopic, and link it to the main page
Near-duplicate pages that must both exist (for example print versions or filtered views) Add a canonical tag pointing to the main version
Old post ranking above the newer, better page Update internal links to point at the newer page and consider merging
For each real cannibalization case, recommend one fix from: merge and redirect,
combine into new page, re-target, canonical, internal link change. Name which
URL should be the main page, using clicks, links in, and how well each page
matches the shared queries. List what content from the other page is worth
keeping.

Step 5: Carry out the fixes carefully

  • When merging, move over sections that answer queries the main page lacks. Do not paste the whole old page underneath.
  • Use 301 redirects for removed URLs, and update internal links so they point straight to the main page instead of through the redirect.
  • Update your XML sitemap to remove redirected URLs.
  • For re-targeted pages, change the title, H1 and opening paragraph so the difference is obvious, and add a link to the main page.

Afterward, the site structure often needs a rethink. Clear topic clusters, where each subtopic has one page and every page has a defined job, are the best protection against new overlaps. See our guide to topic clusters and internal linking maps.

Step 6: Check results and repeat

After 4 to 6 weeks, rerun step 2 for the fixed queries. The main page should now hold most of the impressions, with a steadier and usually better position. Run the full check quarterly, and before publishing any new post, search your own site for the target keyword to make sure you are not creating the next overlap.

Put this to work with Bill.

Send Bill your exports and tell him what you are trying to fix. He’ll tell you which of these workflows to run first.

Contact Bill directly
Or call 773-791-3197

Capability is cheap now. Judgement is what you're paying for.

Tell us where AI is helping your marketing and where it's making you nervous. We'll tell you what we'd keep, what we'd change and what we'd stop.

Book a strategy call