
776 stars · MIT · v4.17.1 (2026-08-31) · Track this in Rising ↗
Audits whether ChatGPT, Perplexity and Google AI Overviews can find and cite your site — CLI, Python library, MCP server and Astro integration.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 27 Oct 2026, the same day before this check.
Latest release v4.19.8 on 26 Oct 2026.
Public since February 2026, 8 months.
1,184 stars and 134 forks.
331 commits and 12 new issues in the last 90 days.
9 contributors. 127 pull requests merged in 90 days. A small team carries it.
A security policy says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 8.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It fetches a site and checks the signals an AI assistant uses to read and cite it. Those include robots.txt, which tells crawlers what they may read, llms.txt, which is a plain summary file written for language models, JSON-LD schema, which is structured data describing the page, plus page metadata and heading structure. It produces a score from 0 to 100 across eight scored categories. It can also generate the fixes, including robots.txt rules, an llms.txt file and schema blocks. It runs as a command-line tool, a Python library, an MCP server, a GitHub Action and an Astro integration, so it can run on every build. Version 4.19.0 was published on 9 October 2026. It does not get a site mentioned by an assistant: it only removes the mechanical reasons it would not be.
Why it matters
Who it suits. People publishing documentation or a content site who have noticed that assistants answer questions in their subject without naming them. It also suits a team already running checks on every build, because this slots in beside them. Skip it if the site is not published yet, since there is nothing to score.
Verdict. Worth an afternoon, and genuinely worth wiring into a build so the score does not quietly rot. Two warnings. It grades machine readability, which is a proxy; a perfect score on a site nobody links to still gets cited by nobody. And the project moves fast, with four point releases since the summer, so pin the version you audit against. llms-txt is the specification behind its most common finding. elmo is the self-hosted way to track mentions over time rather than audit a site once.
Summary (Key Points)from the README
Key features
- Single-command score: `geo audit` rates any website 0–100 on whether AI answer engines can crawl, understand and cite it, then lists what to fix.
- 27 AI crawlers checked: robots.txt access is tested for ChatGPT, Perplexity, Claude, Google and other AI bots.
- 9 scoring categories: from Google AI readiness and robots.txt to Schema JSON-LD, content, brand and entity signals, llms.txt and AI discovery.
- Fix generation: `geo fix` previews robots.txt rules, llms.txt, JSON-LD, AI discovery endpoints and meta tags, and writes files only with `--apply`.
- Real answer-engine checks: `geo citations` sends customer-style questions to real engines and reports brand mentions, cited domains and competing sites. `--runs 5` gives a confidence interval.
- Citability analysis: 47 content checks, nine of them drawn from methods tested in the KDD 2024 GEO paper.
- CI integration: the GitHub Action fails builds below a score threshold and can upload SARIF findings to the Security tab.
- Output and tooling: 8 output formats, including html, sarif, junit and json, plus 12 MCP tools and a Python API. The test suite has 2,000+ tests.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| pip or uvx (`geo-optimizer-skill`) | Python; CI runs on 3.10–3.14 | Low: one command |
| MCP server | An MCP client such as Claude, Cursor or Windsurf | Low: add a config entry |
| GitHub Action | A GitHub repository with a workflow file | Low: add a workflow |
| Astro integration | An Astro project; copy the integration folder in, since it is not yet on npm | Medium: manual copy |
| Free web audit at geoready.dev | A browser and a URL; no account | None |
Important
- Readiness, not guaranteed citations: the score measures signals that make a site reachable and quotable. It cannot promise that any engine will cite you.
- Answers vary between runs: the same question can cite different sources each time, so use `--runs` before drawing conclusions.
- Source visibility depends on the provider: only Perplexity returns real source URLs. OpenAI, Anthropic and Groq reveal only what the model already knows. Google AI Overviews requires the SerpBase provider.
- Citation checks need your own API keys: `geo citations` uses provider keys you supply.
- Post-fix scores are estimates: the score shown after `geo fix` is the tool's own projection, not a measured result.
- llms.txt is unproven as a ranking factor: no engine has documented that it improves citations, and Google Search ignores it.
- Coverage gaps: Chinese answer engines (Doubao, Qwen, Yuanbao) are not covered, and the tool does not observe what engines say beyond the lightweight citations check.
- Benchmark figures are directional: the 59/100 median comes from a self-selected sample of GeoReady users, not a census of the web.
- Hosted plans cost money: Pro and Agency start at $19/month. The free plan includes 5 saved reports and one weekly AI answer check.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- It turns a vague goal into a checklist, with eight scored categories rather than opinions.
- The MCP server lets a coding assistant run the audit and apply the fixes in one session.
- Clearly alive: 1.0k stars and version 4.19.0 published on 9 October 2026.
- The score measures machine readability, not reputation. Links and authority still decide citations.
- The maintainers also sell a hosted monitoring product, so read the "track this continuously" advice with that in mind.
- Four major versions in a year. Expect the output to change between upgrades.
Running it as an Astro integration means the score gets checked on every build instead of once, in an afternoon, and then forgotten.
# no install needed uvx --from geo-optimizer-skill geo audit --url https://example.com # or install it, Python 3.9 or newer pip install -U geo-optimizer-skill geo audit --url https://example.com



