Audit my site
KeywordsIntermediateChecked against Google docs · Oct 2026

Keyword cannibalisation: when your own pages compete, and how to fix it

Two pages that answer the same search intent split your signals and make Google switch between them. Sharing a keyword is not enough to call it a problem, so learn to confirm it in data before you merge anything.

Author: Eugene Serbin, Head of SEO at Semalt Updated: 30 October 2026 Reading time: 16 min Visuals: 4

In short

Keyword cannibalisation is when two or more pages on your site try to answer the same search intent, so Google keeps switching between them and neither ranks as well as one combined page would. Sharing a keyword is not the problem: two pages with different intents, or two of your results on the same results page, are normal. You confirm it in Search Console (one query, several pages taking turns) and fix it by choosing one winner, then merging and redirecting, differentiating, or de-optimising the other page.

What keyword cannibalisation really is

The usual definition, that several pages rank for the same keyword, is too broad. Almost every site has pages that share words. The real problem starts when two pages satisfy the same intent: a searcher would be equally happy with either, so Google has to choose between them, and the choice keeps changing.

Compare two pairs on example.com:

American sources call it keyword cannibalization, British ones keyword cannibalisation. It is the same thing. There is no cannibalisation penalty. The cost is practical: links, internal links and attention are split between two URLs, and Google may show the weaker one. Google's SEO Starter Guide notes the user side: such pages “can be a confusing user experience”.

Mapping one primary intent to one URL before you publish (see Clustering and the content map) prevents most cases.

When it is not a problem

Many overlaps that SEO tools flag as cannibalisation are healthy. Before you merge anything, rule out these cases.

Two of your results on one results page

If Google shows two of your pages for one query, as a main result with an indented one or as two separate results, you are taking more space, not less. Search Console counts this as one impression for the property: “For example, if two results from the same site appear for one query, they count as a single impression in the chart total.” Nothing to fix.

Different intents behind similar words

A guide, a product category, a comparison and a glossary entry can all contain running shoes. If each one answers a different question, they are not competing. The results page tells you: if Google shows guides for one query and shops for another, the intents differ (see Search intent and SERP analysis).

Brand and navigational queries

For your brand name, Google often shows many of your pages. That is expected. Search Console defines “Branded queries: Search queries that include your brand name, domain, or a brand-specific product or service.” Use the Branded / Non-branded query filter, where your property has it, and exclude brand queries from cannibalisation analysis.

A broad head term

For a short, ambiguous query such as running shoes, Google may mix shops and guides because searchers want different things. Your category and guide taking turns there is not automatically a problem; focus on specific queries with a clear intent.

Long-tail overlap with little demand

A second URL picking up a handful of impressions for a rare query is noise. Google matches pages to many phrasings on its own: “Google's language matching systems are sophisticated and can understand how your page relates to many queries, even if you don't explicitly use the exact terms in them.” Act only on queries with real demand where two or more pages each get a meaningful share of impressions.

What Google officially says

Google's documentation does not use the word cannibalisation. It does describe the pieces you need: how to see which of your pages appear for a query, and how to consolidate pages that say the same thing.

“If you have multiple pages that have the same information, try setting up a redirect from non-preferred URLs to a URL that best represents that information. If you can't redirect, use the rel="canonical" link element instead.”

Google Search Central — SEO Starter Guide

“Use permanent redirects to tell Google that a redirected URL is a worse version than the URL it redirects to. Use this only when deprecating a duplicate page.”

Google Search Central — How to specify a canonical URL

Two more points from the same documentation shape every fix below. Redirects are “A strong signal that the target of the redirect should become canonical.” And when you measure, “In general, it's recommended to focus more on trends in impressions and clicks than on position alone.”

Symptoms of real cannibalisation

One symptom is rarely enough. Look for two or three of these on the same query family.

Chart · URL flipping for one query (illustrative)
The ranking URL for one query flips between two pages Illustrative weekly data for the query running shoes for flat feet over 12 weeks. The topmost result alternates between a guide and a blog post, staying between positions 9 and 13. Neither page holds a top position. 15101520 Average position (lower is better) W1W2W3W4W5W6W7W8W9W10W11W12 /guides/flat-feet-shoes/ /blog/flat-feet-2026/
Illustrative data: the topmost URL for one query changes almost every week and stays mid-page, the classic picture of two pages competing for one intent.

How to detect it in Search Console

The Performance report shows which of your URLs Google actually displayed for real queries. Work with non-branded queries and at least three months of data.

Query first: which pages appear for this query?

Search Console Help describes exactly this task: “To view the specific pages from your site that Google has shown for a given query:”

  1. “Click the Queries tab.”
  2. “Click a query in the table to filter all report data to the selected query.”
  3. “View the Pages tab to see which URLs were shown.”

