geo-score
jianruntech/geo-score/docs/llms.txt
An open, versioned rubric for Generative Engine Optimization — score any site 0–100 on whether AI answer engines can find, parse, trust and cite it. MIT licensed, machine-readable, with a zero-dependency Python CLI and a public benchmark of 317 well-known sites. The rubric it publishes is the AIV score: 21 tiered checks totalling 100 points, plus 4 bonus checks worth up to +6 outside the denominator. Every tier states a count out of the 8 sampled pages, so two people…
llms.txt578 starsChanged 3 days ago
# geo-score > An open, versioned rubric for Generative Engine Optimization — score any site 0–100 > on whether AI answer engines can find, parse, trust and cite it. MIT licensed, > machine-readable, with a zero-dependency Python CLI and a public benchmark of 317 > well-known sites. The rubric it publishes is the AIV score: 21 tiered checks totalling 100 points, plus 4 bonus checks worth up to +6 outside the denominator. Every tier states a count out of the 8 sampled pages, so two people scoring the same site agree on the arithmetic. Three checks are gates — score zero on crawler access, live reachability or server-rendered content and the result caps at 40. ## The benchmark - [The state of AI visibility](https://jianruntech.github.io/geo-score/): 317 well-known sites scored. Median 56, range 11–99. 26% of them are unreadable to AI crawlers — 23 block AI crawlers by name, 47 serve a page whose body only exists after JavaScript runs, 13 hand a crawler an outright error. - [简体中文版](https://jianruntech.github.io/geo-score/zh.html): the same data and findings in Chinese. - [Raw data](https://github.com/jianruntech/geo-score/blob/main/benchmark/results.json): every site, every score, machine-readable. ## The rubric - [AIV rubric v1.1](https://github.com/jianruntech/geo-score/blob/main/rubric/v1.1.md): the full specification, tier by tier. - [简体中文](https://github.com/jianruntech/geo-score/blob/main/rubric/v1.1.zh-CN.md): the same specification in Chinese. - [Machine-readable rubric](https://github.com/jianruntech/geo-score/blob/main/rubric/v1.1.json): stable check ids, tier conditions, bands. - [Report schema](https://github.com/jianruntech/geo-score/blob/main/schema/report.v2.json): emit this and results from different implementations are comparable. - [Calibration record](https://github.com/jianruntech/geo-score/blob/main/rubric/calibration-v1.1.md): how the thresholds were set, against four public benchmarks. ## The tool - [CLI](https://github.com/jianruntech/geo-score/tree/main/cli): level 1 is one file, standard library only, Python 3.8+. `curl -sL .../cli/geo_score.py | python3 - yoursite.com`. Levels 2 and 3 (`--ask`, `watch`, and an MCP server) check whether AI engines actually cite a site, through their APIs with your own keys, and never add that to the score. - [MCP server](https://github.com/jianruntech/geo-score/blob/main/guide/mcp.md): `geo-score-mcp` (stdio) gives an agent the same three levels. `score_site` is free and needs no key; `ask` and `run` spend the user's own API credits, and `--read-only` removes them. Setup for Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI and Zed is in the guide. - [GitHub Action](https://github.com/jianruntech/geo-score/blob/main/action.yml): score on every push, fail the build on regression. - [Five hand-scored audits](https://github.com/jianruntech/geo-score/tree/main/examples/audits/v1.1): all 21 checks scored by hand with reproducible evidence. ## Scope This measures readiness — whether an engine *can* cite a site. Whether one *does* depends on competition and query intent, which no site-side audit can observe. Remediation is deliberately out of scope: the rubric names the gap and what the next tier requires; it does not ship fix templates. Maintained by [Jianrun Tech](https://www.jianruntech.com) (见润科技), Shenzhen. MIT.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

