agentready

AI readiness · measurement

Can machines read your site?Measure it, then fix it.

No major AI crawler runs JavaScript. AgentReady fetches your pages the way they do, scores what survives, generates the files that close the gap, and then tracks whether engines actually cite you — one engine at a time, with the sample size attached.

no account20 pages~60 secondsfree tier: 3 scans a month

30 / 100
of the readiness score is what a non-rendering crawler receives
10–34%
how much a citation rate moves between runs on identical prompts
~11%
of domains are cited by both ChatGPT and Perplexity, so we never blend
readiness · basecamp.comlive sample
Readiness84/100

Whether machines can read this site. Not whether they cite it.

Rendering30/30
Crawler access18/20
Structured data11/15
Content structure12/15
Technical hygiene8/10

Citation rate, last 30 days

ChatGPT · retrieves from Bing12.4%
8.6%n=21017.6%
Perplexity · own index31.0%
25.1%n=21037.6%
wilson 95% · n=210no blended score

The finding other tools miss

A page can rank on Google and be invisible to ChatGPT.

Client-side rendering is the split. Googlebot executes JavaScript; GPTBot, ClaudeBot and PerplexityBot do not. If your answer lives in a bundle, the crawler that feeds the answer engine receives an empty shell — and nothing else in your stack reports it.

The escalation is the finding. We keep both representations of every page: what a non-rendering crawler receives, and what a browser produces.doc 07 — rendering, 30 points of 100
crawler view · /pricing
<div id="root"></div>
<script src="/assets/app-4f2a.js"></script>

<!-- 0 headings · 0 prices · 12 words -->
browser view · /pricing
<h1>Pricing</h1>
<h2>Freelancer — $25/mo</h2>
<h2>Studio — $59/mo</h2>

<!-- 14 headings · 4 prices · 812 words -->

The rubric

Seven categories, weighted, deterministic.

The readiness score is arithmetic over what the crawl found — the same inputs produce the same number tomorrow. Weights are published because a score you cannot audit is a number you cannot act on.

Rendering30 ptsWhat a crawler that cannot run JavaScript receives
Crawler access20 ptsrobots.txt, per bot tier
Structured data15 ptsSchema.org that resolves the entity
Content structure15 ptsHeadings, answers, lists
Technical hygiene10 ptsSitemap, canonicals, status codes
Freshness5 ptsDates a model can trust
llms.txt5 ptsCapped: no provider has confirmed it affects ranking
Rendering caps the categoryContent behind JavaScript is not “70% visible” to a crawler that cannot run it. A JS-gated page caps rendering rather than scaling it, so good headings elsewhere cannot average the problem away.
robots.txt is read per bot tierBlocking a training crawler is an editorial choice. Blocking a retrieval bot removes you from answers within hours. The two never score the same.

Citation sampling

One card per engine. Never one number.

Each engine is asked the same prompt library, on its own retrieval path, and the result carries how it was collected: API or consumer interface, browsing on or off, and how much of the sample came from the shared cache.

ChatGPT

retrieves from Bing

sampled
cited12.4%
8.6%n=21017.6%
apibrowsing oncache 46%

Perplexity

own index

sampled
cited31.0%
25.1%n=21037.6%
apibrowsing oncache 12%

Gemini

retrieves from Google

not measured
cited24 of 100 runs
0.0%needs 76 more28.0%
apiunder floor

The loop

Crawl, score, generate, measure.

01

Crawl twice

Once as plain HTTP, once in a browser. The difference between the two is what an AI crawler is missing, and it carries the most weight in the score.

02

Score against the rubric

Seven deterministic categories, weighted. No model is asked whether your site is good; the rubric is arithmetic over what the crawl found.

03

Generate the files

llms.txt, agents.json, Schema.org JSON-LD, ai-plugin.json, a robots.txt patch and a live MCP endpoint — built from your own pages, never invented.

04

Measure what changed

Search rank daily, verified crawler hits per bot tier, and sampled citation rates per engine. A fix is judged after a 21-day window, not on deploy day.

What gets generated

Files built from your pages, not from a template.

Every line is traceable to something the crawl actually found. When a site has no FAQ, the FAQ file comes back empty rather than invented — a validator rejects fabricated content before it reaches you.

  • llms.txt and llms-full.txt
  • .well-known/agent.json — an A2A agent card
  • .well-known/ai-plugin.json and Schema.org JSON-LD
  • A robots.txt patch, per bot tier
  • A live MCP endpoint for your site’s own actions
llms.txt · generated
# Basecamp

> Trusted by millions, Basecamp puts everything you need to get
> work done in one place.

## Pages

- [Basecamp](/): Project management and team communication.
- [Pricing](/pricing): Free, Freelancer $25, Studio $59, Pro $99.
- [Basecamp 5](/5): The 2026 release, 100+ improvements.

## Contact

- Support: /support

Method and limits

What the numbers mean, including where they stop.

per engine

Only about 11% of domains are cited by both ChatGPT and Perplexity, so a single blended visibility score averages away the one thing worth knowing. Every rate here names its engine.

with intervals

Identical prompts vary 10–34% between runs. A rate ships with its 95% Wilson interval and its sample size, and below 100 runs we show the count instead of a percentage.

mention ≠ citation

Being named in an answer and being linked as a source are different outcomes. They are counted separately, because treating one as the other inflates the headline on most sites.

gaps stay gaps

Webmaster tools report only the queries you already rank for. A day with no reported position is drawn as a gap, never as rank zero.

a lower bound

Between 35% and 70% of AI referrals arrive with no referrer and land in Direct. Referral counts are labelled as a floor, not a total.

what we don't do

We do not predict citation probability. The predictor exists, is unmeasured, and stays off until its output has been calibrated against measured rates.

Start with the scan. It takes about a minute.

The free tier covers one site, three scans a month, and every generated file. Paid plans are coming soon.