geo-optimizer-skill
GEO (Generative Engine Optimization) toolkit — audit, optimize, and make websites visible to AI search engines (ChatGPT, Perplexity, Claude, Gemini). Based on Princeton KDD 2024 research.
Make websites visible to AI search engines
Audit, fix, and optimize any website to be cited by ChatGPT, Perplexity, Claude, and Gemini.
Why this exists
AI search engines give direct answers and cite their sources. If your site isn't optimized, you're invisible — even if you rank #1 on Google.
User: "What's the best mortgage calculator?"
Perplexity: "According to [Competitor.com], the formula is..."
↑ They appear. You don't.
GEO Optimizer audits your site against 42 research-backed methods (Princeton KDD 2024, AutoGEO ICLR 2026) and generates the fixes.
Quick Start
pip install geo-optimizer-skill
# Audit any site — get a score 0-100 with actionable recommendations
geo audit --url https://yoursite.com
# Auto-generate all missing files (robots.txt, llms.txt, schema, meta)
geo fix --url https://yoursite.com --apply
# Generate llms.txt from sitemap
geo llms --base-url https://yoursite.com --output ./public/llms.txt
# Generate JSON-LD schema
geo schema --type faq --url https://yoursite.com
What it checks
| Area | Points | What GEO Optimizer looks for |
|---|---|---|
| Robots.txt | /18 | 24 AI bots across 3 tiers (training, search, user). Citation bots explicitly allowed? |
| llms.txt | /18 | Present, has H1 + blockquote, sections, links, depth. Companion llms-full.txt? |
| Schema JSON-LD | /16 | WebSite, Organization, FAQPage, Article. Schema richness (5+ attributes)? |
| Meta Tags | /14 | Title, description, canonical, Open Graph complete? |
| Content | /12 | H1, statistics, external citations, heading hierarchy, lists/tables, front-loading? |
| Brand & Entity | /10 | Brand name coherence, Knowledge Graph links (Wikipedia/Wikidata/LinkedIn/Crunchbase), about page, geo signals, topic authority |
| Signals | /6 | <html lang>, RSS/Atom feed, dateModified freshness? |
| AI Discovery | /6 | .well-known/ai.txt, /ai/summary.json, /ai/faq.json, /ai/service.json? |
Score bands: 86-100 Excellent · 68-85 Good · 36-67 Foundation · 0-35 Critical
Bonus checks (informational, do not affect score):
| Check | What it detects |
|---|---|
| CDN Crawler Access | Does Cloudflare/Akamai/Vercel block GPTBot, ClaudeBot, PerplexityBot? |
| JS Rendering | Is content accessible without JavaScript? SPA framework detection |
| WebMCP Readiness | Chrome WebMCP support: registerTool(), toolname attributes, potentialAction schema |
| Negative Signals | 8 anti-citation signals: CTA overload, popups, thin content, keyword stuffing, missing author, boilerplate ratio |
Plus a separate Citability Score (0-100) measuring content quality across 42 methods:
Quotation +41% · Statistics +33% · Fluency +29% · Cite Sources +27% · and 38 more.
Output formats
geo audit --url https://example.com --format text # Human-readable (default)
geo audit --url https://example.com --format json # Machine-readable
geo audit --url https://example.com --format rich # Colored terminal
geo audit --url https://example.com --format html # Self-contained report
geo audit --url https://example.com --format sarif # GitHub Code Scanning
geo audit --url https://example.com --format junit # Jenkins, GitLab CI
geo audit --url https://example.com --format github # GitHub Actions annotations
CI/CD Integration
# .github/workflows/geo.yml
- uses: Auriti-Labs/geo-optimizer-skill@v1
with:
url: https://yoursite.com
threshold: 70 # Fail if score drops below 70
format: sarif # Upload to GitHub Security tab
Works with GitHub Actions, GitLab CI, Jenkins, CircleCI, and any CI that runs Python.
MCP Server
Use GEO Optimizer from Claude, Cursor, Windsurf, or any MCP client:
pip install geo-optimizer-skill[mcp]
claude mcp add geo-optimizer -- geo-mcp
Then ask: "audit my site and fix what's missing"
| Tool | Purpose |
|---|---|
geo_audit |
Full audit with score + recommendations |
geo_fix |
Generate fix files |
geo_llms_generate |
Generate llms.txt |
geo_citability |
Content citability analysis (42 methods) |
geo_schema_validate |
Validate JSON-LD |
geo_compare |
Compare multiple sites |
geo_ai_discovery |
Check AI discovery endpoints |
geo_check_bots |
Check bot access via robots.txt |
Use as AI Context
Load the right file into your AI assistant for GEO expertise:
| Platform | File |
|---|---|
| Claude Projects | ai-context/claude-project.md |
| ChatGPT Custom GPT | ai-context/chatgpt-custom-gpt.md |
| Cursor | ai-context/cursor.mdc |
| Windsurf | ai-context/windsurf.md |
| Kiro | ai-context/kiro-steering.md |
Python API
from geo_optimizer import audit
result = audit("https://example.com")
print(result.score) # 85
print(result.band) # "good"
print(result.citability.total_score) # 72
print(result.score_breakdown) # {"robots": 18, "llms": 14, ...}
print(result.recommendations) # ["Add FAQPage schema..."]
Async variant:
from geo_optimizer import audit_async
result = await audit_async("https://example.com")
Dynamic Badge
Show your GEO score in your README:

Colors: 86-100 green · 68-85 cyan · 36-67 yellow · 0-35 red. Cached 1h.
Plugin System
Extend the audit with custom checks via entry points:
[project.entry-points."geo_optimizer.checks"]
my_check = "mypackage:MyCheck"
See examples/example_plugin.py for a working example.
Research Foundation
| Paper | Venue | Key Finding |
|---|---|---|
| GEO: Generative Engine Optimization | KDD 2024 | 9 methods tested on 10k queries. Cite Sources: +115%, Statistics: +40% |
| AutoGEO | ICLR 2026 | Automatic rule extraction. +50.99% over Princeton baseline |
| C-SEO Bench | 2025 | Most content manipulation is ineffective. Infrastructure matters most |
We focus on technical infrastructure (robots.txt, llms.txt, schema, meta) over content rewriting. The research confirms: if crawlers can't find and parse your content, prose optimization doesn't matter.
Security
All URL inputs are validated against private IP ranges (RFC 1918, loopback, link-local, cloud metadata) with DNS pinning before any request. See SECURITY.md for reporting vulnerabilities.
Contributing
git clone https://github.com/YOUR_USERNAME/geo-optimizer-skill.git
cd geo-optimizer-skill && pip install -e ".[dev]"
pytest tests/ -v # 924+ tests, all mocked
Bug reports · Feature requests · CONTRIBUTING.md
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi