norahe0304-art/30x-seo/30x-seo-cannibalization

Claude Code and agent skill by norahe0304-art/30x-seo

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Detect keyword cannibalization - multiple pages competing for the same keyword. Identifies cannibalizing URLs and provides resolution strategies (merge, redirect, differentiate, or delete).

Install

npx vskill@latest install norahe0304-art/30x-seo/30x-seo-cannibalization

SKILL.md

Keyword Cannibalization Detection

Find pages competing for the same keyword

What is Keyword Cannibalization

Problem: Multiple pages on your site targeting the same keyword.

/blog/best-crm-software → Target: "best crm"
/guide/crm-comparison → Target: "best crm"
/products/crm → Target: "best crm"

Consequences:

  • Google doesn't know which to rank → none rank well
  • Internal link equity is diluted
  • Confusing user experience
  • Wasted crawl budget

Detection Methods

Method A: With GSC Data (Recommended)
Import GSC "Queries" report
↓
Group by keyword
↓
Find keywords with multiple URLs
↓
Analyze each URL's:
- Impressions
- Clicks
- Average position
- Position fluctuation
↓
Identify cannibalization

Cannibalization Signals:

  • Same keyword has 2+ URLs with impressions
  • Ranking fluctuates frequently (Google is indecisive)
  • Both pages stuck at positions 5-15
Method B: Without GSC Data
Input target keyword list
↓
For each keyword:
- site:domain.com "keyword" search
- Analyze multiple results returned
↓
Check content overlap between pages
↓
Identify potential cannibalization

Output Format

markdown
# Keyword Cannibalization Report
## Found X Cannibalization Groups
### Group #1: "best crm software"
| URL | Position | Impressions | Clicks | Content Angle |
|-----|----------|-------------|--------|---------------|
| /blog/best-crm-2024 | #8 | 5,000 | 120 | Review article |
| /guide/crm-comparison | #12 | 3,200 | 45 | Comparison guide |
| /products/crm | #15 | 1,800 | 30 | Product page |
**Diagnosis**: Three pages have different angles but titles/H1s all target "best crm"
**Recommendation**: Differentiation strategy
-/blog/best-crm-2024 → Keep, primary target for "best crm software"
-/guide/crm-comparison → Retarget to "crm comparison guide"
-/products/crm → Retarget to brand term "YourBrand CRM features"
---
### Group #2: "how to use crm"
| URL | Position | Content Overlap |
|-----|----------|-----------------|
| /blog/crm-tutorial | #11 | 80% |
| /help/getting-started | #14 | 75% |
**Diagnosis**: Two pages with highly overlapping content
**Recommendation**: Merge strategy
-Merge into /blog/crm-tutorial (higher traffic)
-301 redirect /help/getting-started to merged page
-Or: Rewrite /help/getting-started as product-specific tutorial
---
## Solution Summary
| Keyword | Strategy | Keep URL | Action for Others |
|---------|----------|----------|-------------------|
| best crm software | Differentiate | /blog/best-crm-2024 | Update titles |
| how to use crm | Merge | /blog/crm-tutorial | 301 redirect |
| ... | ... | ... | ... |

Four Resolution Strategies

1. Merge

When: Content overlap >70%

A + B → A (the better one)
B → 301 to A

Steps:

  • Pick the page with better traffic/ranking
  • Merge unique content from the other page
  • Set up 301 redirect
  • Update internal links
2. Redirect

When: One page is clearly weaker

Weak page → 301 to strong page

Steps:

  • 301 redirect directly, no content merge
  • Ensure strong page covers weak page's intent
3. Differentiate

When: Two pages serve different intents

A → Keyword X
B → Keyword Y (related but different)

Steps:

  • Modify title, H1, meta description
  • Adjust content angle
  • Update internal link anchor text
4. Delete

When: Page has no value

Low-quality page → Delete or noindex

Steps:

  • 410 delete (explicitly tell Google)
  • Or noindex (keep but don't rank)

Usage

bash
# With GSC data
/seo cannibalization --gsc [csv-file]
# With keyword list
/seo cannibalization --keywords "keyword1, keyword2, ..."
# Analyze entire site
/seo cannibalization https://example.com

Prevention

Keyword Mapping

Before writing new content, check if existing pages cover that keyword:

markdown
| Target Keyword | Existing Page | Status |
|----------------|---------------|--------|
| best crm | /blog/best-crm-2024 | Covered |
| crm pricing | — | Available |
| crm vs erp | /blog/crm-erp-difference | Covered |
Content Planning Principles
  1. One keyword = One page
  2. Check keyword mapping before new content
  3. Run cannibalization detection regularly
  4. Keep internal link anchors consistent with target keywords

Related Skills

SkillRelationship
30x-seo-keywordsBuild mapping during keyword research
30x-seo-internal-linksUpdate links after fixing
30x-seo-redirectsExecute 301 redirects
30x-seo-content-writerRewrite for differentiation

[PROTOCOL]: Update this header on changes, then check CLAUDE.md

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
5
Repository forks
2
7-day trend score
9

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/norahe0304-art/30x-seo/30x-seo-cannibalization/badge)](https://verified-skill.com/skills/norahe0304-art/30x-seo/30x-seo-cannibalization)

Something wrong with this skill or its page? Tell us.