Free tools / ai-readiness-score

Free tool · technical readiness

AI Readiness Score

free

One run over the technical checks AI engines depend on: crawler access, no-JavaScript rendering, schema, answer structure.

Status — what this check does

Six checks, run against your site from our server. A check that cannot run is reported as not measured and leaves the denominator entirely — never scored zero, because a zero would be a claim about your site we did not measure. Until you run it, the number on the right belongs to a fictional domain.

Run the check

runs on our server

Domain only — https:// and any path are stripped.

What the score is made of

Six checks, fixed weights, 100 points when all six run. A check that does not run is excluded from the total — never scored zero.

The six checks and their weights, exactly as this page scores them
CheckWeight
AI crawler accessrobots.txt rules resolved per AI user agent; retrieval crawlers weigh more than training crawlers25 pt
Live fetch as each botHTTP status when the homepage is requested with each bot’s user-agent — from our IP, not theirs15 pt
Renders without JavaScriptwhether the main content is in the raw HTML, or arrives only after JS executes20 pt
Organization schemapresent, parses, and carries the fields that identify an entity15 pt
FAQ schemapresent, parses, and describes text that is actually on the page10 pt
Answer structurequestion-shaped headings, self-contained opening sentences, heading depth15 pt

In plain words, reading down the table: are the AI companies allowed to reach your site at all; does anything at your hosting quietly refuse them even when the rules say yes; are your words in the page before any code has run; does the page carry the small block of facts that says who you are; does it carry the same for the questions you answer; and are your headings shaped like the questions a buyer would type. Six answers, six weights, and you can see both.

100 points, all six checks running. Page speed and Core Web Vitals are deliberately not among them.

This check runs on our server, and it has to: every input to it — your robots.txt, your raw HTML, your JSON-LD — lives on your domain, and a browser cannot read another domain’s files. Nothing stored beyond the run.

readiness-report

example result · not your site EXAMPLE DATA

70

/ 100

63 points earned from 90 of 100 measured.

10 points (1 check did not run) left the denominator, not scored zero. Zeroed instead it would read 63 — our failed fetch, not your site.
  • AI crawler access18 / 25 pts
    10 of 12 agents allowed. OAI-SearchBot and ChatGPT-User are disallowed by line 14 of robots.txt — both are retrieval agents, which is where the 7 points went.
  • Live fetch as each bot15 / 15 pts
    200 for all 12 user-agent strings. Nothing at the edge is blocking on user agent.
  • Renders without JavaScript6 / 20 pts
    The raw HTML contains the nav and footer but not the body copy — 90% of the visible text arrives after JavaScript executes.
  • Organization schema15 / 15 pts
    Organization present and parsing, with name, url, logo and sameAs set.
  • FAQ schemanot measured · 10 pts excluded
    NOT MEASURED — the FAQ page returned 504 on both attempts. Out of the score, not a zero.
  • Answer structure9 / 15 pts
    3 of 11 headings are phrased as questions; 4 sections open with a back-reference rather than a standalone sentence.

Fix list — ordered by points recoverable

  1. +14 pts — Serve the main content in the initial HTML → tool
  2. +7 pts — Resolve the robots.txt groups per agent → tool
  3. +6 pts — Rewrite headings as the questions buyers ask → tool

Checks that did not run are not listed — we do not recommend fixing what we did not look at.

What the six checks read robots.txt the raw HTML your JSON-LD page speed not scored All three live on your domain. None of them can be read from a browser.

Where the points usually go

Four failures, and none of them exotic

These four account for most of the missing points on most sites. Each card shows the artifact the check actually reads.

01

The content only exists after JavaScript runs

Text that appears when a framework hydrates is text several AI agents never see — they do not execute it. Not a speed problem; the words are simply absent from what they read.

// raw HTML, EXAMPLE DATA <div id=“root”></div> → 63 visible words

02

A robots.txt group quietly replaced the general one

A crawler obeys the most specific group naming it and ignores User-agent: * entirely once it has one. A group added for a crawl-delay line can remove every Allow rule you wrote.

# EXAMPLE DATA User-agent: OAI-SearchBot Crawl-delay: 10 # ← * rules no longer apply

03

robots.txt says yes and the edge says 403

Your CDN or WAF sits above the file and answers first. This is why the live fetch is a separate check with its own weight — sent with each bot’s user-agent, from our IP, not theirs.

// EXAMPLE DATA GET / ua=Mozilla/5.0 200 GET / ua=GPTBot 403

04

Nothing on the page says who you are

No Organization markup, no consistent name, no about page a parser can resolve. An engine that cannot pin your identity has trouble attributing anything it reads to you.

// EXAMPLE DATA “@type”: “Organization” “sameAs”: absent

Reading your report

The number is the arithmetic, and the arithmetic is on the page

measured
The check ran. It contributed some part of its own weight, and the row says how much and why.
not measured
The check produced no result. Its weight leaves the numerator and the denominator, and the reason is printed beside it.

