Keyword cannibalisation happens when two of your own pages compete to rank for the same search query, and Google alternates between showing one or the other, both stuck at a mediocre position. You can spot this in the Search Console when a search query is attributed to several different addresses over time. The fix is to merge the pages or to focus their content clearly on different questions.
Two posts, both well written, both on the same topic, both stuck between position 10 and 15 for months. Neither one moves up. In the Search Console, you notice that the search query is sometimes attributed to one post, sometimes to the other. This is keyword cannibalisation: your own pages are competing for the same query, and Google can't decide which one to push forward.
What cannibalisation is, and what it isn't
Cannibalisation is not the same as duplicate content. With duplicate content, the text itself is identical. With cannibalisation, the texts are different, but the search intent behind them is the same. Google treats both as a possible answer, switches between them, and splits clicks, links and signals across two addresses instead of one.
Not every case of multiple rankings is a problem:
| Observation | Cannibalisation? |
|---|---|
| Two pages appear on page 1 at the same time for the same term | No, that's a win |
| A service page and a guide rank for the same term with different intent | No, Google is showing two intents |
| The query switches between two addresses over several weeks, both sitting between position 8 and 20 | Yes |
| A page's position jumps around since a new post on the topic went live | Yes, very likely |
| Several location pages rank for "company name + place" | No, as long as each one ranks for its own location |
How to spot it in the Search Console
The Search Console shows the pattern, if you know where to look:
- Open the performance report and set the date range to the last three months.
- Select the "Queries" tab and click the query you suspect is affected. This sets it as a filter.
- Switch to the "Pages" tab. If more than one address shows noteworthy impressions there, those pages are competing.
- To confirm, split the date range: first the last four weeks, then the four weeks before that. If the address with the most impressions changes, the pattern is confirmed.
- Repeat this for your five to ten most important search queries.
A second clue: a page whose position was stable for weeks and then starts jumping from a certain date. Check which post was published on that date.
Keep or merge
The decision comes down to one question: do the two pages serve the same search query, or two different ones?
- Same question, two texts: merge them. Keep the stronger page (more clicks, more incoming links, a better address), fold in the content from the weaker one, and redirect the weaker address to the stronger one with a 301. Point internal links to the remaining address.
- Two questions that overlap in the text: separate them. Sharpen the title, opening paragraphs and subheadings so each page covers a clearly distinct question. Remove the overlapping section from one page and replace it with a link to the other.
- One question, but two formats (guide and service page): keep both, but keep them clearly separate. The guide answers the question, the service page makes the offer. The guide links to the service page, not the other way round to the same extent.
A canonical tag is rarely the right fix here, because Google often ignores it for pages with genuinely different content. A redirect is unambiguous.
An example from blogging practice
A painting business published the post "Painting a facade: cost per square metre" in 2023. In 2025, it published "How much does facade renovation cost?" without checking the older post first. Both cover price factors, a sample calculation and timing. In the Search Console, "facade painting cost" is attributed to the old post in May, to the new one in June, and back to the old one in July, hovering around position 11 each time.
Decision: the question is the same. The older post has two incoming links from suppliers and the shorter address. So the old address stays, gets the more current text and the 2025 sample calculation, the date is updated to the revision date, and the 2025 address is redirected with a 301. After six weeks, the query is attributed to just one address.
What the business also learns: the facade is a topic big enough for a whole topic cluster, with a pillar page "Renovating a facade" and sub-pages on cost, timing, scaffolding, colour and insulation. With this structure, the second post would have covered its own sub-question instead of duplicating the old one.
Preventing it
- Keep an editorial plan with a "search question" column. Before writing a new post, check whether the question is already taken.
- One question per post, one post per question.
- Search your own website with "site:example.ch topic" before you start writing.
- For seasonal topics, update the existing post instead of writing a new one every year.
What to do with this
Take the ten most important search queries from Search Console and check each one to see whether more than one URL gets impressions. For each pair, decide: merge or differentiate. After that, the content plan makes sure no new pairs appear.
Frequently asked questions
Is it cannibalisation if a service page and a guide both appear for the same term?
Usually not, if both appear on the first page at the same time. Then they serve two intents that Google wants to show, and you take up two spots. It becomes a problem when both pages serve the same intent and keep swapping places without either one moving up.
How long does it take for merging to take effect?
Google has to see the redirect and reassign the signals. In our experience, this takes two to eight weeks, depending on how often Google crawls the pages. After a month, check in Search Console whether the query is now only attributed to one URL.
Can cannibalisation also occur between the blog and the homepage?
Yes, especially with small websites where the homepage carries a lot of text on one topic. If a blog post covers the same topic, the two compete. The solution is usually to keep the homepage focused on an overview and the company, and leave the topic to the post, with a link from the homepage.
Does a canonical tag help against cannibalisation?
Only if the texts are actually almost identical. With two different texts on the same topic, Google often ignores the canonical tag, since it's meant for duplicates. In that case, merging with a redirect or differentiating the content remain the clean solutions.