Cluster Articles Cannibalize Each Other's Keywords

Three articles fight for "how to use claude API" and Google ranks none. Confirm cannibalization in Search Console (query then Pages tab), pick one pillar, merge or differentiate the rest, and consolidate links.

You have three articles about “Claude API,” all targeting the same intent, and none of them rank in the top 20. In Search Console you see them flickering: article A at position 23 today, B at 38 tomorrow, C at 31 the day after. Google can’t decide which page is the canonical answer, so it keeps swapping them and none accumulates enough authority to rank.

Fastest fix: confirm it is real cannibalization (one query, two or more of your URLs, positions that swap week to week), then pick the single best page as the pillar, 301-redirect or re-aim the rest, and point internal links at the pillar. Consolidating three half-ranked pages into one focused page is the move that recovers position; everything else is cleanup.

This is keyword cannibalization. When multiple pages on your site compete for the same query, Google splits the ranking signal across them and no single page earns enough to win. The rank swapping is the giveaway: as of June 2026, Google’s own cannibalization-troubleshooting guidance describes the same pattern, where it alternates which near-duplicate it shows.

Which bucket are you in?

Run the confirmation in Step 1 first, then match your situation:

Symptom in GSC / on siteMost likely causeGo to
One query, 2+ of your URLs, positions swap week to weekTrue cannibalizationSteps 1 to 4
Pages have near-identical titles / H1Duplicate intent never differentiatedCauses 1, 3
Page Indexing shows “Duplicate, Google chose different canonical than user”Your canonical is being ignored; pick a real winnerCause 5, Step 5
Page Indexing shows “Duplicate without user-selected canonical”No canonical set; signals fully splitCause 5, Step 5
One query swaps, but positions are #1 to #3 (both your pages on page one)Not a problem; leave it alonePrevention

That last row matters: if both your URLs sit in the top few results for a query, you own the SERP and you should not “fix” anything. Cannibalization only hurts when the split keeps every version off page one.

Common causes

Ordered by hit rate, highest first.

1. Multiple articles share near-identical titles / H1s

“How to use Claude API,” “Claude API guide,” “Using Claude API in 2026” read like one article rewritten three times. Google can’t tell which is the answer, so it shows whichever appeals to a query that day.

How to spot it: list your titles and group by topic. Three or more titles in one group is a cannibalization risk.

2. No internal linking concentrates authority on a pillar

Each article links to whatever the author remembered. With no deliberate pillar, no page gets the lion’s share of internal links and authority spreads thin.

How to spot it: run an internal-link audit. If your “Claude API” articles all have similar inbound counts with no clear leader, authority is fragmented.

3. Unique intent per article was never designed

You wrote three articles assuming each would find its own audience. In reality they all target the same intent (“learn Claude API”). The differentiation existed only in your head.

How to spot it: for each article, write its query intent in one sentence. If three intent sentences are paraphrases of each other, intent design failed.

4. Search Console shows the pages on the same queries

Look at the actual data:

Query: claude api
- Page A: avg position 23, 50 impressions, 1 click
- Page B: avg position 38, 30 impressions, 0 clicks
- Page C: avg position 31, 45 impressions, 1 click

Three pages, one query, none ranking. That is the canonical cannibalization signature.

How to spot it: GSC Performance report, click the query, then open the Pages tab (current UI as of June 2026). Two or more of your pages for one query is the bug.

5. Canonical is wrong, missing, or being overridden

If all three pages self-canonicalize, Google treats them as three competing pages. If one canonicaled to the pillar, the others would consolidate signal. But canonical is a hint, not a rule: Google can pick its own winner, which surfaces in the Page Indexing report as either Duplicate, Google chose different canonical than user (you set a canonical, Google ignored it) or Duplicate without user-selected canonical (you set none, so signals split fully).

How to spot it: in GSC open Page Indexing and look for those two statuses, or use the URL Inspection tool on a candidate URL and compare “User-declared canonical” against “Google-selected canonical.” If they differ, Google is overriding you, which usually means the page isn’t distinct enough to deserve its own canonical.

6. The cluster was designed by AI / SEO tools that suggest “more content”

Some SEO tooling recommends “write 5 articles on related sub-topics.” Naive execution produces overlapping articles instead of distinct sub-intents. The tool’s advice was directional; the execution missed the differentiation.

How to spot it: you followed a tool’s “topic cluster” suggestion and produced multiple articles in one batch. Re-read the suggestions and check whether they actually mapped to distinct intents.

Shortest path to fix

Ordered by ROI. Step 1 confirms the cannibalization; Steps 2 to 4 resolve it.

Step 1: Confirm cannibalization pairs in Search Console

Search Console -> Performance -> Search results
Click into a target query
Open the "Pages" tab

If two or more of your URLs appear for that one query, you have a pair. Cross-check the rank-swap signal: switch the date range to “Compare” the last 3 months against the previous 3, and watch whether the same query’s winning URL changes between periods. Stable winner = not cannibalization. Swapping winner = cannibalization. Export your top queries and triage the worst offenders first (highest impressions, lowest average position).

Step 2: Pick the pillar per cluster

For each cannibalization group, decide which page becomes the canonical pillar:

Criteria for pillar (in priority order):
1. Highest current ranking (Google already prefers it)
2. Best content quality (depth, examples, length)
3. Most internal-link inbound count
4. Best URL (shortest, cleanest, oldest = most backlinks)

