
The fix for keyword cannibalization is almost never “write a better page.” Pick one of three moves instead: merge the weaker page into the stronger one with a 301 redirect, split the two pages onto genuinely different queries with new internal links, or leave them alone because nothing is actually competing. Guess at which one applies without checking Search Console first, and you'll burn a week rewriting a page that never needed it.
Here's how to tell which page is wrong, and what to do about it.
Open the Performance report, filter by the query you suspect is cannibalized, and check the Pages tab underneath it. Two or more of your own URLs showing impressions for the same query? That's your candidate. The tell isn't that both appear — Google routinely shows two pages from one site for a broad query, on purpose. The tell is that both sit in positions 6 to 20, neither climbs, and the rankings swap back and forth week to week with no change to either page. That's Google testing which URL you meant, and never settling, because your own site hasn't told it.

Pull this at the query level, not the page level. Cannibalization is a query problem that happens to involve two pages — treat it as a page problem and you'll fix the wrong one.
There's no manual action for this. Google doesn't punish you for having two pages about the same subject. What actually happens is quieter: the links, the clicks, and the relevance signal for that query get split between two URLs instead of pooled into one. A page that would rank at position 4 with all the signal behind it instead sits at 11 with half of it, while its sibling sits at 14 with the other half. Neither page is weak. They're just fighting each other for a prize only one of them can win.
This bites hardest on sites with a lot of pages chasing similar terms — which is exactly where a content plan built from real search gaps, instead of a raw list of keyword ideas, keeps you from creating the problem in the first place.
When it's exactly two pages fighting over one query, don't merge them into some blended third page. Pick the one with more backlinks, more existing traffic, or better conversion. Treat the other as raw material.

If the two pages are different formats answering a genuinely different intent — one covers “what is X” and the other covers “X vs Y” — don't merge them. That's not cannibalization. That's two valid pages that need clearer internal links and distinct title tags so Google stops mixing them up. The fix there is differentiation, not consolidation, and confusing the two is the single most common mistake in this exercise.
Keyword cannibalization predates AI content tools, but automated publishing makes it far easier to create by accident. A content calendar that spins up a new article every time a related keyword turns up in a research tool will, sooner or later, produce two pages answering the same question under different headlines. The fix isn't to publish less. It's to check for overlap before publishing, and to audit existing pages on a schedule instead of waiting until two of them are visibly fighting in the results. A refresh process that revisits older articles on a regular cycle is also the natural place to catch pages that have quietly drifted onto the same query over time.

If you already pull a ranking report, the data to catch this is already sitting in it. Look for the same query assigned to two URLs, with neither one stable. SearchAgent's Rank Agent reads Search Console nightly and flags exactly this pattern as an overlap, so you catch it before it costs you three months of flat rankings on a term you should be winning. It won't rewrite the page for you — merge or split is still your call — but it tells you which two pages are splitting the vote.
Why is keyword cannibalization bad? It isn't a Google penalty. It's your own pages splitting the clicks, links, and relevance signal that one consolidated page would otherwise concentrate — which usually leaves both ranking lower than either would alone.
Is keyword cannibalization still a thing? Yes — and content automation has made it more common, not less, because it's easy to publish a new article on a topic without checking whether an older one already covers the same ground.
What's the best way to fix it on two pages? Confirm it in Search Console first. Pick the stronger page based on traffic and backlinks, fold in anything unique from the weaker one, 301 redirect the weaker URL to the stronger page, and update every internal link that still points at the old one.