Competitor Analysis

Discover what your competitors rank for and find content gaps.

What this tool does

competitor_gap.py pulls a competitor’s sitemap, extracts all their URLs, and compares them against your own. The result: a list of pages they have that you don’t — your content gap.

How it works under the hood

  1. Fetches sitemap.xml from the competitor’s domain
  2. Extracts all URLs
  3. Filters to content pages (removes /tag/, /category/, pagination)
  4. Compares against your own sitemap
  5. Outputs the gap — pages they have, you don’t

Basic usage

python3 -m zens_ink competitor_gap --mine example.com --rival competitor.com
Output
Fetching sitemap: competitor.com/sitemap.xml
Found 441 URLs
Filtering content pages...
Content pages: 287

Fetching sitemap: example.com/sitemap.xml Found 98 URLs Content pages: 73

=== CONTENT GAP (214 pages competitor has, you don’t) ===

/blog/best-ai-tools-for-seo /blog/tarot-card-meanings-guide /blog/yes-or-no-tarot-spreads /free-tools/keyword-density-checker

Analyzing multiple competitors

Chain competitors to find gaps across your entire niche:

python3 -m zens_ink competitor_gap --mine example.com --rival competitor1.com > gap1.txt
python3 -m zens_ink competitor_gap --mine example.com --rival competitor2.com >> gap1.txt
python3 -m zens_ink competitor_gap --mine example.com --rival competitor3.com >> gap1.txt

What to look for in the gap

Gap analysis playbook

  • Topic clusters: If a competitor has 10 pages about “tarot spreads” and you have zero, that’s a content cluster you’re missing entirely
  • Tool pages: Free tools (calculators, checkers) are high-intent traffic magnets — if competitors have them and you don’t, prioritize
  • Comparison pages: "X vs Y" pages capture decision-stage traffic
  • Long-tail guides: Pages targeting specific long-tail queries that align with your keyword research

Prioritizing the gap

Not every gap is worth filling. Cross-reference with your keyword data:

SituationAction
High volume + in gapDo these first
Low volume + in gapSkip or batch later
High volume + not in gapImprove existing pages

The full pipeline

You’ve now seen all four tools. Here’s how they connect:

keyword_research keyword_volume search_performance competitor_gap

The manual bottleneck — Running all four tools manually gives you raw data — keywords, volumes, rankings, gaps. But turning that data into a prioritized content plan takes hours of spreadsheet work. The Pro engine’s gap_deep script automates the entire analysis into one report.

Where to go from here

  • Quickstart — revisit the basics
  • Pricing — automate the full pipeline with Pro
  • Journal — read real-world case studies
PRO

Doing this manually takes time. The Pro engine's gap_deep script automates the entire flow — one command from raw data to actionable strategy.

Explore the Pro engine →