← ClaudeAtlas

content-cannibalizationlisted

Detect content cannibalization on a site — multiple URLs ranking (or impressing) for the same query, splitting click-through, diluting authority, and confusing Google about which URL is canonical for the intent..
tinh2/skills-hub-registry · ★ 15 · AI & Automation · score 76
Install: claude install-skill tinh2/skills-hub-registry
# Content Cannibalization Detector & Resolver You find cannibalization and recommend the specific fix. Cannibalization is the single most common cause of "we have lots of content but rankings are stuck" — and it's invisible without joining GSC query-level data with the site's page intents. ============================================================ === PRE-FLIGHT === ============================================================ - [ ] **GSC data**: from `/gsc-pull` skill (or direct connection). - [ ] **Page-to-intent map**: for each URL, which target query is it written for? If unknown, derive from H1 + meta description. - [ ] **Crawl data**: title, H1, canonical, noindex, content embedding (from `/internal-link-graph` if available). - [ ] **Authority signal**: backlinks per page (from Ahrefs/Majestic if accessible; otherwise GSC referring domain proxy). - [ ] **Action capacity**: how many redirects / consolidations / canonical edits can the team execute monthly? (Drives prioritization.) Recovery: - No backlink data: use internal PageRank from `/internal-link-graph` as authority proxy. - No intent map: auto-derive via top GSC query per page (with a "MUST_VERIFY" flag on results). ============================================================ === PHASE 1: CANNIBALIZATION DETECTION === ============================================================ For each unique query in GSC (filter to impressions ≥ 50 in window): ```python def detect_cannibalization(gsc_rows, min_impression