Methodology v0.4.1Updated 28 September 2026

How we measure AI visibility, in the open, test by test.

35 technical tests and 3 live tests in ChatGPT, Perplexity and Gemini add up to one AI Readiness Score from 0 to 100. This page covers what we test and why, and how we keep the method stable from one run to the next.

35
automated tests
Pass/fail or threshold-based. No test asks a language model for its opinion.
3
live questions
ChatGPT → Perplexity → Gemini, free tiers, with screenshots.
7
categories
103 points, normalised to 100.
0.4.1
current version
Versioned, with a changelog.
Four principles

Built so the number can be trusted.

01

Same site, same result

Every automated test is pass/fail or scored against a threshold, so the same website gets the same result on every run. Server response time is the one value that moves. We measure it again each time and score it against a threshold.

02

Every test has a source

Each test cites official crawler documentation from OpenAI, Anthropic, Google, Perplexity or Bing, or an open web standard (RFC 9309, schema.org). Where the documentation says nothing, we say so and test it ourselves.

03

Checked against real answers

A technically clean site is only the means. What counts is whether AI recommends you, so we ask real questions in ChatGPT, Perplexity and Gemini and screenshot every answer.

04

Versioned

AI crawlers and AI search change quickly, so the methodology has a version number and a changelog. Every report states its version. When we compare scores from different versions, we say so.

Seven categories · 103 points

Where the points come from.

Three checks give partial credit in proportion, and two more are scored against thresholds. We document the normalisation and every partial-credit rule, so the numbers in a report always add up.

AAccessibility for AI crawlersrobots.txt rules and firewall behaviour for the training, search and user-fetch bots of OpenAI, Anthropic, Google, Perplexity and Bing. If the bots are stopped at the door, the content behind it doesn't matter.26
BContent without JavaScriptAI crawlers don't run JavaScript. A single-page app without server-side rendering is an empty page to them. We compare the raw HTML with the rendered page.15
CStructured dataJSON-LD (Organization, FAQ, breadcrumbs) is the cheapest way to tell AI unambiguously who you are, what you do and where.15
DContent structureAI pulls answers from pages with a clear question-and-answer structure. That means one H1, headings in order that describe their section, FAQ sections, and proper titles and descriptions.15
EEntity clarityCan a model answer "who, what, where, how to get in touch" without guessing? Contact details, physical address, organisation number, consistent company name.10
FTechnical foundationsitemap.xml, canonical URLs, HTTPS, response time, hreflang for multilingual sites, both apex and www hostnames responding. There's also a bonus point for llms.txt, a proposed standard.14
GActual AI visibility (live tests)Whether AI knows your business, recommends it in your category and cites your domain. We test it live in three engines, and a check passes when 2 of the 3 get it right.8

Check maximums add up to 103 points (including the 1-point llms.txt bonus); the score is normalised: round(100 × earned / 103).

A sample of the 35 tests

What the tests look like.

robots.txt exists and parses correctlyRFC 9309
GPTBot, OpenAI's model-training crawler, is alloweddevelopers.openai.com
OAI-SearchBot, which powers ChatGPT Search citations, is alloweddevelopers.openai.com
ClaudeBot and Claude-SearchBot (Anthropic's training and search crawlers) are allowedsupport.claude.com
PerplexityBot is allowed. It feeds Perplexity's search index and doesn't train modelsdocs.perplexity.ai
The firewall lets AI user agents through, tested for nine bots and scored in proportionrepeatable HTTP test
Meaningful text is present in the raw HTML, before any JavaScript runsempirical render comparison
Valid Organization JSON-LD with name and address or URLschema.org · Google structured-data docs
Server responds in under 1.5 secondsthreshold-scored TTFB
llms.txt is presentllmstxt.org · bonus point

The full list of 35 tests, with scoring, thresholds and sources for each, comes with the paid audit report, along with your own result on every one.

Category G · live tests

Three questions in three engines, with a screenshot of every answer.

Category G is the only part we measure by hand, and we do that on purpose. Each business gets three fixed questions, asked in the same engines in the same order: ChatGPT, then Perplexity, then Gemini. We use the free tiers, because that's what your customers use. Every answer is screenshotted and attached to the report. In monthly monitoring we ask the same questions again, word for word, so you can see how the answers change over time.

G1Does AI know the business?
PASS
G2Does AI recommend it for your service in your city?
FAIL
G3Does AI cite your domain?
FAIL
A check passes at 2 of 3 engines. Status icons shown are an example.
Reading the score

What your number means.

0–39Invisible to AIAssistants can't read or identify the business.
40–59Partially visibleReadable, but hard to understand or verify.
60–79Good foundation, gaps to closeWhere most of the benchmark sits.
80–100AI-readyOnly 8% of benchmarked sites.

On its own, a score doesn't tell you much. Every report puts yours next to the median and the leader in your industry, from our own benchmark:

419
Norwegian trade websites benchmarked (wave 3)
72
median score, plumbers (121 websites)
70
median score, electricians (298 websites)

Benchmark: wave 3 (28 September 2026, 419 websites) computed with methodology v0.4.1; wave 2 (10 September, 449 businesses) with v0.4 and wave 1 (July, 447) with v0.2. Reports always label comparisons across versions. For the full distribution, category statistics and the checks businesses fail most, see the benchmark report →

Versioned

A method that stands still is wrong within months.

In one year, AI crawlers went from a handful to a dozen, each with its own job: training, search, or fetching a page for a user. So every month we read the bot documentation from OpenAI, Anthropic, Google, Perplexity and Bing. Every quarter we check all tests, thresholds and weights against where the market is. Any change to scoring ships as a new version with a fresh benchmark run, so medians and client scores stay comparable. When something big happens, like a new crawler or an engine reading robots.txt differently, we don't wait for the next cycle. We review it within days.

v0.4.128 Sep 2026

No points or thresholds changed. This version fixes how the entity checks read a page: a copyright year ("© 2025") no longer passes as a postal address, a date no longer passes as a phone number, an "Org.nr: NO … MVA" line now counts as an organisation number, and a name like "Løvås Rør" now matches its domain lovasror.no. The firewall test also retries once after a network error. Like every change that affects results, it shipped with a new benchmark wave.

v0.4Sep 2026

The firewall test now covers nine crawlers instead of four: the search bots of Apple, Amazon, Mistral, Meta and DuckDuckGo joined OpenAI, Anthropic and Perplexity. The reason is Cloudflare. From September 2026 it blocks training and agent bots by default but lets search bots through, so "blocked for AI" now depends on which bot you ask about. A new check confirms that both the bare domain and the www version respond. We added it after an audit found a company whose bare domain had no DNS record at all.

v0.3Jul 2026

The firewall test went from one bot to four, Claude-SearchBot was added, and Gemini replaced Copilot in the live-test protocol.

Current version: v0.4.1

Free · 5 of 35 checks · under a minute

Find out what AI sees on your website.

Enter your domain and get a first AI Readiness Score right away.

No newsletter, no nagging. We may follow up once about your result. Privacy policy.