How to Find and Fix Keyword Cannibalization Issues (in Seconds)

Joshua Hardwick
Head of Content @ Ahrefs (or, in plain English, I'm the guy responsible for ensuring that every blog post we publish is EPIC).
Article stats
  • Monthly traffic 184
  • Linking websites 237
  • Tweets 119
Data from Content Explorer

Shows how many different websites are linking to this piece of content. As a general rule, the more websites link to you, the higher you rank in Google.

Shows estimated monthly search traffic to this article according to Ahrefs data. The actual search traffic (as reported in Google Analytics) is usually 3-5 times bigger.

The number of times this article was shared on Twitter.

    If you’ve been running your website for a few years, you’ll likely have multiple pages/posts targeting the same topic or keyword. This is bad. Or is it? 

    For example, Google the phrase “SEO freelancing.”

    There are two different posts from Ahrefs’ blog in positions #7 and #8:

    seo freelancing google

    These rankings fluctuate regularly, so don’t be surprised if things look slightly different for you in the SERPs. 

    This is because we’re targeting, and ranking for the same keywords with both pages.

    But more SERP real estate like this is a good thing, right?

    So why is this (potentially) an issue?

    Two words: keyword cannibalization.

    What is keyword cannibalization? (and why is it an issue?)

    Keyword cannibalization is when a single website (e.g. unintentionally targets the same keyword across multiple posts or pages.

    Many SEOs believe that this “confuses” Google.

    Image taken from

    In other words, they believe that it becomes difficult for Google to decipher which page (if any) should rank for a particular keyword. As a result, sometimes neither page will rank for the target keyword.

    This is usually incorrect.

    I’ll let Patrick Stox, a columnist at Search Engine Land, explain why:

    I’ve heard arguments where people say having multiple pages for the same term somehow confuses search engines. This whole idea is preposterous. Search engines know what is on individual web pages. Other people think there are times when Google shows the wrong page for a search term, but that’s not right, either. What you consider your best, most relevant page for a query may not be what the search engines deem to be most relevant. Search intent is critical here. If your page doesn’t have relevant information or is surrounded by informational “how to” articles or pages from Wikipedia, there is a high likelihood your pages aren’t going to show. 
    Patrick Stox
    Patrick Stox SEL

    Like Patrick says, Google is smart. It almost always understands what your page is about and whether or not it matches searcher intent for a particular query.

    This is why you can’t force product pages to rank for informational queries.

    For example, take a look at the SERPs for the query “best business card ideas”. Every result in the top 10 is a listicle-style blog post. There are no product pages.

    best business card ideas serps

    This comes down to searcher intent; people who are searching for this term don’t want to see product pages.

    But this doesn’t mean that keyword cannibalization isn’t an issue…

    Here are two reasons why it is:

    1. It can cause an UNDESIRABLE page to rank above a DESIRABLE page (i.e., the one you really want to rank)

    Google the phrase “competitor backlink analysis.”

    You will see these two posts ranking in positions #6 and #7:

    competitor backlink analysis 6 7

    Google believes that both of these are relevant results for that particular search term. And they’re right, kind of.

    The issue is that the result in position #6 was published 4+ years ago.

    link audit competitive backlink analysis

    And thus, it contains a ton of screenshots showing a very old Ahrefs UI.

    old ahrefs ui

    It’s also a pretty short post. (1278 words, to be exact). Now, word count is rarely the best judge of quality. But for comparison, most of our recently published in-depth posts easily run 2K+ words. 

    But the result in position #7 is a much more in-depth post that we published in 2017.

    8 actionable ways to loot your competitors backlinks

    It’s more up-to-date and offers better advice.

    We, therefore, would prefer this page to rank highest.

    So in effect, we’re “cannibalizing” our search traffic.

    If the page in position #6 didn’t exist, chances are the page currently in #7 would rank in its place.

    And this isn’t just an issue with out-of-date content, either.

    Here are a couple of other reasons YOU may want one page to rank over another:

    1. Higher conversion rate: You have two blog posts about a similar topic (e.g., “how to lose weight”, and “10 weight loss tips for men”). One of the blog posts features a post-specific lead magnet, and it converts like crazy. The other blog post doesn’t. So which page would you prefer ranked for the term “how to lose weight”? It’s the one that converts visitors into leads, right?
    2. Higher profit margins: You have two similar products on your website. Let’s go with something dull and boring, like socks. Both products cost the consumer roughly the same price—$5. But one of the products is your brand, and the other is sold by a third-party (on your website). Which product page would you prefer to rank for “buy socks for $5”? It’s the own brand product because this makes you more money (due to higher margins).

    But there’s another, more important reason to avoid keyword cannibalization…

    2. It can effectively drag down your rankings for both pages

    In the example above, we have two similar pages ranking in positions #6 and #7.

    But why aren’t either of these pages ranking in position #1?

    Well, there could be any number of reasons.

    BUT…it could be due to the dilution of links (and content).

    Let me explain.

    The number (and quality) of backlinks pointing to a page is a significant “ranking factor”.

    I mean, just look at any top 10 ranking page for any keyword with search volume. There will almost always be a good number of inbound links pointing to the page.

    Tip: Use SERP Overview in Keywords Explorer to check the number of ref. domains for the top 10 ranking pages

    Go to Keywords Explorer, enter any keyword, then scroll down to the SERP Overview.

    This displays the top-10 ranking pages in Google for that query. And it also shows the number of referring domains pointing towards each page.

    competitor analysis backlinks

    You can see that each of the top-10 ranking pages for “competitor backlink analysis” have quite a few backlinks.

    This means we’ll probably need the same, if not more backlinks pointing to our page to beat these results in the SERPs. 

    But if you have two similar pages, any inbound links are effectively split between those two pages.

    For example, here’s the backlink profile for our SSL study:

    ssl study backlinks

    And here’s the backlink profile for our HTTP vs. HTTPS for SEO guide:

    referring domains http vs https

    Both of these pages rank for “SSL SEO”. The first in position #9. And the latter in position #10.

    So what’s the issue?

    Well, imagine if the combined number of referring domains (164 + 129 = 293) all pointed to a single page; that page would almost certainly rank higher than position #9 or #10. It might even break the top 3.

    And this isn’t the only issue.

    Content dilution can also be a problem.

    For example, we have a few blog posts on the topic of “broken link building.”

    broken link building

    Each of these posts contains some valuable information. But none of them offer an industry-leading resource.

    In essence, one potentially great post has been diluted across three mediocre posts.

    And because of this, none of these posts attract many backlinks.

    broken link building batch analysis

    We’re currently working on consolidating and refreshing these posts into one. So this may no longer be an issue by the time you read this article. 

    Having said this, one of these posts does currently rank in the top 3 for “broken link building”.

    broken link building position 3

    But if we consolidated all of the great advice across all three posts into one epic post, it would likely be more of a “linkable asset” than any of our current three posts.

    And if more people were to link to it, it would probably rank higher—maybe even #1.

    The Caveat to the Rule: When Keyword Cannibalization Isn’t An Issue

    If you rank in positions #1 and #2 for the same keyword, and you’re holding those positions long-term, then you don’t need to worry about keyword cannibalization.

    Example: currently holds the #1 and #2 spot for “back and bicep workout.”

    back and bicep workout google search

    They’ve also held both of these positions consistently for 6+ months.

    bodybuilding back and bicep workout rankings

    So why would they want to “solve” this issue?

    They wouldn’t.

    In fact, not only are they ranking in the two positions with the highest CTR. But in doing so, they’re also effectively lowering the number of clicks to competing sites.

    They would only want to “fix” this issue if the page ranking in position #1 was somehow performing worse than the page in position #2. E.g., if the conversion rate on the top ranking page was lower than on the other page, or if the bounce rate was unusually high—for whatever reason—on the top ranking page.

    But as Google takes user engagement signals (e.g., bounce rate, dwell time, etc.) into account when ranking pages, chances are this isn’t the case anyway.

    How to Identify Keyword Cannibalization Issues (in SECONDS)

    Here’s the good news:

    I’ve simplified and automated the process of identifying keyword cannibalization issues in Google Sheets. (Keep reading for the spreadsheet link.)

    But first, let’s take a look at the tedious and time-consuming process most people use:

    1. Paste website into Site Explorer;
    2. Go to the Organic Keywords report;
    3. Export all keywords to CSV (note: it will also make life easier if you delete any irrelevant data/columns);
    4. Open the CSV in Excel (or Google Sheets). Then sort the keywords A‑Z;
    5. Manually sift through the file and highlight all duplicate keywords;

    It’s that last part of the process that’s the most time-consuming.

    It isn’t too bad if your site only ranks for a handful of keywords. But if you’re ranking for thousands of keywords, it can take hours.

    So if you want to automate this process, make a copy of this Google sheet: download it here.

    IMPORTANT: Make a copy of the Google Sheet… don’t request access to the original!
    To do this, hit File > Make a copy…

    make a copy kw cannibalization

    Give the template a name, choose where you want to save it (on your Drive), then hit OK.

    copy spreadsheet google drive

    You will now have a fully-editable copy of the file on your Google Drive.

    Please do not request edit access to the original document. We cannot grant this permission as it will destroy the original template for everyone else.

    Plus, it sends me annoying email notifications. So please don’t do it! 🙂 

    Here’s how to use it:

    For those of you who prefer to read, here’s a written walkthrough:

    1. Export Organic Keywords from Ahrefs’ Site Explorer

    First things first, you need to find all of the keywords your site ranks for using Ahrefs’ Site Explorer.

    You can do this using the Organic Keywords report.

    Next, hit the SERP features filter and exclude all SERP features where your site is featured.

    Then export the report and download the CSV.

    2. Import the data (from the downloaded CSV) into the Keyword Cannibalization Finder Tool

    Open your copy of the Google Sheet. Then navigate to the sheet titled “1. Ahrefs KW Export” (you will probably be on this sheet by default, but it’s worth double-checking).

    Make sure cell A1 is selected—just click it once with your cursor.

    Screen20Recording202018 02 2220at2010.1020pm

    Go to File > Import.

    Screen20Recording202018 02 2220at2010.1120pm

    Then upload the CSV export of the Organic Keywords report.

    Screen20Recording202018 02 2220at2010.1220pm

    You should then see a pop-up—make sure to select the option to “replace data at selected cell.” Leave all other options as they are by default.

    keyword cannibalization tool upload data

    Hit “Import data”.

    import data button

    3. Done!

    That’s it—just navigate to the “results” tab to see the results.

    results tab

    You should see something like this:

    keyword cannibalization issues

    As you can see, it only pulls through terms with more than one page in the SERPs (i.e., potential keyword cannibalization issues).

    This is pretty accurate. But it’s not 100% foolproof. There is the occasional false positive (e.g., HTTP and HTTPs version of a page). 

    It tells you the keyword (column 1), current ranking position (column 2), search volume (column 3), and URLs (column 4).

    No need to spend hours sifting through thousands of URLs—it’s all automated! 🙂

    But now that you’ve identified the cannibalization issues, how do you fix them?

    How to Fix Content Cannibalization Issues (hint: you don’t ALWAYS need to)

    Like I said above, there isn’t always a need to “fix” keyword cannibalization issues.

    You should use the advice above and judge whether or not a “fix” is needed on a case by case basis.

    But when the “issue” does need to be solved, how do you do it?

    Here are your options:

    Option 1. De-optimise

    This is the best option when you have a page ranking for a bunch of keywords (and thus receiving lots of organic search traffic). But you’d prefer that it didn’t rank for (at least) one keyword because it’s “cannibalizing” another page.

    You don’t want to delete the page because it still brings a lot of organic search traffic from other keywords.

    And you don’t want to redirect it because the page is still valuable.

    So again, the best option here is to try to de-optimize that page for that specific keyword.

    Here’s how to do that:

    1. De-optimise the content itself: Look through the content and remove any references to that undesirable keyword. This won’t usually make a huge difference (Google doesn’t just rely on exact keywords, after all) but it won’t hurt.
    2. Change any internal links (especially those with keyword-rich anchors): If you have any internal links pointing to the undesirable page, it might be worth either swapping out the destination of the links to that of the desired page, nofollowing them, or removing them entirely. Links with keyword-rich anchors are the top-priority here, as any links containing the undesirable keyword in the anchor text may be helping the undesirable page to rank for that keyword, so change the anchors to something else.
    3. Request any anchored inbound links (from external sites) be changed: Along with internal links, it’s worth checking if any external inbound links point to that particular page using undesirable keywords. You can use the Anchors report in Ahrefs’ Site Explorer to find these. Note: This can be quite difficult to do in some cases, as you have to contact the linking sites and request that they change the link—some sites won’t do this (or they’ll just remove your link altogether).

    Option 2. Merge

    This is the best option when you have two very similar pages that are already ranking for the same keyword.


    On the Ahrefs’ blog, we have two posts that rank for the term “SEO freelancing”.

    There’s this one:

    seo freelancing post 1

    And this one:

    seo freelancing 2

    Both contain good advice on the same topic. So we don’t want to delete either of them.

    They also both have a few inbound links, which are valuable.

    seo freelancing posts backlinks

    So the best option here would be to merge the two resources into one “master” resource.

    Then 301 the other page, or both of them, to the new URL.

    Doing this will preserve the “link juice.” And because all links are now effectively pointing at a single page (rather than two), we may even rank higher for “SEO freelancing” and other related terms.

    Option 3. Delete

    This is the best way forward when:

    1. You have a low-quality page potentially “cannibalizing” (i.e., stealing traffic from) a similar but better page;
    2. That page doesn’t offer any value whatsoever to your visitors.

    But before you hit the delete button, always make sure to check whether the page has any inbound links.

    Use Ahrefs’ Site Explorer to check inbound links before deleting a page
    Go to Site Explorer, enter the URL, then check the number of inbound links.

    site explorer backlinks check

    You can see that the page above has 17 backlinks from 16 referring domains, for example. 🙂 

    If it does, you can still delete it. But you should always add a 301 redirect from that page to a similar one (or to the homepage if that makes sense).

    If there are no inbound links at all, you can just delete it without worry.

    Option 4. Noindex

    This works best for pages that are useful for your visitors (so you want to keep them). But you want to make sure that they don’t rank in the search engines and potentially cannibalize another page.

    Blog category pages usually fall into this bucket.


    On the Ahrefs’ blog, one of our blog categories is “link building”.

    link building category ahrefs blog

    You can still access this page. But it’s no-indexed…therefore it won’t show up in the search results.

    We did this for two reasons:

    1. To avoid (potential) cannibalization issues: We have a huge link building guide. And we want that to rank for terms like “link building.” We don’t want our blog category page to rank for such keywords. (Yes the chance of this is very slim, but there’s still no harm in making sure).
    2. To avoid people landing on this page: Blog category pages are useful for navigating a website. But they’re not so useful as landing pages directly from the SERPs. In fact, if you searched for “link building” and the #1 result was our link building blog category page, you would probably hit the back button asap.

    Those two reasons are why we noindex all of our blog category pages. And most blogs do the same.

    Option 5. Canonicalize

    A canonical tag (rel=“canonical”) is a snippet of HTML code that defines the main version for duplicate, near-duplicate and similar pages. In other words, if you have the same or similar content available under different URLs, you can use canonical tags to specify which version is the main one and thus, should be indexed.

    This is the best option to use when you have two similar pages that you need to keep (because they’re both useful for your visitors), but you want search engines to rank one of these pages over the other.

    Here’s what a canonical tag looks like:

    <link rel="canonical" href="” />

    How to avoid cannibalization issues in future

    It can be a pain to solve keyword cannibalization issues that have built up over time.

    That’s why the best option is to try to avoid them in the first place.

    Luckily, doing this is quite straightforward. You just need to follow this process whenever you’re planning to publish a new page or blog post:

    First, head over to Google and do a “site: search + your target keyword.

    For example, if you were planning to publish a blog post about “link building,” this would be your search:

    site search link building ahrefs

    Then check out the results.

    If you spot a page/post that looks to be targeting this keyword already, you may want to rethink your target keyword for the new page/post.

    You can check if that page/post is ranking for this keyword by googling the actual keyword and checking the SERPs. Or you can add that keyword to Ahrefs’ Rank Tracker—this will show you the position in which you currently rank. 

    Otherwise, go ahead and optimize for that keyword.

    Final Thoughts

    Keyword cannibalization is a hot topic in the SEO world.

    Some SEOs think it’s a big issue, while others don’t believe it’s an issue at all (due to the fact that Google does a pretty good job at understanding searcher intent).

    But we think it can be an issue. And we believe you should keep an eye on this and fix issues as they arise.

    And with our keyword cannibalization finder tool (in Google Sheets), it should be easier and quicker than ever to find and diagnose cannibalization issues.

    Let us know your thoughts on the issue of keyword cannibalization in the comments. 🙂

    • Monthly traffic 184
    • Linking websites 237
    • Tweets 119
    Data from Content Explorer