Find and Fix Query Cannibalisation
Cannibalisation is usually diagnosed by eye and fixed by deleting one page, which is often wrong. The real signal is instability - Google alternating between URLs for the same query because neither is a clear best answer. Deleting the wrong one loses history; the fix is usually structural, changing which page targets what and how they link.
Use when a query keeps swapping between two of your URLs in the results, or a page that once ranked well has drifted down without any obvious cause.
The skill file
What you need first
- Search Console query-by-page export for 6 months
- the URL that ranks today for each affected query
- internal anchor text pointing at each candidate page
Method
- 01 For each query, list every URL that has received impressions. Two or more URLs with meaningful impressions on the same query is the pattern worth investigating.
- 02 Check volatility rather than overlap alone: if the ranking URL changed 3 or more times in 6 months, that is genuine cannibalisation. Stable overlap where one page clearly dominates is usually harmless.
- 03 Decide the winner by inbound equity and conversion, not by which currently ranks. The currently ranking page is often the accidental winner of a coin toss.
- 04 Audit internal anchor text. Mixed anchors pointing at both URLs with the same phrase is frequently the actual cause, and repointing them fixes it without touching either page.
- 05 Differentiate the loser rather than deleting it - retarget it to an adjacent query the cluster needs anyway, and rewrite its title and H1 to match that instead.
- 06 If the loser cannot be differentiated because the topic genuinely is one page, merge and 301 into the winner, then update every internal link to point at the target directly rather than through the redirect.
What this produces
A per-query resolution recording the designated winner, the anchor text changes, and whether the second URL was retargeted or merged.
Where this goes wrong
- calling every overlap cannibalisation when stable overlap with one dominant URL costs nothing
- keeping internal links pointing through the redirect chain after a merge, which dilutes the signal you just consolidated
- deleting the page that currently ranks lower even though it holds all the external links
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 should I audit rather than delete one of the two pages?
When you cannot say which page Google is treating as the answer. Deleting by eye loses history and often removes the URL carrying the external links. The signal worth acting on is instability, meaning the ranking URL keeps changing. Stable overlap where one page clearly dominates costs nothing and is not worth touching.
What do I need in hand before starting?
Six months of Search Console query-by-page data, the URL that ranks today for each affected query, and the internal anchor text pointing at each candidate. The anchors are the input most people leave out and frequently the actual cause. Without six months you cannot count how often the ranking URL changed, and that count is the diagnosis.
What do I end up with, and which part of it gets used?
A per query resolution naming the winner, the anchor text changes, and whether the second URL was retargeted or merged. The anchor changes are what ships, and often the only change needed. Retargeting the loser to an adjacent query the cluster wants anyway usually beats merging, because you keep the URL and its history.
What ruins this most often?
Choosing the winner by which URL ranks today. That page is often the accidental winner of a coin toss while the other holds the external links and the conversions, so decide on inbound equity and conversion instead. After a merge, repoint every internal link at the target directly rather than leaving them running through the redirect you just created.
More in Content strategy
Build a Topical Map From Real Demand
Use when you have a subject area but no defensible list of what to publish, and keyword exports...
Prioritize by Effort Against Realistic Win
Use when your content backlog is longer than your capacity and you need to decide what gets buil...
Decide Build New or Refresh Existing
Use when a target query is one you already have a page for and you are unsure whether to rewrite...
Competitor Gap Analysis Without Fooling Yourself
Use when you want to learn from competitors' content but keep producing a list of topics you hav...