blog-cannibalization

Detect keyword cannibalization across blog posts using local analysis or DataForSEO API.

1|Updated Dec 24, 2021
One-click install
npx skills add https://github.com/arthur-fontaine/arthurfontaine.fr --skill blog-cannibalization-arthur-fontaine
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: blog-cannibalization
Source: https://github.com/arthur-fontaine/arthurfontaine.fr/tree/main/.agents/skills/blog-cannibalization
Command: npx skills add https://github.com/arthur-fontaine/arthurfontaine.fr --skill blog-cannibalization-arthur-fontaine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Multiple blog posts targeting the same keywords compete against each other in search results, splitting rankings and traffic. This Skill identifies which posts overlap, scores the severity, and recommends concrete fixes like merging, differentiating, or canonicalizing pages. ## Core Features & Use Cases - Local Keyword Analysis: Extracts primary keywords from titles, H1/H2 headings, meta descriptions, and first paragraphs of Markdown, MDX, and HTML files, then clusters posts by exact, stem, semantic, and subset matches. - DataForSEO API Mode: Optionally queries Page Intersection and Ranked Keywords endpoints to enrich the report with real search volume and ranking position data. - Severity-Scored Recommendations: Flags clusters as Critical, High, Medium, or Low and prescribes MERGE, DIFFERENTIATE, CANONICAL, NOINDEX, or NO ACTION per cluster. - Use Case: Run it against your content directory before a quarterly SEO audit to find posts competing for the same search intent and get a prioritized remediation plan. ## Quick Start Analyze the blog posts in my content directory for keyword cannibalization and show me which posts are competing for the same keywords.

Frequently Asked Questions about blog-cannibalization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find keyword cannibalization on my blog?▼

Run the analysis on your blog directory to extract primary keywords from titles, headings, and meta descriptions of each post. Posts are clustered by exact, stem, semantic, and subset keyword matches, and each cluster with two or more posts is flagged with a severity level and recommendation.

How to detect competing pages without an SEO tool subscription?▼

Use the default local mode, which analyzes file content directly via grep and read operations with no API keys required. It scores severity using heuristics like exact primary keyword matches and shared H2 keywords instead of SERP data.

Does the DataForSEO mode require API credentials?▼

Yes, API mode requires DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD set as environment variables, read by a local CLI wrapper. If credentials are missing or the wrapper is unavailable, the analysis automatically falls back to local mode.

What file formats does blog cannibalization analysis support?▼

The analysis scans Markdown (.md), MDX (.mdx), and HTML (.html) files in the target directory. Files inside node_modules, .git, and drafts folders are skipped automatically.

What should I do when two blog posts target the same keyword?▼

The recommended action depends on severity: merge thin overlapping posts with a 301 redirect, differentiate posts serving distinct intents by retargeting one to a long-tail keyword, or add a canonical tag when one post is clearly the authority.

Why does cannibalization analysis fail on my content folder?▼

Analysis requires at least two blog posts in supported formats; a single post or empty directory exits with an explanatory message. Check that the path is correct and files use .md, .mdx, or .html extensions.