Keyword cannibalization is when two or more pages on your own site show up for the same search and split the clicks between them. It only matters when neither page does well. Check it in Search Console: filter one query, open the Pages tab, and see whether several URLs share the impressions.
| Situation | Fix | Keeps both URLs? |
|---|---|---|
| Two thin posts on one topic | Merge into one page and 301 redirect the other | No |
| Near-identical pages (print view, tag page) | rel=canonical to the main page | Yes |
| Different intents that overlap | Retitle one page for its own intent and link between them | Yes |
| Old page nobody needs | Redirect to the best match, or remove | No |
| Both pages rank well | Leave them alone | Yes |
Updated
Small sites hit this after years of blogging: three posts about pricing, two service pages with the same title. Export the Queries and Pages data from Search Console, paste the rows below, and the grouper shows each search phrase where more than one of your pages earned impressions. It runs in your browser only.
Paste rows: query, page, clicks, impressions (comma or tab separated)
query,page,clicks,impressions
roof repair cost,https://example.com/blog/roof-repair-cost,14,900
roof repair cost,https://example.com/services/roof-repair,3,780
roof repair cost,https://example.com/pricing,1,120
gutter cleaning near me,https://example.com/services/gutter-cleaning,22,640
how long does a roof last,https://example.com/blog/how-long-does-a-roof-last,40,1500
how long does a roof last,https://example.com/blog/roof-lifespan,2,6102 of 3 queries have more than one of your pages.
| Page | Clicks | Impressions | Share of clicks |
|---|---|---|---|
| https://example.com/blog/how-long-does-a-roof-last | 40 | 1500 | 95% |
| https://example.com/blog/roof-lifespan | 2 | 610 | 5% |
| Page | Clicks | Impressions | Share of clicks |
|---|---|---|---|
| https://example.com/blog/roof-repair-cost | 14 | 900 | 78% |
| https://example.com/services/roof-repair | 3 | 780 | 17% |
| https://example.com/pricing | 1 | 120 | 6% |
| Pattern | Likely meaning | Next step |
|---|---|---|
| One page has most clicks, the other only impressions | Google prefers the first page | Merge the second into it, or retarget it |
| Clicks split roughly evenly, both low | Neither page is a clear answer | Combine into one stronger page |
| Each page gets clicks on different days | Google keeps swapping them | Make one clearly better, link the other to it |
| Pages are a guide and a product | Different intents | Keep both; link the guide to the product |
Put this in the head of the duplicate page. Visitors can still open it, but you are telling Google which URL you want shown.
<link rel="canonical" href="https://example.com/blog/how-long-does-a-roof-last">One line per moved page: the old path, the new path and the status code. Most hosts and builders offer the same thing in a redirects screen.
/blog/roof-lifespan /blog/how-long-does-a-roof-last 301
A home page, a category and a blog post will often all appear for broad terms. That is a site with depth, not a fault. Worry when the pages answer the same question in the same way and both sit below the first page of results.
Look at the intent behind the query. Someone typing a price question wants a number; someone typing how to wants steps. If each of your pages serves a different one, sharpen their titles instead of merging.
Copy the best sections of the weaker page into the stronger one, publish, then add a permanent redirect from the old address. Google recommends permanent redirects such as 301 or 308 when a URL moves.
Watch the query in Search Console for a few weeks. The impressions should gather on the surviving page.
No. Google does not publish a penalty for it. The cost is practical: links, clicks and attention spread over two weaker pages instead of one strong one, and Google may keep swapping which one it shows.
Use a 301 redirect when the second page should disappear, since Google describes redirects as a strong signal for which URL becomes canonical. Use rel=canonical when both pages must stay reachable for visitors, such as a filtered or print version.
There is no fixed number. Two pages can be fine when they serve different needs, such as a guide and a product page. Act when the split leaves both pages low in the results and neither clearly answers the search.
Yes, one query at a time: add a query filter, then open the Pages tab to see which URLs earned its impressions. To see every query at once you need an export that keeps both columns together, such as Looker Studio or the API.
Related: Google Search Console guide, Canonical tag checker, Redirect rules generator, On-page SEO checklist, Orphan pages.
Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.
We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.