Keyword Cannibalization in Ahrefs & Semrush: How to Check (and Faster) · Keylogs

If you already pay for Ahrefs or Semrush, you don't need another subscription to check for keyword cannibalization — both tools can surface it, and this guide walks you through exactly where the reports live in each. But it's worth knowing up front what those tools are actually measuring, because it isn't the same data Google shows you about your own site. That gap is the whole reason a lot of "cannibalization checks" miss real clashes and flag fake ones.

Quick answer — where the feature lives:

Both approaches read third-party rank data — a snapshot of what a keyword's SERP looked like when the tool last crawled it — not your Search Console impressions. Keep that distinction in your back pocket; the last two sections are built on it.

How to check keyword cannibalization in Ahrefs

Ahrefs doesn't ship a button labeled "cannibalization," so you find it by reading the organic keyword data the way it's meant to be read.

  1. Open Site Explorer and enter your domain (use the mode — domain, subdomain, path — that matches the section you're auditing).
  2. Go to the Organic keywords report. This lists every keyword Ahrefs believes your site ranks for, with the URL it thinks is ranking and the position for each.
  3. Look for one keyword tied to multiple URLs. This is the tell. When Ahrefs has recorded two different pages of yours ranking for the same keyword — even across recent crawls — that keyword is a cannibalization candidate. Sort or filter the report so keywords cluster, and scan for the same term pointing at different pages.
  4. Read the Position history chart. Click into a suspect keyword and open its position history. This is the classic cannibalization read in Ahrefs: if you see the ranking URL flip between two of your pages — page A holds the spot for a while, then page B takes over, then back again — that's the volatility signature of a genuine clash. A keyword that has quietly held one steady URL isn't cannibalizing.

That flip-flop chart is the most useful thing Ahrefs gives you here, because a single co-occurrence of two URLs can be noise. The back-and-forth over time is the signal.

Be clear about what Ahrefs can and can't show you. Ahrefs isn't reading your site's Google Search Console — it maintains its own keyword database by crawling SERPs and modeling rankings. That has real consequences for a cannibalization check:

None of that makes Ahrefs wrong; it makes it a rank-tracking tool being used for a job that ultimately lives in your own performance data.

How to check keyword cannibalization in Semrush

Semrush is the one tool here with a report that says "cannibalization" on the label — but it's tucked inside Position Tracking, and it has a setup cost.

  1. Set up a Position Tracking campaign. In Position Tracking, create a project for your domain, choose your location and device, and add the keywords you want to monitor. This is the part people forget: the Cannibalization report has nothing to analyze until a campaign has been tracking your keywords for a while.
  2. Open the Cannibalization report inside that Position Tracking project. Semrush flags keywords where more than one of your landing pages has ranked, and highlights where the ranking page has changed — the same flip-flop logic, packaged for you. It'll show you the affected keywords, the competing URLs, and how positions have moved.
  3. Read it the same way you'd read Ahrefs: you're hunting for keywords where two of your pages are trading the ranking, not keywords where a second page shows up once and vanishes.

If you don't want to build and wait on a tracking campaign, there's an Organic Research alternative:

  1. Open Organic Research → Positions for your domain.
  2. Filter or sort so you can spot the same keyword appearing against different URLs.
  3. Cross-check a suspect keyword's history to see whether the ranking page is stable or swapping.

The Organic Research route uses Semrush's database estimates rather than a live tracked campaign, so it's quicker to run but coarser — a decent first pass before you commit to a Position Tracking project.

As with Ahrefs, Semrush is modeling rankings from its own crawl and database. The Cannibalization report is genuinely convenient, but it's still built on tracked/estimated SERP positions for a keyword list you defined — not on the full, actual query set your pages earned impressions for last month.

The honest limitations of both

Ahrefs and Semrush are excellent tools, and cannibalization detection simply isn't the job they were built for. The angle here isn't that one is better than the other — it's that both draw on a different data source than the one that can actually settle whether a clash is real. Three limits apply to both:

Put together, those three limits mean a rank-tracker cannibalization check is a strong hint generator and a weak confirmation tool. It's great for pointing you at suspects. It can't close the case.

The faster way: use your own Search Console data

The data that actually confirms a clash is sitting in your Google Search Console — the impressions, the position, and the page-by-page split for every query your site really earned. You can mine it manually:

  1. Open the Performance report in GSC, set the date range to the last three months, and go to the Queries tab.
  2. Pick a suspect query and click it to filter the whole report to that query.
  3. Switch to the Pages tab. If two or more of your URLs both draw impressions for that one query, you've found a candidate.
  4. Check the impression split — a real clash is roughly balanced (each page taking ~20%+), not one winner and a rounding error.
  5. Confirm the flip-flop by stepping through the date range week by week and watching which URL leads.

That's the same volatility-plus-split logic Ahrefs and Semrush approximate — except run against your actual data instead of a crawl estimate. The catch is that it's slow: you have to guess each suspect query first, then filter, then eyeball the split and trend, one query at a time. On a real content site that's not realistic by hand.

The 60-second path is to let a keyword cannibalization checker do that pass across every query at once. It reads your Search Console data directly, finds each query where two or more pages capture real impression share, scores the flip-flop volatility, and suppresses the false positives (sitelinks, locale alternates, stable double-rankings) that trip up both the manual method and the rank-tracker approach. Same signal, on the ground-truth data, minus the afternoon. If you're new to the concept, start with what keyword cannibalization is; once you've found your clashes, the five fixes and a decision table tell you what to do with each one.

Quick comparison

Ahrefs Semrush GSC checker
Data source Third-party crawl / rank database Tracked campaign or database estimates Your own Search Console impressions
Setup required None (Site Explorer, any domain) Position Tracking campaign (Organic Research needs none) Sign in with Google, read-only
What it can't see Impression split, your true positions, long-tail queries Impression split, queries outside your list Nothing about competitors — your site only
Cost Paid subscription Paid subscription Free scan; one-time unlock for the full report

The honest summary: if you already own Ahrefs or Semrush, use them to generate suspects — the Position history chart and the Cannibalization report are both good at surfacing "these two pages keep swapping." Then confirm and fix on the data that can actually prove it. Different tools, different data source, different job. And if you'd prefer a free option to a paid subscription, we compare the best free tools separately.

Check your site free