Technical SEO
Keyword Cannibalization Checker
List the pages on your own site and find every pair that overlaps enough to compete with each other in search results, ranked by risk.
Format: URL | Title | Meta description | H1 | Target keyword (one page per line, separated by " | "). Only URL and Title are required.
Matching is stopword-filtered word overlap (Jaccard). Languages written without spaces between words get a coarser signal — treat the score as directional for those.
What this tool checks
Keyword cannibalization happens when two or more of your own pages target the same search intent. This tool compares every pair of pages you list and flags the ones likely to be cannibalizing each other, with the specific fields that overlap.
How the score is calculated
Titles, H1s, meta descriptions and target keywords are each tokenized, stripped of stopwords, and compared pairwise with the Jaccard index, then combined into one weighted score per pair.
Title & H1 overlap
Titles carry the most ranking weight, so title overlap is weighted heaviest, followed by H1.
Target keyword match
An exact keyword match between two different URLs is the strongest cannibalization signal and is flagged as critical.
Meta description overlap
Heavy overlap in meta descriptions usually means the pages answer the same query — a secondary confirming signal.
Combined risk score
Each pair gets one 0-100% score and a severity: critical, high (≥55%), or moderate (≥30%).
Frequently asked questions
What should I do about a flagged cannibalization pair?
Pick the stronger page, expand it to fully cover the intent, then 301-redirect or canonicalize the weaker page, or rewrite it around a genuinely different angle and cross-link the two.
Is some overlap between pages always a problem?
No — a pillar page and a supporting article can share vocabulary. The tool only flags substantial overlap worth reviewing.
Where do I get the title, meta description and H1 for each page?
View each page's source, or use this site's "View Page Source Online" and "Get HTML Meta Header" tools.
Does this tool send my data anywhere?
The list is sent once over HTTPS to run the comparison, and is not stored beyond the request.