One pillar per intent. The rest become satellites or get merged.

Step 3: Re-aim the others at sub-intents OR merge

For each non-pillar article:

Option A: Re-aim at a distinct sub-intent
- "Claude API guide" (pillar)        -> overall how-to
- "Claude API streaming" (satellite) -> specific feature
- "Claude API rate limits" (satellite) -> specific concern
- "Claude API vs OpenAI API" (satellite) -> comparison

Each satellite targets a clearly different query.
Rewrite title + H1 + intro to reinforce the new intent.

Option B: Merge into the pillar
- Fold the satellite's best material into the pillar
- 301-redirect the satellite URL to the pillar
- One stronger page beats two weaker ones

Use Option B (merge) when the satellite has no genuinely distinct query to own. Use Option A only when you can name the satellite’s query in a sentence that does not paraphrase the pillar’s.

# Find articles that link to any of the cannibalizing URLs
grep -rln "/articles/claude-api-guide/\|/articles/using-claude-api/\|/articles/claude-api-2026/" src/content/

# For each match, repoint the link to the pillar only

The pillar should accumulate the large majority of internal links to its topic. Surviving satellites link up to the pillar from their intros, never the reverse.

Step 5: Use canonical (or redirect) while a merge is in progress

If you can’t merge immediately, set a canonical on the satellites so Google consolidates signal while they are still live:

<!-- in each satellite's <head> -->
<link rel="canonical" href="https://yoursite.com/articles/claude-api-guide/" />

Canonical is the right tool while you decide; a permanent 301 redirect is the right tool once you have decided. Per Google’s consolidate-duplicate-URLs guidance, a 301 redirect is the strongest consolidation signal, rel=canonical is a strong hint, and a sitemap entry is a weak one. These signals stack, so do not send contradictory hints (for example, a canonical pointing one way and a sitemap implying another). Once a satellite is permanently gone, replace the canonical with a 301 to the pillar.

Step 6: Audit before publishing new cluster articles

Before adding a new article to a cluster, search your own site:

site:yoursite.com claude api streaming

If you already have a page targeting that intent, expand it instead of writing a new one. New articles only when they fill a distinct gap.

How to confirm it’s fixed

Cannibalization fixes are slow because Google has to re-crawl and re-consolidate, so verify in stages:

  1. Same day: in URL Inspection, confirm the merged/satellite URL now reports the pillar as the Google-selected canonical (for redirects, confirm a single 301 hop with no chain). Request indexing on the pillar.
  2. 1 to 2 weeks: in the Page Indexing report, the Duplicate, Google chose different canonical than user count for those URLs should start dropping as Google honors the redirect/canonical.
  3. 3 to 6 weeks: in Performance, re-run the query’s Pages tab. Success looks like one URL (the pillar) holding a stable position and its impressions consolidating, instead of the old week-to-week swap. A rising average position on the pillar confirms the signal recombined.

If positions still swap after 6 weeks, the satellite was probably re-aimed at an intent that still overlaps the pillar. Tighten its title/H1 further, or merge it.

Prevention

  • Before writing a new article, search your own site for an existing page on the same intent.
  • Give each cluster one explicit pillar plus clearly distinct satellites, and design the intent before writing.
  • Concentrate internal links on the pillar; satellites link to the pillar, not the other way around.
  • Audit GSC quarterly for cannibalization pairs (one query, two or more of your pages with swapping positions).
  • Use canonical to consolidate signal while content merges are in progress, then switch to a 301 once a page is permanently retired.
  • Don’t follow “write 5 related articles” advice naively; naive execution produces overlap, not coverage.

FAQ

How do I tell cannibalization apart from normal ranking noise? Real cannibalization shows two or more of your URLs on the same query in the Performance Pages tab, with the winning URL swapping between time periods. A single URL whose position drifts a few spots week to week is ordinary volatility, not cannibalization.

Is two of my pages ranking for one keyword always bad? No. If both sit in the top few results you own more SERP real estate, which is good. It is only a problem when the split keeps every version off page one. Don’t merge pages that are jointly winning.

Should I 301-redirect or set a canonical? Canonical while you are still deciding and want to keep the page live; 301 once you have committed to retiring it. The 301 is the stronger signal and is what Google recommends for a permanent merge, but it removes the page, so don’t use it until you are sure.

Why does Search Console say “Google chose a different canonical than user”? Google evaluated your canonical as a hint and overrode it, usually because the page isn’t distinct or authoritative enough to deserve its own canonical. Either make the page genuinely different (unique angle, examples, intent) or accept Google’s choice and consolidate onto the winner it picked.

How long until the fix shows up in rankings? Expect days for URL Inspection to reflect the new canonical, one to two weeks for the Page Indexing counts to move, and three to six weeks for Performance to show a stable consolidated position. Requesting indexing on the pillar speeds the first step but not the ranking recovery.

Do noindex tags fix cannibalization? They can, but bluntly: noindex drops the page from search entirely and does not pass its signals to the pillar the way a 301 does. Prefer merge-plus-redirect when the page has any accumulated value; reserve noindex for pages you want gone with nothing worth preserving.

Tags: #SEO #Troubleshooting #Cannibalization #Content strategy