CrawlCheck

Directory · Model and API providers

Character.AI — what a crawler receives from character.ai

Website measurement, not a product review. This page records what machine clients received from character.ai. It does not evaluate Character.AI software, features, pricing or support.

55
Dgrade

Answer engines are being served something other than this site.

AI visibility 55/100, measured 2026-09-18 02:43 UTC from outside its network, as twelve named crawler identities plus an unnamed client and two mobile-browser controls. An engine can technically reach this site and would struggle to get anything quotable out of it.

Held at D A high-severity finding sets the letter.

Open the full report character.ai ↗

4

findings

llms.txt on its host

entity map on its host

1

scans on record since 2026-09-18

The three stages, in the order an engine hits a site

Each stage gates the next. An engine that cannot reach a page never reads it; one that cannot read it never quotes it. That is why reach is a ceiling and not just a weight.

71

Stage 1 · 40% of the score

Reach

Can a named answer-engine crawler get your pages at all?

At least one answer engine was refused, challenged or served less than a browser.

79

Stage 2 · 30% of the score

Read

Once it has the bytes, can it find the words?

The content is buried in markup, or the files that guide a crawler are missing.

9

Stage 3 · 30% of the score

Quote

Is there a specific fact it can state and attribute?

An assistant would have to paraphrase your page instead of quoting a fact.

The stage to fix first is quote, because the three run in order.

What to fix

4 findings on this site, 2 of them scored serious. The top one is below in full, free. Which the other 3 are, what we saw, and the bytes behind each one are what a licence buys — or we implement the whole list for you.

1 High 1 Medium 2 Note

1An answer engine's crawler was refused while a browser was servedApplebot 429 (a Cloudflare managed challenge) — while an unnamed client got 200 with 8 wordsHighSetting

What we saw

Applebot 429 (a Cloudflare managed challenge) — while an unnamed client got 200 with 8 words

Why it matters

The same URL, the same minute: an ordinary client was served the page and a named answer-engine crawler was not. That is the edge rather than a robots.txt decision. One caveat this site's own guides state and this finding must too: the scan sent the crawler's name from an address that operator does not publish, and an edge that verifies identity by IP is right to refuse it. So this proves the edge treats the identity differently - not that it refuses the real crawler. Your own logs, checked against the operator's published ranges, settle which. If the edge is refusing the real crawler, nothing else in this report reaches that engine, however good it is.

How to fix it

Allow the named answer-engine crawlers through the security layer (Cloudflare bot rules, WAF, rate limits), or verify their published IP ranges instead of blocking by name.

Setting: a setting on the server, CDN, DNS or a plugin — no code and no writing

ANSWER_ENGINE_REFUSED · full transcript

2🔒 Medium finding, held backMedium
3🔒 Note finding, held backNote
4🔒 Note finding, held backNote

See the other 3

Every finding, what we saw, why it matters, how to fix it, and the evidence bytes — on this report and every re-scan. From $29 a month.

Unlock the findings

Or have them fixed

We implement the list on your site and re-measure, with a sealed before and after. One site, $749 once.

Get this fixed — $749

The chain a crawler follows

The chain breaks at llms.txt. Everything after that point is only reachable by a crawler guessing the conventional path.

robots.txtEvery crawler reads this first
sitemapNamed in robots.txt and resolves
llms.txtPoints onward, links stay on this host
entity graphParses as JSON and points home

A machine file that does not parse is worth less than one that is absent, because it looks present. Rows behind this.

Where the bytes go

Of the 323,706 decompressed bytes the homepage delivers, 0% is text a reader or a model can actually use. Most of what a crawler downloads here is not words.

  • Readable text 0% · 58 B
  • Markup & attributes 1.3% · 4,088 B
  • Inline CSS 0.6% · 1,836 B
  • Inline JavaScript 98.2% · 317,724 B

The individual blocks that weigh the most, so the fix is a search rather than a hunt:

  • Inline JavaScript · 313,302 B (96.8%) — a framework state payloadopens {"props":{"pageProps":{"i18n":null,"user":null,"lang":"en","token":nul

What changed

No change recorded between the readings on file yet.

1 scan on record, first 2026-09-18. Score movements are shown only between readings taken under the same score version; finding codes are comparable across all of them.

Is this your site?

This listing reads the public record. Claim it and Watch keeps that record on your terms: every list this page holds back, finding age, and twice-daily re-measurement. Free for 30 days, no card.

Claim the record for character.ai

Is this your company?

This listing came from a fetch, not a submission, so nobody was asked. If character.ai is yours you can prove it in a minute and for nothing — a DNS TXT record or one meta tag on the home page, both checkable by anyone.

Claiming marks you as the verified owner and lets you correct the category and the company name. It moves no score, no rank and no position.

Claim this listing — free or ask about a verified profile

Dispute or re-scan

If a reading here is wrong, it is our instrument that is wrong, and we want to know. Tell us what is wrong and the site is re-measured; the result is published as measured. Nothing about a listing, a payment or a request changes a number.

By email instead: hello@crawlcheck.io. Category “Model and API providers” is our label for what the product is primarily sold as; it is not scored. Back to the directory.