Clicking a row is a shortcut for a filter: “OR, click any row in a table to automatically filter data by that row.” If the Pages tab shows one URL with almost all impressions, there is no problem. If it shows two or more URLs with substantial impressions, write the query down as a candidate.

Page first: what else does this page rank for?

Now reverse it. Add a page filter for one of the competing URLs and open the Queries tab. Then do the same for the other URL. Queries that appear in both lists, with real impressions on both, are the overlap. It also shows what each page is uniquely good at.

Query families with regex

“Queries shown in the table are exact matches (non-case-sensitive).” A single query hides the pattern, because demand is spread over many phrasings. Google's tip: “You can use regular expressions to match several similar queries”. A query filter with Custom (regex) such as flat ?feet.*(running|shoes) groups the whole family before you open the Pages tab.

Watch the flipping over time

With the query filter on, compare two periods and look at the Pages tab: the pages that gained and lost impressions between periods are the ones taking turns. “Sort by the Difference column to see queries or pages with significant change from a previous period.”

Read the numbers correctly

Workflow · Detecting cannibalisation
Cannibalisation detection workflow Step 1: in the Queries tab, click a query. Step 2: open the Pages tab to see which URLs were shown. Step 3: filter by one competing page. Step 4: open the Queries tab to see what else it ranks for. Step 5: crawl to compare titles, H1s and anchor text. Step 6: decide whether it is a real problem. STEP 1STEP 2STEP 3STEP 4STEP 5STEP 6 Query filterPages tabPage filterQueries tabCrawl checkDecide click a queryin Queries tab which URLswere shown one competingURL at a time overlap andunique queries titles, H1s,anchor text real problemor normal? Repeat for each query family with real demand. Leave brand queries out.
Search Console tells you which pages compete; the crawl tells you why they look the same to Google.

How to detect it with a crawl

A crawl finds overlaps before they show up in Search Console, and explains the ones that already do. Export title, H1, meta description, URL and internal links, then look for:

How to choose the winner page

Every fix starts with one decision: which URL should own the intent. Score the candidates on the same criteria and look at the whole picture, not one number.

CriterionWhat to look atWhere
Search trafficClicks and impressions for the whole query family, not one querySearch Console, query regex + Pages tab
PositionsWhich URL Google shows more often and higher, over monthsSearch Console, period comparison
BacklinksReferring domains pointing to each URLSearch Console Links report, backlink tools
ConversionsSales, leads or sign-ups that start on each URLYour analytics
Intent fitWhich page type matches what Google shows for the queryThe results page itself
URL qualityA clean, durable URL without a year or campaign in itThe URL

When the scores are close, keep the URL with more backlinks and move the best content into it.

How to fix it

The right fix depends on two questions: do the pages really share an intent, and does the second page have any value of its own?

Decision tree · Which fix to use
Choosing a fix for competing pages If the pages serve different intents, it is not cannibalisation: sharpen titles and link between them. If they share an intent and the content is near-identical while users need both URLs, use rel=canonical to the main page. If the secondary page has no value of its own, merge it and 301 redirect. If it has its own value, differentiate it or de-optimise it. NoYesNo YesNoYes Do both pages serve the samesearch intent? Near-identical content, and usersneed both URLs? Does the second page have valueof its own (links, sales, sub-topic)? Not cannibalisationrel="canonical"Merge + 301 redirect sharpen titles, link between themto the main page, keep it crawlablemove unique parts, then redirect Differentiate or de-optimise own intent, head term out of title, H1, anchors
Most real cases end in merge and redirect; canonical is only for pages that are true duplicates and must stay available.

Merge and 301 redirect

The default fix when two pages cover the same intent and the loser has nothing that needs its own URL.

  1. Move the useful, unique parts of the losing page (a section, a table, an FAQ answer, a fresher example) into the winner. Do not paste the whole page in.
  2. Set a permanent server-side redirect from the loser to the winner. Google: “If you need to change the URL of a page as it is shown in search engine results, we recommend that you use a permanent server-side redirect whenever possible.”
  3. Update internal links so they go straight to the winner, not through the redirect.
  4. Remove the old URL from the XML sitemap and keep the winner in it.

A merge is a one-way decision. Google's guidance is to “Use permanent redirects when you're sure that the redirect won't be reverted.” If you are not sure the pages should become one, differentiate first and decide later.

Differentiate the intent

When both pages have a reason to exist, give each a clearly different job. Turn one into a buying guide and keep the other as the product category, or make one a comparison and the other a how-to. Rewrite the title, H1 and opening paragraph of each so the difference is obvious, and link between them with descriptive anchors such as shop running shoes for flat feet from the guide and how to choose shoes for flat feet from the category.

