GeoReady GEO Optimizer — Answer Engine Optimization toolkit ### The open-source **Answer Engine Optimization (AEO)** & **Generative Engine Optimization (GEO)** toolkit. #### Audit, optimize, and track whether **ChatGPT, Perplexity, Gemini, Claude, and Google AI Overviews** can crawl, understand, and **cite** your website. [![PyPI](https://img.shields.io/pypi/v/geo-optimizer-skill?style=flat-square&color=3b82f6)](https://pypi.org/project/geo-optimizer-skill/) [![Downloads/month](https://img.shields.io/pypi/dm/geo-optimizer-skill?style=flat-square&color=3b82f6&label=downloads%2Fmonth)](https://pypi.org/project/geo-optimizer-skill/) [![GitHub Stars](https://img.shields.io/github/stars/auriti-labs/geo-optimizer-skill?style=flat-square&color=facc15&logo=github&label=stars)](https://github.com/auriti-labs/geo-optimizer-skill/stargazers) [![Python 3.9+](https://img.shields.io/badge/python-3.9+-3776ab?style=flat-square&logo=python&logoColor=white)](https://python.org) [![CI](https://github.com/auriti-labs/geo-optimizer-skill/actions/workflows/ci.yml/badge.svg)](https://github.com/auriti-labs/geo-optimizer-skill/actions) [![License: MIT](https://img.shields.io/badge/license-MIT-22c55e?style=flat-square)](LICENSE) [![MCP Compatible](https://img.shields.io/badge/MCP-compatible-8b5cf6?style=flat-square)](https://modelcontextprotocol.io) [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-support-FFDD00?style=flat-square&logo=buymeacoffee&logoColor=000000)](https://buymeacoffee.com/auritidesign) **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](#quick-start) · [Live Demo](https://geoready.dev) · [Pricing](https://geoready.dev/pricing) · [Sign Up](https://app.geoready.dev/signup) · [Documentation](https://auriti-labs.github.io/geo-optimizer-skill/) · [Changelog](CHANGELOG.md) geo audit demo — AI visibility score 0-100 with prioritized fixes in one command **16 CLI commands** · **8 scoring categories** · **47 research-backed methods** · **7 output formats** · **1,900+ tests** · academic foundation ([KDD 2024](https://arxiv.org/abs/2311.09735), [ICLR 2026](https://arxiv.org/abs/2510.11438)) · runs in CI/CD, as a [Python library](#python-api), an [MCP server](#mcp-server), or an [Astro integration](#astro-integration)
--- ## What is GEO Optimizer? **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](#mcp-server), or an [Astro integration](#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. ```bash # 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](https://arxiv.org/abs/2311.09735), [AutoGEO ICLR 2026](https://arxiv.org/abs/2510.11438)) and generates the exact fixes — robots.txt bot rules, `llms.txt`, JSON-LD schema, and the content patterns models quote. --- ## Why AI visibility matters in 2026 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. ``` - ChatGPT alone serves [**900M weekly users**](https://llmrefs.com/generative-engine-optimization) — a growing share of sessions that used to be Google searches. - [**28.3% of ChatGPT's most-cited pages have *zero* organic visibility on Google**](https://llmrefs.com/generative-engine-optimization) (Ahrefs) — AI engines reward different signals than classic SEO. - Proper JSON-LD schema lifts LLM extraction accuracy [**from 16% to 54%**](https://dev.to/geobuddy/llmstxt-schema-markup-and-technical-geo-what-actually-works-in-2026-o63) (Semrush test on GPT-4). - [**844,000+ sites**](https://webflow.com/blog/llms-txt) already ship an `llms.txt`. Yours? - Our own [State of GEO](https://geoready.dev/state-of-geo/) benchmark, run monthly across 1,000+ real sites with this same engine, finds a median score of 57/100 — most sites audited are still unprepared, and only 57% ship an `llms.txt`. ### Does AI actually cite your brand? Ask it directly. `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. geo citations demo — is your brand cited by ChatGPT and Perplexity? --- ## AEO / GEO is not traditional SEO SEO and AEO/GEO answer different questions: - **SEO** optimizes for ranking and clicks in traditional search result pages — crawlability, backlinks, keyword signals. - **AEO / GEO** measures whether an AI answer engine can read, parse, understand, and **cite** your content when generating a response. - A site can rank well on Google and still be largely opaque to AI systems — missing structured data, no llms.txt, bot access blocked, thin factual density. 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. --- ## Try it online | | | |---|---| | **Free audit** | [geoready.dev](https://geoready.dev) — single-URL GEO score, no account required | | **Free tools** | [llms.txt generator](https://geoready.dev/tools/llms-txt-generator/) — build a starter llms.txt from your sitemap | | **Pricing** | [geoready.dev/pricing](https://geoready.dev/pricing) — plans and feature comparison | | **Sign up** | [app.geoready.dev/signup](https://app.geoready.dev/signup) — Pro/Studio/Agency available now | --- ## Open-source vs GeoReady Platform | | GEO Optimizer CLI | GeoReady.dev Free | GeoReady Pro / Studio / Agency | |---|---|---|---| | **License / access** | MIT, open-source | Free, no account | Self-serve — [sign up](https://app.geoready.dev/signup) | | **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](https://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. --- ## Quick Start ```bash pip install geo-optimizer-skill ``` No install? One-shot audit with [uv](https://docs.astral.sh/uv/): ```bash uvx --from geo-optimizer-skill geo audit --url https://yoursite.com ``` ```bash # 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](docs/llm-providers.md). --- ## What it checks | 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 | ``, 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 | | **Prompt Injection Detection** | 8 manipulation patterns: hidden text, invisible Unicode, LLM instructions, HTML comment injection, monochrome text, micro-font, data-attr injection, aria-hidden abuse | | **Trust Stack Score** | 5-layer trust aggregation (Technical, Identity, Social, Academic, Consistency) — composite grade A-F | | **RAG Chunk Readiness** | Content segmentation for RAG retrieval: section word counts, definition openings, heading boundaries, anchor sentences `🆕 v4.7` | | **Content Decay Prediction** | Detects temporal, statistical, version, event, and price decay patterns — evergreen score 0-100 `🆕 v4.7` | | **Platform Citation Profile** | Per-platform readiness scores for ChatGPT, Perplexity, Google AI `🆕 v4.7` | | **Multimodal Readiness** | Image alt coverage, captions, VideoObject/AudioObject schema, subtitle tracks, transcripts — the text scaffolding multimodal engines (Gemini, GPT-4o) need `🆕` | Plus a separate **Citability Score** (0-100) measuring content quality across 47 methods: Quotation +41% · Statistics +33% · Fluency +29% · Cite Sources +27% · and 43 more. ### Additional tools ```bash geo coherence --sitemap https://example.com/sitemap.xml # Cross-page terminology consistency geo logs --file access.log # AI Crawler Activity — crawler evidence from user-agent logs geo access --url https://example.com # Agent Access Audit — browser vs AI bot access simulation geo citations --brand "Acme" --domain acme.com # AI Citation Check — are you cited by answer engines? (BYO key) geo authority --sitemap https://example.com/sitemap.xml # Topic Authority — multi-page entity coverage, clusters, pillars geo drift --url https://example.com # Semantic Drift — what changed since the last snapshot geo perception --url https://example.com # AI Perception Snapshot — what an AI would extract from the page ``` **Topic authority** — AI engines map entities and multi-page coverage, not single pages. `geo authority` clusters your site by topic and scores depth, interlinking, and pillar pages: geo authority demo — site-level topical authority score and recommendations GEO Optimizer checks whether websites can be **crawled, understood, cited, and monitored** by AI answer engines: - **Crawled** — robots.txt, CDN access, AI-bot reachability - **Understood** — schema, llms.txt, content structure - **Cited** — citability signals across 47 research-backed methods - **Monitored** — `geo logs` (crawler evidence) and `geo access` (access simulation) Note on wording: AI Crawler Activity reports crawler evidence from server-log user-agents. Agent Access Audit reports *citation readiness* (whether bots can reach and parse the page). For actual answer-engine checking — "does the AI mention my brand and cite my domain?" — use `geo citations` with your own API key (Perplexity Sonar returns the real source URLs; OpenAI/Anthropic/Groq reveal parametric brand knowledge). Optional LLM-powered analysis (`pip install geo-optimizer-skill[llm]`): brand sentiment, citation attribution, multi-turn persistence, cross-platform citation map, prompt library. --- ## Output formats ```bash geo audit --url https://example.com --format text # Human-readable (default) geo audit --url https://example.com --format json # Machine-readable geo audit --sitemap https://example.com/sitemap.xml # Batch sitemap audit (text) geo audit --sitemap https://example.com/sitemap.xml --format json # Batch sitemap audit (JSON) 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 geo monitor --domain example.com # Passive AI visibility readiness geo snapshots --query "best GEO tool" # Saved AI answer archive geo snapshots --quality --snapshot-id 12 # Citation quality tiers for a saved answer geo history --url https://example.com # Saved score trend geo track --url https://example.com --report # Monitoring HTML report ``` The JSON output format is intended to remain stable across minor versions and acts as the machine-readable integration contract for the GeoReady platform. --- ## CI/CD Integration — fail the build when AI-readiness drops Treat AI visibility like test coverage: gate every deploy on it. The GitHub Action scores your site, fails the build below a threshold, and uploads results to the Security tab. ```yaml # .github/workflows/geo.yml - uses: Auriti-Labs/geo-optimizer-skill@v4.18.0 with: url: https://yoursite.com min-score: 70 # Fail the build if the GEO score drops below 70 format: sarif # Upload findings to the GitHub Security tab ``` Works with GitHub Actions, GitLab CI, Jenkins, CircleCI, and any CI that runs Python. For longitudinal checks, persist snapshots and **fail on regression or semantic drift**: ```bash geo audit --url https://yoursite.com --save-history --regression geo drift --url https://yoursite.com --fail-on warning # exit non-zero if signals degraded ``` --- ## MCP Server Use GEO Optimizer from Claude, Cursor, Windsurf, or any MCP client: ```bash 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 (47 methods) | | `geo_schema_validate` | Validate JSON-LD | | `geo_compare` | Compare multiple sites | | `geo_gap_analysis` | Explain the gap between two sites and prioritize fixes | | `geo_ai_discovery` | Check AI discovery endpoints | | `geo_check_bots` | Check bot access via robots.txt | | `geo_trust_score` | 5-layer trust signal aggregation | | `geo_negative_signals` | 8 anti-citation signal detection | | `geo_factual_accuracy` | Audit unsourced claims, contradictions, and broken citations | --- ## Use as AI Context Load the right file into your AI assistant for GEO expertise: | Platform | File | |----------|------| | Claude Projects | [`ai-context/claude-project.md`](ai-context/claude-project.md) | | ChatGPT Custom GPT | [`ai-context/chatgpt-custom-gpt.md`](ai-context/chatgpt-custom-gpt.md) | | Cursor | [`ai-context/cursor.mdc`](ai-context/cursor.mdc) | | Windsurf | [`ai-context/windsurf.md`](ai-context/windsurf.md) | | Kiro | [`ai-context/kiro-steering.md`](ai-context/kiro-steering.md) | --- ## Internal Skill System The repository now includes a structured internal skill catalog for maintainers at [`src/geo_optimizer/skills/catalog/`](src/geo_optimizer/skills/catalog/) plus validation rules and examples. See [`docs/skill-system.md`](docs/skill-system.md) for the v1 architecture. --- ## Python API ```python 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: ```python from geo_optimizer import audit_async result = await audit_async("https://example.com") ``` --- ## Show your GEO score Add a live GEO score badge to your README — like a coverage badge, but for AI visibility: ![GEO Score](https://geoready.dev/badge?url=https://geoready.dev) ```markdown [![GEO Score](https://geoready.dev/badge?url=https://yoursite.com)](https://geoready.dev?utm_source=badge) ``` HTML variant for docs sites: ```html GEO Score ``` Colors: 86-100 green · 68-85 cyan · 36-67 yellow · 0-35 red. Re-audited and cached hourly — improve your site, watch the badge change. No account needed. --- ## Astro Integration Make an Astro site GEO-ready at build time — generates `llms.txt`, `/.well-known/ai.txt`, and `/ai/summary.json` from your built routes (never overwrites hand-curated files): ```js // astro.config.mjs import geoReady from 'astro-geoready'; export default defineConfig({ site: 'https://yoursite.com', integrations: [geoReady({ siteName: 'Your Site' })], }); ``` See [`integrations/astro-geoready/`](integrations/astro-geoready/) — geoready.dev itself builds with it. --- ## Plugin System Extend the audit with custom checks via entry points: ```toml [project.entry-points."geo_optimizer.checks"] my_check = "mypackage:MyCheck" ``` See [`examples/example_plugin.py`](examples/example_plugin.py) for a working example. --- ## Research Foundation | Paper | Venue | Key Finding | |-------|-------|-------------| | [GEO: Generative Engine Optimization](https://arxiv.org/abs/2311.09735) | **KDD 2024** | 9 methods tested on 10k queries. Cite Sources: +115%, Statistics: +40% | | [AutoGEO](https://arxiv.org/abs/2510.11438) | **ICLR 2026** | Automatic rule extraction. +50.99% over Princeton baseline | | [C-SEO Bench](https://arxiv.org/abs/2506.11097) | **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. GEO Optimizer translates these findings into technical and content-level signals that can be operationally audited and tracked over time. ## Related Tools GEO Optimizer scores **input-side readiness** — the technical and content signals that make a site reachable, parseable, and citable by AI crawlers. It does not observe what AI engines actually say about a brand outside `geo citations`' own lightweight LLM check, and doesn't cover Chinese AI engines (Doubao, Qwen, DeepSeek, Yuanbao) at all. [**OpenGEO**](https://github.com/cangqiaoGEO) is a complementary, open GEO standard effort focused on **output-side observation**: whether AI engines actually mention or cite a brand, with a published interchange format for those observations. The two approaches are deliberately split along that boundary — readiness vs. results — see [#534](https://github.com/Auriti-Labs/geo-optimizer-skill/issues/534) for the discussion. --- ## Roadmap This project follows a deliberate release cadence — focused waves, not noisy patches. | Version | Window | Codename | Status | |---------|--------|----------|--------| | v4.10.0 | Apr 2026 | Veil | Shipped | | v4.11.0 | May 2026 | Static | Shipped | | v4.12.0 | May 2026 | Ledger | Shipped | | v4.13.0 | Jun 2026 | Echo | Shipped | | v4.14.0 | Jun 2026 | Quiet Glass | Shipped | | v4.15.0 | Jul 2026 | Aperture | Shipped | | v4.16.0 | Aug 2026 | Ground Truth | Shipped | | v4.17.0 | Aug 2026 | Parallax | Shipped | | v4.17.1 | Aug 2026 | — (patch) | Shipped | | v4.18.0 | Sep 2026 | Quorum | Shipped | | v5.0.0 | May 2027 | Black Archive | Exploring | Next focus areas: signal architecture, retrieval surface analysis, scoring recalibration, and structural pattern recognition. The v5.0 cycle represents a broader architectural evolution. Full release calendar, philosophy, and direction → [docs/ROADMAP.md](docs/ROADMAP.md) --- ## FAQ **What is Answer Engine Optimization (AEO)?** AEO is the practice of structuring your website so AI answer engines — ChatGPT, Perplexity, Google AI Overviews, Gemini, Claude — can find, understand, and cite it as the direct answer to a user's question. It is also called Generative Engine Optimization (GEO), AI SEO, LLM SEO, or AI Search Optimization. GEO Optimizer audits and scores your site for all of it. **How do I check if ChatGPT or Perplexity cites my website?** Run `geo citations --brand "Your Brand" --domain yoursite.com` with a Perplexity or OpenAI API key. It asks the engine customer-style questions and reports whether your brand is mentioned, whether your domain is cited as a source, and which competitors are cited instead. No account needed for the [free web version](https://geoready.dev/tools/ai-citation-checker/). **Is this an llms.txt generator and checker?** Yes. `geo llms` generates an `llms.txt` from your sitemap, the audit scores its presence and depth, and the [Astro integration](#astro-integration) creates one at build time. There's also a [free online llms.txt generator](https://geoready.dev/tools/llms-txt-generator/). **Is it free and open source?** Yes — MIT licensed, free forever via `pip install geo-optimizer-skill` or `uvx`. The hosted [GeoReady](https://geoready.dev) platform adds continuous monitoring, score history, citation tracking, and team features on top of the same engine. **Which AI engines does it cover?** ChatGPT (GPTBot, OAI-SearchBot), Perplexity (PerplexityBot), Claude (ClaudeBot, Claude-SearchBot), Google (Googlebot, Google-Extended, Gemini), plus 27 AI bots total and per-platform readiness profiles for ChatGPT, Perplexity, and Google AI Overviews. **How is it different from a traditional SEO tool?** Traditional SEO tools optimize for Google rankings and backlinks. GEO Optimizer measures AI *citation readiness* — whether answer engines can crawl, parse, and quote your content — using signals (llms.txt, AI-bot access, schema richness, citability, topical authority) that classic SEO ignores. --- ## 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](SECURITY.md) for reporting vulnerabilities. --- ## Contributing ```bash git clone https://github.com/YOUR_USERNAME/geo-optimizer-skill.git cd geo-optimizer-skill && pip install -e ".[dev]" pytest tests/ -v # 1,900+ tests, all mocked ``` [Bug reports](https://github.com/Auriti-Labs/geo-optimizer-skill/issues/new?template=bug_report.yml) · [Feature requests](https://github.com/Auriti-Labs/geo-optimizer-skill/issues/new?template=feature_request.yml) · [CONTRIBUTING.md](CONTRIBUTING.md) ---
Run the [CLI locally](#quick-start), try the [free audit online](https://geoready.dev), see [pricing](https://geoready.dev/pricing), or [sign up](https://app.geoready.dev/signup) for Pro monitoring. --- **MIT License** · Built by [Auriti Labs](https://github.com/auriti-labs) · [Juan Camilo Auriti](https://www.linkedin.com/in/juancamiloauriti/) ([@JuanAuriti](https://x.com/JuanAuriti)) If this saved you time, a star helps others find it. [![Star on GitHub](https://img.shields.io/github/stars/auriti-labs/geo-optimizer-skill?style=for-the-badge&color=facc15&logo=github&label=Star)](https://github.com/auriti-labs/geo-optimizer-skill/stargazers) The open-source engine for **Answer Engine Optimization** — get your site cited by ChatGPT, Perplexity, and Gemini.
## Star History Star History Chart