Open-source Answer Engine Optimization (AEO) & Generative Engine Optimization (GEO) toolkit — audit, optimize & track whether ChatGPT, Perplexity, Gemini & Google AI Overviews cite your site. AI SEO / LLM SEO. CLI, Python, MCP, Astro.
$ npx -y skills add Auriti-Labs/geo-optimizer-skill --agent claude-code
Repo: Auriti-Labs/geo-optimizer-skill
What's inside
One command scores your site 0–100 on AI-search readiness, tells you exactly what to fix, and checks whether AI engines actually cite you.
Quick Start · Live Demo · Pricing · Sign Up · Documentation · Changelog
16 CLI commands · 8 scoring categories · 47 research-backed methods · 7 output formats · 1,900+ tests · academic foundation (KDD 2024, ICLR 2026) · runs in CI/CD, as a Python library, an MCP server, or an Astro integration
GEO Optimizer measures how visible your website is to AI answer engines — ChatGPT, Perplexity, Google AI Overviews, Gemini, and Claude — scores it 0–100, and tells you exactly what to fix to get cited. It is free and open source, and runs as a command-line tool, a Python library, an MCP server, or an Astro integration.
This practice goes by several names — Answer Engine Optimization (AEO), Generative Engine Optimization (GEO), AI SEO, LLM SEO, AI Search Optimization — and GEO Optimizer covers all of them under one command. Several of its checks (schema markup, meta tags, canonical URLs, Open Graph, content structure) are standard technical SEO practice too, audited alongside the AI-specific ones. If you're searching for an "open-source AEO tool", a "tool to check if ChatGPT cites my website", or a "technical SEO and llms.txt checker" — that's this.
# Zero install — score any site against 8 AI-readiness categories
uvx --from geo-optimizer-skill geo audit --url https://yoursite.com
It scores your site against 47 research-backed methods (Princeton KDD 2024, AutoGEO ICLR 2026) and generates the exact fixes — robots.txt bot rules, llms.txt, JSON-LD schema, and the content patterns models quote.
AI search engines give one synthesized answer and cite a handful of sources. If your site isn't one of them, you're invisible — even if you rank #1 on Google.
User asks ChatGPT: "What's the best mortgage calculator?"
ChatGPT: "According to [Competitor.com], the formula is..."
↑ They get cited. You don't.
llms.txt. Yours?llms.txt.geo citations queries real answer engines with the questions your customers ask, then reports whether your brand is mentioned and your domain is cited as a source — and which competitors get cited instead of you.
SEO and AEO/GEO answer different questions:
GEO Optimizer focuses on the technical and structural signals AI answer engines use: robots.txt bot permissions, llms.txt presence and depth, JSON-LD schema richness, brand entity coherence, multi-page topical authority, and content citability across 47 methods.
| Free audit | geoready.dev — single-URL GEO score, no account required |
| Free tools | llms.txt generator — build a starter llms.txt from your sitemap |
| Pricing | geoready.dev/pricing — plans and feature comparison |
| Sign up | app.geoready.dev/signup — Pro/Studio/Agency available now |
| GEO Optimizer CLI | GeoReady.dev Free | GeoReady Pro / Studio / Agency | |
|---|---|---|---|
| License / access | MIT, open-source | Free, no account | Self-serve — sign up |
| Core use | Local audit engine, CI/CD integration, JSON output | Web audit, score preview, educational pages | Monitoring, score history, regression alerts, agency reporting |
| Target | Developers, automation | Developers, SEO specialists | Ongoing clients, multi-site portfolios |
| Pricing | Free forever | Free forever | From $19/month — see geoready.dev/pricing |
The CLI and web audit remain MIT-licensed and free. The GeoReady platform adds server-side continuity — monitoring, history, and team features — that a local CLI cannot provide on its own.
pip install geo-optimizer-skill
No install? One-shot audit with uv:
uvx --from geo-optimizer-skill geo audit --url https://yoursite.com
# Audit any site — get a score 0-100 with actionable recommendations
geo audit --url https://yoursite.com
# Audit a full sitemap and surface weakest pages first
geo audit --sitemap https://yoursite.com/sitemap.xml --max-urls 25
# Compare before/after versions of a page
geo diff --before https://yoursite.com/page-old --after https://yoursite.com/page-new
# Save history and detect regressions over time
geo audit --url https://yoursite.com --save-history --regression
# Show the saved trend for a site
geo history --url https://yoursite.com
# What changed since the last snapshot? (severity + category deltas; CI: --fail-on warning)
geo drift --url https://yoursite.com
# Passive AI visibility snapshot for a domain
geo monitor --domain yoursite.com
# Ask real AI engines: is my brand mentioned? Is my domain cited as a source?
# BYO API key — PERPLEXITY_API_KEY recommended (real web citations)
geo citations --brand "YourBrand" --domain yoursite.com --topic "your product category"
# AI answers vary run to run — sample each query 5x for a confidence interval
geo citations --brand "YourBrand" --domain yoursite.com --runs 5
# Save or query archived AI answer snapshots
geo snapshots --query "best GEO tool" --from 2026-03-01 --to 2026-03-30
# Score citation quality inside an archived answer snapshot
geo snapshots --quality --snapshot-id 12 --target-domain yoursite.com
# Run recurring monitoring and generate an HTML trend report
geo track --url https://yoursite.com --report --output ./geo-track-report.html
# 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
# Check whether an existing llms.txt still matches the current sitemap
# (exits 1 on stale URLs — CI-gateable, no per-link HTTP request)
geo llms --base-url https://yoursite.com --check-drift
# Generate JSON-LD schema
geo schema --type faq --url https://yoursite.com
geo citations also supports MiniMax, Gemini, and DeepSeek as providers — including MiniMax's
regional API roots and dual wire formats, and DeepSeek's coverage of the Chinese AI
answer-engine ecosystem. Full setup for each: docs/llm-providers.md.
Google AI Overviews isn't an LLM you can prompt — it's a SERP feature — so --provider serpbase
observes the real Google SERP directly (organic results + the AI Overview block, when Google
renders one) via serpbase.dev instead of inferring it through a
Gemini API key. Opt-in, bring-your-own-key: 100 free searches, then $0.30/1k.
export SERPBASE_API_KEY=...
geo citations --brand "YourBrand" --domain yoursite.com --provider serpbase
| Area | Points | What GEO Optimizer looks for |
|---|---|---|
| Robots.txt | /18 | 27 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 |
FAQ
geo-optimizer-skill is a Claude Code plugin with 1 hand-picked skill for marketing work, indexed on Flowy. Install it with the command on its page. It includes geo-optimizer-skill. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it