Canonical, only for true duplicates

rel="canonical" is “A strong signal that the specified URL should become canonical.” It fits when the second URL is a near-copy that users still need: a printable version, a campaign landing page with the same content, the same article in two sections of the site. It is the wrong tool for two different articles on the same topic. A canonical between pages with different content is usually ignored, and the lessons Canonical tags and Duplicate URLs explain why.

Point internal links and anchors to the main page

Internal links are the signal you control completely. Make the main anchor text for the topic point to one URL everywhere: menus, breadcrumbs, related-posts blocks, in-text links and hub pages. Google's rule: “When linking within your site, link to the canonical URL rather than a duplicate URL.” This alone often settles mild cases.

De-optimise the secondary page

If the second page is worth keeping for a narrower topic, take the head term out of its title, H1, opening paragraph and the anchors pointing to it, and let it target its own long-tail intent. For example, /guides/overpronation-shoes/ stops calling itself the best guide to running shoes for flat feet and becomes a page about overpronation, with a link to the main guide.

noindex, rarely

noindex takes a page out of search, but it does not pass that page's signals to the winner. Google says so about duplicates directly: “We don't recommend using noindex to prevent selection of a canonical page within a single site, because it will completely block the page from Search.” Keep it for pages that should exist for visitors but have no search value, such as internal search results or thin tag pages. Do not use robots.txt either: “Don't use the robots.txt file for canonicalization purposes.”

Do not just delete the loser

Deleting the page and returning 404 throws away its links and leaves visitors at a dead end. Redirect it. Google lists this exact case among the reasons for redirects: “You removed a page and you want to send users to a new page.” The lesson Redirects and site migrations covers redirect types in depth.

Content map · Before and after consolidation (illustrative)
URLBefore: targetActionAfter: owns
/blog/best-running-shoes-flat-feet/best running shoes for flat feetWinner. Rename to the guide, expand with merged sectionsInformational: choosing shoes for flat feet
/blog/flat-feet-running-shoes-2026/same list, newer yearMerge fresh picks into the winner, 301 to itNothing (redirects)
/faq/running-shoes-flat-feet/same intent, Q&A formatMove answers into the guide's FAQ, 301 to itNothing (redirects)
/shop/running-shoes/flat-feet/flat feet running shoes (mixed copy)Keep. Commercial title and H1, link from the guideCommercial: buying shoes for flat feet
Illustrative example: four URLs fighting over one intent become one guide and one category, each with a single clear job.

Monitoring after the fix

Write down the date and what you changed, and save a before snapshot: the query family's clicks and impressions, and which pages appeared in the Pages tab. Then check:

Expect weeks rather than days: Google has to recrawl the old and new URLs before rankings settle. If flipping continues, look for a third page or anchors still split between URLs.

Check titles, canonicals and redirects across your site

OurSEO Tools crawls up to 1,000 pages and records the status code, canonical, indexability and load time of every URL, and its 69-point checklist covers on-page, duplicates, redirects and internal linking.

69-point checklistTechnical crawlContent analysis

Common mistakes

Step-by-step workflow

  1. Find candidates: non-branded query or regex filter, then the Pages tab; for the whole site, a query × page export.
  2. Keep real cases: same intent, real demand, two or more pages with substantial impressions.
  3. Reverse the check: page filter, Queries tab, for each competing URL.
  4. Crawl titles, H1s, URLs and anchor text of the pages involved.
  5. Choose the winner and pick the fix with the decision tree.
  6. Implement: content, redirect, internal links, sitemap.
  7. Monitor and update the content map so the intent has one owner.

FAQ

Is keyword cannibalisation a Google penalty?

No. Google states that “Having duplicate content on your site is not a violation of our spam policies”. The cost is split signals and Google showing the weaker page.

Can two of my pages rank for the same keyword?

Yes, if they serve different intents, such as a guide and a product category, or if Google shows both on the same results page. That is only a problem when they take turns and neither ranks well.

How do I see which pages compete for a query in Search Console?

In the Performance report, click the query in the Queries tab, then open the Pages tab. Every URL listed there was shown for that query in the selected period.

Should I use a canonical tag to fix cannibalisation?

Only when the pages are true duplicates that users still need. For two different articles on the same intent, merge them and use a 301 redirect, or differentiate them.

Will I lose traffic when I merge pages?

There can be a short period of movement while Google recrawls both URLs. If you merge the unique content, redirect properly and update internal links, the winner usually takes over the queries both pages were sharing.

How long until I see the effect?

Usually weeks, depending on how often Google crawls the pages. Compare an equal period before and after the change, and focus on clicks and impressions for the whole query family.

Sources

Quotes checked against the official pages on 30 October 2026.