CrawlCheck

Free check · about a minute

See what a crawler
actually receives.

ChatGPT, Claude, Perplexity and Google all send crawlers to your site. This shows you exactly what each one was handed — and whether it matched what a visitor sees.

See a real report first — a live Denver contractor, scanned in full →

Example AI visibility badgeEvery scan ends with a badge you can put on your site. It shows your real score, updates when you re-scan, and links to the full report — not a seal you buy, a measurement anyone can check.

No signup. Nothing installed. Nothing changed on your site. We only read pages, the way a crawler does — about 30 requests in total.

YOUR PAGE A PERSON, IN A BROWSER AN ANSWER ENGINE refused, or a fraction of it The gap between those two boxes is what decides whether you get quoted in an answer. Nobody sees it from inside a browser.

Built in Denver by an agency that runs its own client sites through it — the demo report is one of ours.

The scan is free. Monitoring $19/mo · Agency reports $49/mo →

What an answer engine has to get through

Both diagrams are drawn from real readings in this dataset — not illustrations of an idea.

The three stages, in the order an engine hits them
REACH can it fetch you at all READ can it find the words QUOTE is there a fact to state A refusal at the first stage makes the other two unreachable, however good they are.
One real page: 476,540 bytes delivered, 2.3% of it readable
2.3% text 97.7% markup, scripts, inline styles A crawler pays for the whole bar on every URL. Inline CSS cannot be cached between pages, so it pays again on the next one. The site looked fine to every human who visited it.

What a scan turns up

Three findings from sites already measured here. None of them appear in a validator, an uptime check, or a rank tracker.

476,540 bytes to deliver 2.3% text
The heaviest page measured through this checker. A crawler pays that cost on every URL, because inline CSS cannot be cached between pages. The site looked fine to every human who visited it.
HTTP 200 on a file no crawler could read
An origin bot shield answered /robots.txt with a verification page and a success status. Crawlers do not run the JavaScript — they read the interstitial as the file. Every uptime monitor called it healthy.
Two locations sharing one coordinate
Two business entities declaring the identical latitude and longitude. Perfectly valid schema; no validator has an opinion. It tells a retrieval system the two places are the same place.

Every site in these examples looked fine to the people who built it.

Point this at a domain and see what an answer engine is handed instead.

Scan a domain — free

What the report gives you

Two scores, because they fail independently
Crawl clarity — can a machine fetch, read and tell your pages apart. User clarity — can a reader tell what this is and who it belongs to. A site can be perfectly crawlable and say nothing coherent.
An AI visibility score, and its limits stated on the page
Whether an engine can reach you, read you, and quote a fact about you — three stages, in the order an engine hits them. It does not claim to know whether ChatGPT cites you; no server can measure that.
Every answer engine, one at a time
OAI-SearchBot indexes, ChatGPT-User fetches live, GPTBot trains. Three separate permissions a site routinely splits without meaning to. The report shows what each was allowed to do and what your edge actually gave it.
The ranked list of what to fix, with the points attached
Every component shows its weight, what was measured, and what the number would be if it were fixed. You can work top-down and stop when the remaining items stop being worth the hour.

You can have all of that in about a minute.

No login, nothing changed on your site, and no domain is ever named publicly.

Scan a domain — free

What we have actually found

Each one measured on a real site. None of them show up in a rank tracker, a validator or an uptime check.

0.8%

of a 2.3MB page was readable text

Read the measurement →

200 OK

returned by a file no crawler could read

Read the measurement →

11 visits

from one AI crawler, straight to a PDF

Read the measurement →

1 character

made every contact email bounce

Read the measurement →

What you get, and what costs money

Every scan includesFreeAgency
$49/mo
Monitoring
$19/mo
AI visibility score, with the three stages behind it
Every answer engine probed by name
Timestamp proof, anchored to Bitcoin
Embeddable badge that updates with your score
Name, phone and address a machine can read
Directory coverage — which of ten sources you declare
Your listings actually fetched — do they resolve, do they carry your number
Sitemap crawled — which declared pages nothing links to
Reports branded as yours, at the URL you already share
Weekly re-check, with changes posted to your webhook

The paid rows are the ones that spend requests or run on a schedule. Everything a single fetch can answer stays free, and no row anywhere changes a measurement.

Two things worth paying for

The scan is free and stays free. What costs money is the deliverable and the watching — the two jobs a tool cannot do by being run once.

Agency reports

$49/month

Your name and logo on every report you send, at the same URL you already share. The timestamp proof stays, so your client can verify it without asking either of us.

See what is included →

Monitoring

$19/month per site

We re-check every week and post to your webhook the moment a crawler-visible result changes — with the fields that moved, before and after. Silence until it matters.

See what is included →

Nothing a licence unlocks changes a measurement. The moment a payment can move a result, every result here is worth less — including the ones you would be paying for.

Questions people ask before scanning

Does this change anything on my site?
No. Every request is a read — the same GET a crawler makes. Nothing is submitted, no form is filled, no page is written to, and nothing is installed.
Will my domain show up anywhere public?
No. Aggregate findings are published on the dataset page and no scanned domain is ever named there. One line in robots.txt keeps you out of the dataset entirely.
What if my site is already fine?
Then you will know in about a minute and pay nothing. That is the likeliest outcome for a well-built site, and it is worth confirming rather than assuming — the most common serious finding on this site so far was a file that returned 200 to every crawler while serving them a verification page instead of the content.
Is this just an SEO audit with new words on it?
No. An SEO audit reads your page as a browser. This sends the requests an answer engine sends — as GPTBot, ClaudeBot, PerplexityBot and the rest — and reports what your edge gave each one. A site can pass every SEO check and still refuse two of the four biggest answer engines.
Can I pay to improve my score?
No, and that is deliberate. Nothing a licence unlocks changes a measurement, a finding or a grade. The moment a payment can move a result, every result here is worth less — including the ones you would be paying for.

What it will not do

Report a defect from a failed measurement
If a scan is rate-limited, blocked, or the pages render client-side, the result says so and the affected components are excluded from the score. An unmeasured component is never counted as zero — a false clean bill of health is more dangerous than a false defect.
Claim to know a ranking algorithm
Where a threshold comes from published research, the finding names the study. Nothing here is presented as a formula for being cited, because no such formula is published.
Name your domain anywhere public
Aggregate findings are published at the dataset and no scanned domain is ever named in it. One line in robots.txt keeps you out of it entirely.

Start with the free scan.

If the machine layer is already clean, you will know in a minute and pay nothing.

Scan a domain — free