Overview

Keyword cannibalization is two or more pages on one site competing for the same query, so the ranking URL flips between them and signals split. The prevention rule is a keyword map: each primary keyword belongs to exactly one page. The cure, once a conflict exists, depends on whether the two pages share an intent.

Map one primary keyword to one page

Keep a keyword map beside the content tree. Each page owns one primary keyword and any supporting variations.

URLPrimary keywordSupporting variations
/postgres-indexespostgres indexespostgres index types, when to add a postgres index
/postgres-btreepostgres btree indexbtree index postgres, btree vs hash postgres
/postgres-ginpostgres gin indexgin index postgres, gin vs gist postgres

Before publishing, check the new page’s primary keyword against the map. If it is taken, target a variation or merge into the existing page. See keyword-research and content-clusters.

Detect it in Search Console

Detect conflicts by query, not by page.

  1. Open Performance > Search results and set the range to the last 90 days.
  2. On the Queries tab, click a query that drives meaningful traffic, then switch to the Pages tab.
  3. If more than one page gets clicks for that query, it is a candidate.

As a working heuristic, not a Google threshold, look for two pages that each take a large share of clicks while neither holds a top position. One page taking nearly all the clicks is winning cleanly. Skip brand and navigational queries, where the homepage, about, and contact pages all ranking is correct. A pillar and its cluster pages on related sub-topics are not competing. See master-google-search-console.

Merge and 301 when the pages share an intent

Merge the weaker page into the stronger one; this is the most common fix.

  • Pick the survivor by backlinks, current position, and content depth, not by which page ranks today.
  • Move the weaker page’s unique content into the survivor.
  • 301 the retired URL to the survivor. A 404 discards every inbound link.
  • Rewrite internal links to point at the survivor directly. Google’s Gary Illyes said in 2016 that 30x redirects do not lose PageRank, but a direct link saves users and crawlers a hop. See redirects.
  • Refresh the survivor’s sitemap lastmod and notify via indexnow.

Expect weeks for engines to recrawl and settle. Neither publishes a timeline, and the merged page is not guaranteed to capture both pages’ clicks.

Sharpen intent when the pages serve different purposes

When two pages overlap on keyword but one is informational and the other commercial, rewrite each H1 and first paragraph toward its own intent: “How Postgres indexes work” versus “Postgres index management for production teams”. Cross-link with anchor text that signals the shift, and track each page against its own keyword. Matching structured data (Article on the tutorial, Product or Service on the commercial page) aids page understanding but does not separate intents. See structured-data.

Noindex only a page that exists for a non-search purpose

Use <meta name="robots" content="noindex"> for a campaign landing page, a thin tag archive, or a navigation-only category page that should not compete with the pillar. Leave the page crawlable: Google can only see a noindex tag on a URL that robots.txt does not block.

Prefer a 301 to rel=canonical between editorial pages

Do not point one editorial page’s rel="canonical" at another to fix cannibalization. Canonical is a hint for duplicate or near-duplicate URLs, such as parameter and protocol variants (see canonical-url); Google can ignore it for pages with distinct content, and the canonicalized page loses its own long-tail traffic. A 301 does the consolidation properly.

Consolidate near-duplicates before an engine picks for you

Bing’s December 2025 duplicate-content guidance says duplication is not penalized as such, but its systems, including the LLMs behind Copilot answers, cluster near-duplicates and pick one representative, which may be an outdated version. Merging, or clearly differentiating intent, keeps that choice with you.

Common errors

  • Merging without a 301 redirect.
  • Using rel="canonical" between competing editorial pages.
  • Merging toward the page Google currently ranks instead of the page that should win on content quality.
  • Treating sibling cluster pages as cannibalization.