For example, Google the phrase “SEO freelancing.”
There are two different posts from Ahrefs’ blog in positions #7 and #8:
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. ahrefs.com) unintentionally targets the same keyword across multiple posts or pages.
Many SEOs believe that this “confuses” Google.
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.
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.
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:
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.
And thus, it contains a ton of screenshots showing a very old Ahrefs UI.
But the result in position #7 is a much more in-depth post that we published in 2017.
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:
- 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?
- 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.
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.
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:
And here’s the backlink profile for our HTTP vs. HTTPS for SEO guide:
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.”
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.
Having said this, one of these posts does currently rank in the top 3 for “broken link building”.
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.
Bodybuilding.com currently holds the #1 and #2 spot for “back and bicep workout.”
They’ve also held both of these positions consistently for 6+ months.
So why would they want to “solve” this issue?
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:
- Paste website into Site Explorer;
- Go to the Organic Keywords report;
- Export all keywords to CSV (note: it will also make life easier if you delete any irrelevant data/columns);
- Open the CSV in Excel (or Google Sheets). Then sort the keywords A‑Z;
- 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.
Give the template a name, choose where you want to save it (on your Drive), then hit OK.
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.
Go to File > Import.
Then upload the CSV export of the Organic Keywords report.
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.
Hit “Import data”.
That’s it—just navigate to the “results” tab to see the results.
You should see something like this:
As you can see, it only pulls through terms with more than one page in the SERPs (i.e., potential keyword cannibalization issues).
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:
- 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.
- 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.
- 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:
And this one:
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.
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:
- You have a low-quality page potentially “cannibalizing” (i.e., stealing traffic from) a similar but better page;
- 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.
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”.
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:
- 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).
- 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="https://ahrefs.com/blog/sept-2017/” />
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:
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.
Otherwise, go ahead and optimize for that keyword.
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. 🙂