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.
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
What you need first
- Search Console query data with page-level breakdown, 3+ months
- The pages competing for each query
Method
- 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.
- 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.
- 03 Where intent is the same, merge: keep the URL with more links and history, fold the unique content in, 301 the other.
- 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.
- 05 Fix internal links regardless of route. Cannibalisation is frequently caused by internal anchors pointing the same phrase at two different URLs.
- 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.
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
Title rewrite diagnosis
Use when Search Console shows impressions for a page but the title in results is not the title y...
Internal link equity audit
Use when important pages are buried deep in the site, or when new content takes weeks to be inde...
Intent mismatch repair
Use when a page ranks on page one but gets almost no clicks, or gets clicks and immediate bounce...
Above-fold content weight
Use when a page has strong content that begins only after a large hero, carousel or announcement...