Cluster Articles Cannibalize Each Other's Keywords

Three articles fight for "how to use claude API" — Google ranks none. Detect cannibalization in GSC, pick a pillar, merge the rest or differentiate intent.

You have three articles about “Claude API.” All targeting the same query intent. 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 is the canonical answer — and you’re punished for the indecision.

This is keyword cannibalization. When multiple pages on your site compete for the same query, Google’s ranking signal splits across them and no individual page accumulates enough authority to rank. The fix is a deliberate single-pillar strategy: pick one canonical page, re-aim the others at sub-intents, and consolidate internal links onto the pillar.

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” — these read like one article rewritten three times. Google can’t tell which is the answer; it shows whichever appeals to a query that day.

How to spot it: List your titles; group by topic. Three+ titles in the same group = cannibalization risk.

2. No internal linking concentrates authority on a pillar

Each article links to whatever the author remembered. No deliberate pillar means no page gets the lion’s share of internal links. Authority spreads thin.

How to spot it: Run an internal-link audit. If your “Claude API” articles all have similar inbound counts (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. 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 down its query intent in one sentence. If three articles’ intent sentences are paraphrases of each other, intent design failed.

4. Search Console shows the three 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, same query, none ranking. That’s the canonical cannibalization signature.

How to spot it: GSC → Performance → Filter by query → Add “Page” dimension. Multiple pages for the same query = the bug.

5. Canonical tags are wrong or missing

All three pages have canonical: self. Google treats them as three competing pages. If one had canonical pointing at the pillar, the others would consolidate signal.

How to spot it: View source of each candidate. Each says <link rel="canonical" href="self-url">. They should canonical to the pillar.

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; check if they actually mapped to distinct intents.

Shortest path to fix

Ordered by ROI. Step 1 finds the cannibalization; Steps 2-3 resolve it.

Step 1: Find cannibalization pairs in Search Console

Search Console → Performance → Add filter "Query"
Then in dimensions, add "Page"
Sort by impressions descending

Any query with 2+ pages from your site = candidate cannibalization. Export top 50 to a spreadsheet for triage.

Step 2: Pick the pillar per cluster

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

Criteria for pillar:
1. Highest current ranking (Google already prefers it)
2. Best content quality (depth, examples, length)
3. Best 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 titles + H1 + intro to reinforce.

Option B: Merge into the pillar
- Take the best parts of the satellite, fold into the pillar
- 301 redirect the satellite URL to the pillar
- One stronger page > two weaker ones
# 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, update the link to point to the pillar only

The pillar accumulates 80%+ of internal links to its topic; satellites link to the pillar from their intros.

Step 5: Add canonical tags where merging is gradual

If you can’t merge immediately, use canonical:

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

Google consolidates signals onto the pillar even while satellites are still live. Apply this to articles being phased out before they 301-redirect.

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.

Prevention

  • Before writing a new article, search your own site for existing pages on the same intent
  • Each cluster has one explicit pillar + clearly-distinct satellites — design intent before writing
  • Internal links concentrate on pillars; satellites link to pillar, not the other way around
  • Audit GSC quarterly for cannibalization pairs (same query, 2+ of your pages)
  • Use canonical to consolidate signal while content merges are still in progress
  • Don’t follow “write 5 related articles” advice naively — naive execution produces overlap, not coverage

Tags: #SEO #Troubleshooting #Cannibalization #Content strategy