Keyword cannibalisation means several pages on your site are trying to rank for the same search intent. Search engines have to guess which one to show, signals are split, and often neither page performs well.
How to spot it
In Search Console, the same query shows impressions for two or more URLs, and the ranking URL keeps changing.
Two pages have nearly identical titles, H1s or main keywords.
An older article outranks the newer, better page you actually want to rank.
Not every overlap is a problem: a category page and a product page can both appear for different intents. Look for pages that answer the same question.
Four ways to fix it
Merge — combine the best content into one page and 301-redirect the others to it. Update internal links. This is usually the strongest fix.
Differentiate — give each page a distinct intent (for example, “pricing comparison” vs “beginner's guide”) and rewrite titles, H1s and content accordingly.
Canonicalise — if both pages must exist (for example, near-duplicates for different campaigns), point the canonical of the weaker one to the main page.
De-optimise — remove the target keyword from the weaker page's title and headings and link from it to the main page.
Prevent it
Keep a simple map of clusters to URLs and check it before publishing anything new. BoostSEO flags cannibalisation automatically inside each keyword cluster, listing the competing URLs.