Can AI answer engines cite your site?
geo-score is an open-source command-line tool that scores a website from 0 to 100 on whether AI answer engines such as ChatGPT, Perplexity, Gemini and Google AI Overviews can reach it, parse it, trust it and quote it. Every point comes from a published, versioned rubric, so anyone can recompute the score. It runs on Python 3.8 or later with the standard library only, and needs no API key.
Online, geo-score reads up to 5 pages (the CLI reads 8) and stops after 30 seconds. Results are cached for an hour; the URL you submit is not stored. Privacy
Show all 21 checks
Example output, not a live result: geo-score 1.8.3 scoring jianruntech.com, the maintainer's own site, on 2026-10-17. Shown: the score, the pillar totals and the three biggest gaps from that run, with all 21 checks one click away (screenshot of the full run). Your own result opens on its own page.
pip install geo-score
uvx geo-score https://example.com
For CI and client work, pin the release: geo-score==1.8.3. Quick start
What does geo-score check?
21 tiered checks in five pillars add up to 100 points, plus 4 bonus checks worth up to 6 more outside the denominator. Content Citability weighs the most because answer engines retrieve passages, not domains. The rubric calls that a design choice, not a measured effect, and the evidence table says where the support for each weight is thin.
Reachable 15
Can a retrieval crawler get the page at all?
- Retrieval crawlers allowed in robots.txtgate5
- Reachable to retrieval user-agentsgate5
- Main content server-renderedgate5
Understandable 22
Can it tell what the page and the company are?
- Sitemap discoverable and fresh4
- llms.txt present and structured5
- Organization + WebSite sitewide6
- BreadcrumbList on nested pages3
- Page-type schema where applicable4
Content Citability 35
Is there anything here worth quoting?
- Self-contained answer passages9
- Headings match how people ask7
- Freshness signal present6
- Statistics carry a source7
- Named, verifiable authorship6
Brand Credibility 18
Why should an engine trust it?
- Third-party listingsoff-site4
- Independent mentionsoff-site4
- Knowledge-graph entity4
- sameAs complete and resolving3
- Video and multimodal presence3
Answer Fit 10
Is the content shaped to be lifted into an answer?
- Content shaped for extraction4
- Coverage of the questions people askoff-site4
- Chinese engine readiness2
Why do three checks cap the score at 40?
Crawler access in robots.txt, live reachability for the 10 retrieval user-agents, and body text in the HTML the server sends are gates. If one of them scores zero, a retrieval crawler cannot get the content, so the normalised score is capped at 40 and the report leads with that gate. A middle tier is a deduction, not a cap. Scoring rules
Checks that need off-site search or human judgement are marked off-site. The CLI leaves them out of the denominator instead of guessing, and reports the score as points out of what it could observe.
Illustration: the same content work, with and without a gate at zero. The line marks the cap at 40.
- g.robots
- zero when robots.txt carries a Disallow that applies to retrieval user-agents
- g.reachable
- zero when most retrieval user-agents are blocked
- g.ssr
- zero when body copy exists only after JavaScript runs
What does the score mean?
Every score lands in one of five bands. Band names describe a stage, not a verdict: external benchmarks put most business sites between 30 and 55, so a score in the forties is ordinary, not alarming (rubric, Bands).
324 well-known sites, scored in public. The median is 55 (95% CI 51–58) and the range 11 to 96, measured on 2026-10-02 with geo-score 1.5.0. 73 of the 324 have a gate at zero, so an AI retrieval crawler cannot get their content. Source: the public leaderboard and its data and method.
Read one site's score as ±5. Each run samples pages, and the sample can change. In a same-day retest of the whole list with geo-score 1.8.0, 99% of 317 sites landed within ±5 (REPRODUCIBILITY.md). To compare before and after a change, re-score the same pages with --baseline.
See every site on the leaderboard How the score is calculated
How do I run it in my own workflow?
The same scorer ships four ways. Each one reads the same rubric and gives the same number for the same pages.
Command line
One file with no dependencies. Text, JSON against a published schema, SARIF and JUnit; diff compares two reports check by check.
uvx geo-score@1.8.3 example.com --explain
pipx install geo-score==1.8.3
geo-score example.com --json-out before.json
GitHub Action
Score the site on every push, and fail the build when it drops below a threshold or a gate reaches zero. It writes a job summary with every check.
Set up the Action- uses: jianruntech/geo-score@v1
with:
url: https://example.com
fail-under: 40
fail-on-gate: true
MCP server
Give an agent the scorer over stdio. score_site is free and needs no key; --read-only starts a server that cannot spend anything.
claude mcp add --scope user geo-score -- uvx geo-score@1.8.3 mcp
Badge
An optional SVG, or shields.io endpoint JSON, with your score and band. It never moves a score, and never decides whether or where a site appears on the leaderboard.
Add a badgegeo-score example.com --badge aiv-badge.svg
geo-score example.com --badge-json aiv-badge.json
How accurate is geo-score?
Four questions people ask, each answered with the record behind it.
- Score the same site twice: how far apart?
- In a same-day retest with geo-score 1.8.0 on 2026-10-12, 99% of 317 sites landed within ±5 and 81% scored identically (ICC 0.99). Source: REPRODUCIBILITY.md.
- Does it match a person scoring by the same rubric?
- On the five published hand audits, the CLI matched the auditor's tier on 80% of 84 check pairs. Five sites is a small sample, and all of them were calibration sites. Source: VALIDITY.md.
- Do the weights decide the ranking?
- With equal weights, or 300 random perturbations of them, the rank correlation with the published weights stays at 0.99 or above. Source: SENSITIVITY.md.
- Are higher-scoring sites cited more often by AI?
- Not shown so far. The preregistered test's first wave (16 categories, 83 sites, 1,280 answers from one engine) detected no association (T = 0.07, p = 0.51), and not detected is not the same as none. That is why citations are measured separately and never added to the score. Source: RESULTS-wave0.md.
Who maintains geo-score?
geo-score is built and maintained by Jianrun Tech (见润科技) in Shenzhen. Everything is MIT-licensed and the tool has no paid edition. It sends no telemetry: a run fetches the site you name, the URLs its markup and robots.txt point to, and Wikidata and Wikipedia search. The rubric is published so that anyone can measure AI visibility the same way and challenge a weight with evidence.
What it does not do. geo-score measures; it does not fix. The repository leaves out fix templates, content rewriting and per-engine tactics on purpose, and it never predicts traffic, rankings or revenue.
Want the gaps fixed, not just measured?
CiteSpot is Jianrun Tech's GEO service. It does the remediation work the open repository leaves out, for brands with online stores and export sites, and it measures with the same open score, so you can check every result yourself.