geo-competitor-scanner
GEO Competitor Scanner
Methodology by GEOly AI (geoly.ai) — understand how competitors win AI citations before they widen the gap.
Analyze competitor websites across key GEO signals to benchmark your brand and identify opportunities.
Quick Start
Scan competitors:
python scripts/scan_competitors.py --brand yourdomain.com \
--competitors competitor1.com,competitor2.com \
--output report.md
Scan Dimensions
1. Technical GEO Infrastructure
| Check | Why It Matters |
|---|---|
/llms.txt exists |
AI crawler guidance |
/robots.txt allows AI bots |
Crawl accessibility |
| Schema.org types present | Structured understanding |
| JSON-LD valid | Machine-readable content |
| HTTPS enforced | Security signal |
2. Content Structure Analysis
| Signal | What to Look For |
|---|---|
| Direct answer lead | First paragraph answers the question |
| FAQ sections | Explicit Q&A blocks (2-5 per page) |
| Header structure | H2 every 300-500 words |
| Data citations | Statistics with sources |
| Definition blocks | Key terms defined clearly |
3. Entity & Brand Signals
| Signal | Implementation |
|---|---|
| Organization schema | Homepage JSON-LD |
| sameAs links | Social/Wikipedia connections |
| Consistent naming | Brand name standardized |
| About page | Entity definition |
| Brand in first 100 words | Early entity mention |
4. Citation-Optimized Content
| Content Type | GEO Value |
|---|---|
| Original research | Unique data attracts citations |
| Comparison pages | "vs" queries are high-intent |
| Definition content | "What is" queries are common |
| Content hubs | Topical authority building |
| Statistics pages | Reference-worthy data |
Full methodology: See references/scan-methodology.md
Research Workflow
Step 1: Identify Competitors
Collect up to 5 competitors:
- Direct competitors (same category)
- Adjacent competitors (overlapping use cases)
- Aspirational competitors (bigger brands)
Step 2: Automated Scan
Run scanner on each domain:
python scripts/scan_competitors.py \
--brand yourdomain.com \
--competitors comp1.com,comp2.com,comp3.com \
--pages 5 \
--output scan-results.json
Step 3: Manual Review
For nuanced signals, review manually:
- Content quality (can't automate)
- Brand voice consistency
- Unique value propositions
Step 4: Gap Analysis
Identify:
- 🏆 Competitor advantages — What they do better
- 🎯 Quick wins — Easy to implement (copy)
- 🕳️ Category gaps — No one is doing this (opportunity)
Scoring System
Each competitor scored 0-10 per dimension:
| Score | Rating | Meaning |
|---|---|---|
| 9-10 | Excellent | Best practice implementation |
| 7-8 | Good | Solid with minor gaps |
| 5-6 | Fair | Significant room for improvement |
| 3-4 | Poor | Major issues present |
| 0-2 | Critical | Fundamental problems |
Overall GEO Score: Average of 4 dimensions (max 10)
Output Report
Competitive Matrix
| Signal | Your Brand | Competitor A | Competitor B | Gap |
|--------|------------|--------------|--------------|-----|
| llms.txt | ❌ | ✅ | ❌ | -1 |
| AI crawlers | ✅ | ✅ | ✅ | 0 |
| Organization schema | ✅ | ✅ | ❌ | 0 |
| FAQ schema | ❌ | ✅ | ✅ | -1 |
| Direct-answer content | 3/5 | 4/5 | 2/5 | -1 |
| Original research | ❌ | ✅ | ❌ | -1 |
| Comparison pages | ✅ | ✅ | ❌ | 0 |
| Definition content | ❌ | ❌ | ❌ | 0 |
| **Overall** | **5.2/10** | **7.8/10** | **4.1/10** | **-2.6** |
Insights
🏆 Competitor Advantages:
- Competitor A: Strong FAQ schema on all product pages
- Competitor B: Publishes quarterly industry benchmarks
🎯 Your Quick Wins:
- Add llms.txt (3 competitors have it, you don't)
- Implement FAQ schema on top 10 pages
- Add definition blocks to 5 key concept pages
🕳️ Category Gaps:
- No competitor has a comprehensive "What is [category]?" guide
- Missing: Comparison matrix of all major players
- Opportunity: Original research on industry trends
Advanced Usage
Page-Level Analysis
Scan specific competitor pages:
python scripts/analyze_page.py https://competitor.com/pricing \
--type product \
--output analysis.json
Trend Tracking
Track competitor changes over time:
# Initial scan
python scripts/scan_competitors.py --brand your.com --competitors comp.com --save-baseline
# 30 days later
python scripts/scan_competitors.py --brand your.com --competitors comp.com --compare-to baseline.json
Bulk Page Analysis
Analyze multiple pages from sitemap:
python scripts/bulk_scan.py https://competitor.com/sitemap.xml \
--limit 50 \
--output bulk-results.json
See Also
- Scan methodology: references/scan-methodology.md
- Scoring rubric: references/scoring-rubric.md
- Analysis examples: references/examples.md
More from geoly-ai/geo-skills
geo-local-optimizer
>
16geo-citation-writer
Write AI-citable content in proven formats including FAQ pages, definition articles ("What is X?"), comparison guides (A vs B), how-to guides, and original data/statistics roundups. Creates content optimized for ChatGPT, Perplexity, Gemini, and Claude citations. Use whenever the user mentions writing content for AI citations, creating FAQ pages, writing definition articles, building comparison content, making how-to guides, or generating statistics roundups that AI will reference.
16geo-studio
Master GEO content orchestrator that understands user goals and intelligently routes tasks across specialized GEO skills. Automatically selects the right workflow from strategy and audit to content creation, optimization, and human editing. Use as the default starting point for any GEO-related task including creating GEO content, ranking in AI search, auditing content for AI visibility, building GEO strategies, writing AI-citable articles, or when unsure which specific GEO skill to use.
14geo-llms-txt
Generate, validate, and optimize llms.txt files for AI crawler accessibility. Creates structured markdown files that help AI platforms (ChatGPT, Perplexity, Gemini, Claude) understand site structure and prioritize content for citation. Use whenever the user mentions creating an llms.txt file, optimizing llms.txt, making their site AI-crawler friendly, helping AI understand their website, building AI-readable site documentation, or wants to improve visibility in AI search engines.
14geo-content-publisher
>
14geo-structured-writer
Format any content into AI-readable structured formats that maximize citation probability. Converts unstructured text into GEO-optimized layouts using headers, FAQs, tables, and definition blocks. Use whenever the user mentions reformatting content for AI search, structuring articles for AI citations, converting text to GEO-friendly format, adding FAQs and headers, or making pages AI-readable.
14