Sign in Start free

Keyword cannibalisation resolution

When several pages target one intent, they split signals and Google picks inconsistently. Most advice says merge them, which is often wrong. This skill decides per case between merge, differentiate and demote.

CATEGORY
On-page SEO
FORMAT
keyword-cannibalisation-resolution.md
STEPS
6
PRICE
Free - no account
WHEN TO REACH FOR THIS

Use when two or more of your pages trade places for the same query, or when a page that used to rank has been replaced by a weaker one from your own site.

The skill file

keyword-cannibalisation-resolution.md
---
name: keyword-cannibalisation-resolution
description: Use when two or more of your pages trade places for the same query, or when a page that used to rank has been replaced by a weaker one from your own site.
---

# Keyword cannibalisation resolution

When several pages target one intent, they split signals and Google picks inconsistently. Most advice says merge them, which is often wrong. This skill decides per case between merge, differentiate and demote.

## What you need first

- Search Console query data with page-level breakdown, 3+ months
- The pages competing for each query

## Method

1. For each query, list every URL that has received impressions. Flag any query where the top URL has changed more than twice in the period - flapping is the signal, not merely having two ranking pages.
2. Read the competing pages and decide whether they serve genuinely different intents. Two pages about "pricing" and "pricing vs competitors" are different; two overlapping guides are not.
3. Where intent is the same, merge: keep the URL with more links and history, fold the unique content in, 301 the other.
4. Where intent genuinely differs, differentiate instead of merging: rewrite titles, H1s and opening paragraphs so each targets its own intent unambiguously, and cross-link them with descriptive anchors.
5. Fix internal links regardless of route. Cannibalisation is frequently caused by internal anchors pointing the same phrase at two different URLs.
6. Re-check after a full recrawl and confirm one URL now holds the query consistently.

## What this produces

A per-query decision - merge, differentiate or demote - with the internal-link changes that make the decision stick.

## Where this goes wrong

- Merging pages that serve different intents and losing both rankings
- Ignoring internal anchor text, which is often the actual cause
- Acting on a single week of data where normal fluctuation looks like cannibalisation

---

From the QuQi skill library - https://www.quqi.io/skills/keyword-cannibalisation-resolution
Free to download · no account, no email

What you need first

  • Search Console query data with page-level breakdown, 3+ months
  • The pages competing for each query

Method

  1. 01 For each query, list every URL that has received impressions. Flag any query where the top URL has changed more than twice in the period - flapping is the signal, not merely having two ranking pages.
  2. 02 Read the competing pages and decide whether they serve genuinely different intents. Two pages about "pricing" and "pricing vs competitors" are different; two overlapping guides are not.
  3. 03 Where intent is the same, merge: keep the URL with more links and history, fold the unique content in, 301 the other.
  4. 04 Where intent genuinely differs, differentiate instead of merging: rewrite titles, H1s and opening paragraphs so each targets its own intent unambiguously, and cross-link them with descriptive anchors.
  5. 05 Fix internal links regardless of route. Cannibalisation is frequently caused by internal anchors pointing the same phrase at two different URLs.
  6. 06 Re-check after a full recrawl and confirm one URL now holds the query consistently.

What this produces

A per-query decision - merge, differentiate or demote - with the internal-link changes that make the decision stick.

Where this goes wrong

  • Merging pages that serve different intents and losing both rankings
  • Ignoring internal anchor text, which is often the actual cause
  • Acting on a single week of data where normal fluctuation looks like cannibalisation

Use this skill in your own AI

The download is a plain markdown file with the name and trigger in its frontmatter. Where an assistant supports skills it can load itself, that frontmatter is what it reads to decide this one applies.

Claude Code Save it as ~/.claude/skills/keyword-cannibalisation-resolution/SKILL.md and Claude loads it on its own when what you are doing matches the trigger line. Put it in .claude/skills inside a project instead if the whole team should have it.
Claude Upload the file in the skills section of your settings. Once it is there it applies itself in any conversation where the trigger fits, so you do not have to remember it exists.
ChatGPT There is no skills format to install into, so paste the file contents into a Project instruction or a Custom GPT instead. It then applies to every chat in that project rather than only the one you paste it into.
Anything else Paste the markdown into the chat before your question. It works in any assistant, it just has to be pasted again each time.

Questions about this skill

When do I resolve cannibalisation rather than simply merge the pages?

When the URL holding a query keeps changing, not merely when two pages rank for it. Flapping is the signal that Google cannot decide. The obvious move is to merge, and merging two pages that serve different intents loses both rankings. This skill decides per query between merge, differentiate and demote, and differentiate is right more often than the advice suggests.

What do I need in hand before starting?

Search Console query data broken out by page across at least three months, plus the competing pages themselves to read. One week of data is not enough: normal fluctuation looks exactly like flapping over a short window, and you will merge pages that were never in conflict. Page-level breakdown is essential, since an averaged position hides which URL held the query when.

What do I end up with, and which part gets used?

A decision per query, merge, differentiate or demote, with the internal link changes that make it stick. The link changes are the part that gets used. A merge without redirecting internal anchors leaves the old signal in place, and differentiation fails while the same phrase in your own navigation still points at both URLs.

What most often ruins this?

Merging on overlap of keywords rather than intent. Pricing and pricing versus competitors look like duplicates in a spreadsheet and are not, and a 301 between them costs you the query that was working plus the one you were chasing. Redirects are cheap to ship and awkward to unwind once internal links, sitemaps and external references have followed.

More in On-page SEO