# How do I find and fix keyword cannibalization?

Filter the Search Console Performance report to one query and open the Pages tab. If two or more of your URLs each get a meaningful share of the impressions, they are competing. Fix it by merging with a 301 redirect, differentiating each page's purpose, or making one page the clear primary with consistent internal links. Leave brand queries alone.

By SEOBolt. Published 13 November 2026, updated 13 November 2026.

## Why this happens
Keyword cannibalization means two or more pages on your own site target and rank for the same query, so neither earns the position a single stronger page might. It tends to appear on sites that publish a lot: a product page, a comparison page and a blog post can all answer "best X for Y". Google then alternates between them or ranks both lower than one consolidated page would rank.

It is easy to over-diagnose. Two URLs appearing for the same query is not automatically a problem; they may serve different intents, or one may rank well on page one while the other sits at position 80 and barely shows. What matters is whether the split is hurting the page you want to win.

Our own data shows how often the answer is "do nothing drastic". In seobolt.app's Search Console data (90 days, pulled 13 November 2026), 50 of 1,422 queries were split across two or more URLs with at least 10 percent of impressions each. Of those 50, only 4 called for a redirect, 41 for differentiating the pages, and 5 were brand queries where several pages showing is normal. Redirects were the exception, not the rule.

## How to find and fix it, step by step

1. **Find candidate queries.** In Search Console Performance, open the Queries tab, sort by impressions and click a query to add it as a filter. Then open the Pages tab. If two or more URLs each hold a meaningful share of the impressions (we use 10 percent or more as a threshold), the query is a candidate.
2. **Skip brand queries.** Queries containing your own brand name will often show several pages (homepage, login, pricing). That is expected sitelink behavior, not a problem to fix.
3. **Decide which page should win.** Pick the page whose purpose best matches the query's intent. Usually it is the page with the most impressions, the best position or the most useful content.
4. **Choose the right action.** If the weaker page adds nothing, merge it into the winner and 301 redirect the old URL. If both serve a different intent, differentiate: change the title, H1 and opening of each so each targets its own query, and link the weaker page to the winner with the target query as anchor text. If one page is a near-duplicate, use a rel=canonical to the preferred URL.
5. **Make every signal agree.** Google says redirects and rel=canonical are strong canonicalization signals, and a sitemap is a weaker one. Do not give conflicting signals: the canonical, the sitemap entry and internal links should all point at the same URL.
6. **Update internal links.** Link to the winning URL, not to the one you redirected or demoted. Google recommends linking to the canonical URL consistently when linking within your site.
7. **Re-check after a month.** Return to the same query and confirm one URL now holds most of the impressions and that its position improved or stayed stable.

## Which fix to use
Cannibalization actions and when each applies (Google Search Central canonicalization guidance, read 13 November 2026)

| Situation | Action | How |
| --- | --- | --- |
| Weaker page adds nothing the winner lacks | Consolidate | Merge the useful parts into the winner, then 301 redirect the old URL |
| Pages are near-duplicates and both must exist | Canonical | Add rel=canonical on the duplicate pointing to the preferred URL |
| Pages serve different intents | Differentiate | Retarget title, H1 and intro of each; link the weaker page to the winner |
| Query names your brand | Do nothing | Several of your pages appearing is normal |

## When to use SEOBolt for this
seo_gsc_cannibalization reads your connected Search Console property and lists queries where two or more URLs each get at least 10 percent of the query's impressions. For each query it shows the competing URLs with impressions, clicks and position, a recommended primary URL and an action (consolidate, redirect or differentiate). Brand queries are marked brand_ok with no redirect proposed, and utility, legal and non-HTML URLs are never proposed as redirect candidates. It returns suggestions only.

If your competitors' names appear in queries, seo_set_competitors stores a list so those queries are not mistaken for brand queries. It needs your Search Console connected and a plan that includes the integration; /pricing shows which.

MCP tools involved: `seo_gsc_cannibalization`, `seo_gsc_secondary_keywords`, `seo_set_competitors`.

**When SEOBolt is not the right tool:** A report cannot know your business intent. Treat the recommended primary URL as a proposal and check that it really is the best page for the query before redirecting anything.

## Prompt to give your AI assistant

With the SEOBolt MCP server connected (https://seobolt.app/mcp-seo):

```text
Assign to SEOBolt: for sc-domain:example.com run seo_gsc_cannibalization and list only queries where the proposed action is redirect or consolidate, with the winning URL and why. Do not change anything. Show me what you did so I can approve each redirect before it is made.
```

## FAQ
### Is keyword cannibalization a Google penalty?
No penalty is involved. It is a signal-splitting problem: your own pages compete, so none of them may rank as well as one consolidated page.

### Should I redirect every pair of competing pages?
No. Redirect only when the weaker page adds nothing. In our own data, 4 of 50 split queries called for a redirect; 41 needed differentiation.

### How do I choose the primary page?
Choose the page whose purpose best matches the query, usually the one with the most impressions and best position, then make internal links, canonical and sitemap all point to it.

### Does a sitemap fix cannibalization?
Not by itself. Google describes sitemap inclusion as a weaker canonical signal than redirects or rel=canonical.

## Sources
- [Google Search Central: How to specify a canonical URL](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls), read 13 November 2026
- [Search Console Help: Performance report (Search results)](https://support.google.com/webmasters/answer/7576553), read 13 November 2026

## Related
- [How do I find keywords I already rank for but don't target?](https://seobolt.app/solutions/find-keywords-you-already-rank-for)
- [How can I use Search Console data from Claude or ChatGPT?](https://seobolt.app/solutions/google-search-console-with-claude-or-chatgpt)
- [Why your website is not ranking on Google](https://seobolt.app/blog/why-website-not-ranking-google)
- [All problems and solutions](https://seobolt.app/solutions)

HTML version: https://seobolt.app/solutions/fix-keyword-cannibalization