The score is the points earned divided by the points that could be measured, not by 100. Each row shows what its check looked at and what it contributed out of its own weight, so a 70 is always traceable to the 30 points that went missing and where.

If a row reads not measured, that check produced no result — our fetch timed out, the page returned an error, or the API gave back nothing usable. Its weight leaves the denominator with it, and the report says by how much. Re-run later; if it persists, the reason line tells you whether the obstacle is on your side or ours.

The fix list is ordered by points recoverable, which is only a meaningful ordering because the weights are on the page. Excluded checks never appear in it — we do not recommend fixing something we failed to look at.

This score answers one question: can an AI engine reach your pages, read them without running JavaScript, and work out what they say? That is a technical question with technical answers, which is why it can carry a number at all. It does not answer whether an engine will mention you. Nothing on this page measures that. Being readable is a precondition for being quoted — a page an engine cannot fetch or parse is not in the running — but plenty of perfectly readable pages go unmentioned, because a competitor answered the question better, or because the model was working from memory and never fetched anyone.

Can read and will mention are two different claims, and only the first one is measurable here. The second needs a different instrument: asking the engines real buyer questions and counting what comes back. That is a separate measurement, and it needs a separate instrument — which is why this page scores what can be read, and does not guess at what gets said.

Why trust the number

A check that did not run is not a zero.

Our fetch can time out. A CDN can rate-limit us. A page can return a 504 on both attempts. In each case the honest output is not measured, with the reason attached, and the check’s weight comes out of the denominator entirely.

What we print — EXAMPLE DATA

63 earned ÷ 90 measurable

70

The FAQ check returned 504 twice. Its 10 points left the denominator with it, and the row says so.

What zeroing it would print — EXAMPLE DATA

63 earned ÷ 100 assumed

63

Seven points of punishment for our own network problem. We show you this second number too, because the gap is our failure and you are entitled to see its size.

Why we refuse to zero it

Scoring an unrun check as zero punishes a healthy site for our own network problem — and it makes the number unstable: run it twice, get two scores, with nothing wrong at either end. When a check is excluded, the report also shows what the same site would have scored had we zeroed it instead.

Limitations, stated plainly

We check your homepage and a small set of linked pages, not your whole site — a section that fails while the homepage passes will not show up here. The live fetch carries each bot’s user-agent from our own IP, so a firewall filtering by verified IP range may treat us differently than the real crawler. The schema checks validate structure, not truth: they cannot tell you whether the claims in your markup are correct. And the weights are ours — reasonable, stated on the page, and handed down by no engine, none of which publishes one.

Fair questions.

The same five answers feed this page’s own FAQPage markup — one array, one source.

runs on our server
The check behind the page fetches your site from our server and reports what it found.
EXAMPLE DATA
Everything in the report panel belongs to a fictional domain. It is the label the panel carries until you run the check; once you do, it reads LIVE RESULT over your own numbers, or NOT MEASURED if nothing came back.

What does the AI readiness score actually measure?

Whether AI engines can reach and parse your site: crawler access in robots.txt, whether the homepage answers a live request carrying each bot’s user-agent, whether the main content exists without JavaScript, whether Organization and FAQ schema are present and valid, and whether the page is structured as answers. Six checks, fixed weights, all shown with the score.

What happens if one of the checks can’t run?

It is excluded, not zeroed. The check reads not measured with the reason, and its weight is removed from the denominator as well as the numerator — so a score of 70 from 90 measurable points is reported as exactly that. Scoring a failed fetch as zero would punish your site for our network problem and make the number change run to run for no reason.

Does a perfect score mean AI will mention my brand?

No, and any tool implying otherwise is selling something it does not control. This measures whether engines can read and understand your site. Whether they mention you depends on what your pages say, who else answers the question better, and whether the model fetched anything at all. Readability is a precondition, not a cause.

Why can’t this run in my browser?

Because every input to it lives on your domain, not this one. A browser cannot read another site’s robots.txt, raw HTML or JSON-LD — cross-origin responses are unreadable without CORS headers those files never carry. So the check runs on our server, and this page says so rather than borrowing a privacy line that would be false here.

Is page speed part of the score?

No. Speed matters for users and for search ranking, but it is a weak signal of whether an engine can read a page — a slow page that returns complete HTML reads fine, and a fast one that renders everything in JavaScript does not. Mixing the two would make the score mean two things at once and be actionable for neither.

Readable is the precondition, not the result.

Everything above was measured on your own server: your rules, your HTML, your markup. None of it can tell you what an assistant actually says when somebody asks about your business — nothing hosted on your domain can. That answer only exists inside the assistants, so the free check goes and asks them: up to five questions written from your own homepage, put to ChatGPT and Gemini, once each, with the sites named in your place.

Ask ChatGPT and Gemini about my site free · no card · two checks a day from one connection