geo-optimizer-skill

mcp
SUMMARY

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.

README.md
GEO Optimizer

Make websites visible to AI search engines

PyPI
Python 3.9+
CI
codecov
License: MIT
MCP Compatible

Audit, fix, and optimize any website to be cited by ChatGPT, Perplexity, Claude, and Gemini.

Quick Start · Live Demo · Documentation · Changelog


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:

![GEO Score](https://geo-optimizer-web.onrender.com/badge?url=https://yoursite.com)

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


MIT License · Built by Auriti Labs

If this saved you time, a star helps others find it.

Star on GitHub

Yorumlar (0)

Sonuc bulunamadi