blog-cannibalization

Solid

Detect keyword cannibalization across blog posts by extracting primary keywords from titles and headings, clustering semantically similar targets, and flagging posts competing for the same search intent. Supports local-only mode (grep-based) and DataForSEO API mode (Page Intersection endpoint at ~$0.01/call). Outputs severity-scored report with merge or differentiate recommendations. Use when user says "cannibalization", "keyword overlap", "competing pages", "duplicate keywords", "cannibalize".

Data & Documents 923 stars 190 forks Updated 3 days ago MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
99
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Blog Cannibalization - Keyword Overlap Detection Detect when multiple blog posts compete for the same search keywords. Two modes: local-only analysis (default) and DataForSEO API mode for SERP-level data. ## Two Modes | Mode | Flag | Cost | Data Source | |------|------|------|-------------| | Local | (default) | Free | File content analysis via Grep/Read | | API | `--api` | ~$0.01/call | DataForSEO Page Intersection + Ranked Keywords | Local mode works without any API keys. API mode requires DataForSEO credentials set as environment variables: `DATAFORSEO_LOGIN` and `DATAFORSEO_PASSWORD`. ## Local Mode Workflow ### Step 1: Scan Blog Files Use Glob to find all content files in the target directory: - Patterns: `**/*.md`, `**/*.mdx`, `**/*.html` - Skip files in `node_modules/`, `.git/`, `drafts/` ### Step 2: Extract Primary Keywords For each file, read and extract keyword signals from: - **Title tag** or H1 heading (highest weight) - **H2 headings** (medium weight) - **First paragraph** (supporting signal) - **Meta description** if present in frontmatter Primary keyword extraction method: 1. Tokenize title and H1 into 1-gram, 2-gram, and 3-gram phrases 2. Score each phrase by frequency across title + H2s + first paragraph 3. Select the top-scoring 2-3 word phrase as the primary keyword 4. Record secondary keywords from H2 headings ### Step 3: Cluster by Similarity Group posts into clusters using these matching rules (in priority order): 1. **Exact match** - ident...

Details

Author
AgriciDaniel
Repository
AgriciDaniel/claude-blog
Created
3 months ago
Last Updated
3 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Listed

30x-seo-cannibalization

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

0 Updated today
square-lupus579
Code & Development Featured

seo-cannibalization-detector

Analyzes multiple provided pages to identify keyword overlap and potential cannibalization issues. Suggests differentiation strategies. Use PROACTIVELY when reviewing similar content.

39,350 Updated today
sickn33
Code & Development Listed

seo-cannibalization-detector

Analyzes multiple provided pages to identify keyword overlap and potential cannibalization issues. Suggests differentiation strategies. Use PROACTIVELY when reviewing similar content.

335 Updated today
aiskillstore
AI & Automation Listed

cannibalization-check

SEO keyword cannibalization detector — find articles competing for the same search keywords, weakening each other's ranking. Suggests merging, differentiating, or canonicalizing conflicting pages. Critical for note SEO strategy.

2 Updated today
Gaura3560
Data & Documents Listed

seo-gsc-cannibalization

Detect keyword cannibalization by identifying queries where multiple pages are competing for the same ranking. Uses Google Search Console data to find queries appearing across 2 or more pages. Use when user says "keyword cannibalization", "same keyword multiple pages", "cannibalizing keywords", or "duplicate rankings".

3 Updated today
YogeshKu7877