What is keyword cannibalisation and how do you find it?
Keyword cannibalisation is two or more of your own pages competing for one search term. SEO by Zaweba finds it when it crawls your site.

Keyword cannibalisation is when two or more pages on your own site compete for the same search term. Instead of one strong page, you have several half-strong ones, and search engines have to guess which to show. SEO by Zaweba finds it during a crawl of your own site and lists the pages that are competing for the same term, so you can decide which one should win.
It is one of the site checks, run from the same guided audit you use for a single page.
Why it happens
Most cases are accidental. A business writes a service page, then a blog post on the same subject, then a landing page for a campaign, and all three end up chasing the same phrase. Shops do it with categories and filtered views. Local service sites do it when they copy one page for each town and change only the place name. Nobody planned it, but the result is that links, attention and relevance are split between pages that should have been one.
Why it matters
When pages compete, the one Google picks may not be the one you want. It might be the thin blog post rather than the page that takes enquiries. The choice may also flip from one week to the next, which makes rankings look unstable. And each page gets only part of the internal links that one combined page would have had.
It is not always a problem. Two pages can share a word and still serve different intents. The question is whether they are trying to answer the same search.
Finding it with a site crawl
Start or open a project, set the page and term in step 2, and in step 4 choose to crawl your own site. The crawler reads robots.txt and your sitemaps, follows internal links breadth first to the page limit (500 pages by default, set in Settings under Limits) and builds the internal link graph. The site checks then look across the pages for those competing for the same term.
The results sit with the other site problems on the Site pages tab. Duplicate titles and near duplicate pages are often found in the same neighbourhood, because cannibalising pages tend to look alike.
If you have Search Console data, the Logs and Search Console page can add a second view. Its import lists queries where a different page from the one you intended is ranking, which is cannibalisation seen from Google's side.
Deciding what to do
Pick the page that should rank. It is usually the one that best matches what the results page shows Google wants, and SEO by Zaweba's intent and format comparison helps with that judgement. Then deal with the others in one of a few ways. Merge their useful content into the chosen page and redirect them. Rewrite them to aim at a different, more specific term. Or, where a page has to exist for other reasons, make sure it links to the chosen page with clear anchor text rather than competing with it.
After the change
Run the audit again. The History page compares scans, and if you pasted results pages each time, it also shows your position for each term, so you can see whether consolidating helped. Tasks you mark done on the To-do list are checked again at the next scan and reopened if the problem is still there.