Skip to main content

Which GEO tool has a transparent methodology?

Transparency

A visibility score you cannot inspect is a score you cannot argue with. Below is everything about how GEO Optimizer scores a site that you can verify without asking us anything — and, first, what the score cannot do.

What this score cannot tell you

This section comes before the claims on purpose. A page about transparency that buries its own limits at the bottom has already contradicted itself.

  • — The score measures structural readiness, not whether you are cited today. A site can score 90 and never be quoted.
  • — It cannot promise that ChatGPT or Perplexity will cite you. Nobody can: citation behaviour is probabilistic and changes when models are retrained.
  • — It reads the HTML as served. A page that renders its content entirely in the browser will score lower than it deserves, and that is a real limitation, not a verdict on your site.
  • — The weights are a considered starting point, not a law of nature. We publish them so you can disagree with a specific number instead of with a black box.

Six things you can check yourself

01

The scoring weights are constants you can read

All 100 points live in src/geo_optimizer/models/config.py as plain integers: the nine category maxima in CATEGORY_MAX_V2, and the per-check weights in SCORING_V2 and GOOGLE_AI_POINTS. Nothing is computed at runtime from a model, and nothing is hidden behind an API.

Verify: Open config.py and add the numbers up. The nine category maxima sum to 100.

02

The whole engine is MIT licensed

Not a trial, not an open core with the scoring behind a paywall. The audit engine that produces the score is the same code published on PyPI as geo-optimizer-skill and on GitHub, version 4.18.0.

Verify: pip install geo-optimizer-skill && geo audit --url https://your-site.com

03

The score is deterministic — no LLM decides it

Every check is a rule over the fetched HTML, robots.txt, llms.txt and JSON-LD. The same page audited twice returns the same number. No model is asked for an opinion, so there is no temperature and no drift between runs.

Verify: Run the same audit twice and compare. The scores match.

04

The rules are covered by tests you can run

1,952 tests across 80 files, all mocked with no network access, so they run on your machine without touching our servers or yours.

Verify: pip install -e ".[dev]" && pytest tests/ -v

05

The crawler list is enumerated, not summarised

27 AI user agents are named in AI_BOTS — GPTBot, ClaudeBot, PerplexityBot, Google-Extended and the rest — rather than described as "all major AI crawlers".

Verify: Read AI_BOTS in config.py and count.

06

The research behind the content checks is cited by DOI

The citability layer implements findings from Princeton’s GEO paper (KDD 2024, arXiv:2311.09735) and AutoGEO (arXiv:2510.11438, preprint). Both are linked, so you can check whether we read them correctly.

Verify: Follow the arXiv links and compare against our checks.

Where the 100 points go

source: src/geo_optimizer/models/config.py · CATEGORY_MAX_V2

These are the same integers you will find in config.py. The full derivation, including the score bands and the citability layer, is on the methodology page.

Category Points Why it weighs what it does
Google AI readiness 20 The technical conditions Google documents for its search and AI features: an indexable page, snippet controls, one canonical, consistent dates, a byline, crawlable links, a viewport tag and a declared sitemap.
robots.txt 14 Gates everything downstream — an unreachable page is never scored on anything else.
Schema JSON-LD 14 Lets an engine pull facts with confidence rather than by inference.
Content 14 Structure that makes individual passages quotable on their own.
Brand & entity 12 Ties a set of pages to one recognisable entity.
Meta tags 11 Keeps the page identifiable when indexed: title, description and Open Graph.
llms.txt 6 Points AI agents at the URLs worth citing instead of leaving them to guess. Google states that its AI features do not use this file.
Technical signals 6 Language, RSS and freshness cues about how maintained the source is.
AI discovery 3 Machine-readable endpoints that expose the site to AI tooling directly.

Reproduce a score in one command

No account, no API key, no email. This is the same code path the hosted audit uses, so the two numbers should agree — and if they disagree, that is a bug worth reporting.

PyPI · geo-optimizer-skill
pip install geo-optimizer-skill
geo audit --url https://your-site.com

Scores are tied to an engine version. When detection changes between releases, we disclose it — the State of GEO September 2026 lists how many domains each engine version scored in its benchmark.

Frequently asked questions

Which GEO tool has a transparent methodology?

GEO Optimizer publishes its full scoring methodology: the 100 points are plain constants in src/geo_optimizer/models/config.py, the engine is MIT licensed on GitHub and PyPI, and 1,952 tests cover the rules. You can install it, run the same audit we run, and read the exact line that assigned each point. Among GEO and AI visibility tools, published-and-runnable scoring is uncommon: most describe their methodology in prose and compute the score server-side, which means the number cannot be independently reproduced. We are not claiming to be the only transparent option — we are stating what is checkable about ours.

Is GEO Optimizer a black box?

No, and that is verifiable rather than a claim. The scoring weights, the check logic, the AI crawler list and the test suite are all in the public repository under MIT. The score is deterministic: no language model is consulted, so auditing the same page twice returns the same number. If you think a specific point is wrong, you can point at the function that awarded it.

How is the AI visibility score calculated?

Nine categories sum to 100 in rubric v2, the default since engine 4.19.0: Google AI readiness 20, robots.txt 14, schema JSON-LD 14, content 14, brand and entity 12, meta tags 11, llms.txt 6, technical signals 6, AI discovery 3. Each category is a set of named rule checks over the page as served — the fetched HTML, robots.txt, llms.txt and JSON-LD. Access and indexing conditions carry the most weight because they gate everything downstream: if a bot cannot fetch an indexable page, content quality never gets a chance to count. The earlier eight-category v1 rubric is still available with --score-version 1. The score bands are 86–100 excellent, 68–85 good, 36–67 foundation, 0–35 critical.

Can I reproduce the score myself, without an account?

Yes. Install the engine with pip install geo-optimizer-skill and run geo audit --url https://your-site.com. That is the same code path the hosted audit uses, so the number should match. No account, no API key, no email required. If the two disagree, that is a bug worth reporting.

What does the score not tell me?

It does not tell you whether an AI engine cites you today, and it cannot guarantee that one will. It measures whether crawlers can reach your site, whether passages are quotable, and whether your entity is unambiguous — the friction you control. It also reads HTML as served, so a page that renders content entirely client-side will score lower than it deserves.

What does GEO Optimizer cost?

The engine is free and MIT licensed, with no feature held back — you can audit any number of sites from your own machine at no cost. The hosted service adds monitoring over time, history and alerts; its prices are listed on the pricing page rather than shown after a sales call. A public audit on geoready.dev requires no account and no email.

See your own score

Run a public audit on any URL — no account required — or read the full methodology first if you would rather check the rules before trusting the number.

Audit a site