Clean fetch
Clean fetch — 200, no auth, ≤1 same-host redirect
In short: Serve /llms.txt with a plain 200 to anonymous requests: no login, bot challenge or WAF block and at most one same-host redirect (redirects are not penalised yet).
What it checks
Whether the file fetches cleanly: HTTP 200, no auth, at most one same-host redirect.
Why it matters
Most agent fetchers make one request and give up on logins, challenges or long redirect chains. A file behind any of them is effectively absent.
When it applies
Always, for any llms.txt the scan fetched. A fetch that fails is never scored as a zero: a 401 (login required), 403 or 429 is reported as the scan being turned away, a timeout or a 5xx as Unverified, and a login page served with 200 as a web page answering instead of a file.
An audit that doesn't apply, or that we couldn't verify, is removed from your score and its weight shared among the Retrievability & Access audits that do apply. It is never scored as a zero.
How it's scored
1.0 for every file the scan could fetch. The scanner follows redirects like most HTTP clients, so a file reached through a redirect scores the same as one served directly.
How to fix
- Serve /llms.txt directly with a 200; avoid redirecting it to another host or path.
- Exclude the path from bot challenges, WAF rules and login walls.
- If you must redirect (for example http → https), keep it to a single same-host hop.
Frequently asked questions
Does redirecting /llms.txt, for example from http to https or to /static/llms.txt, cost me points?
Sources: Clean fetch · RFC 9110 §15.4: Redirection 3xx
Why did my scan say we were turned away at the door when the file loads fine in my browser?
LLMSRank-User user agent (and the AI fetchers you care about) for /llms.txt and scan again. A 401 means the path asks for a login, which your browser session may be satisfying for you; agents have no session, so make the file public.Sources: RFC 9110 §15.5.2: 401 Unauthorized · RFC 9110 §15.5.4: 403 Forbidden · RFC 6585 §4: 429 Too Many Requests
How do I let bots reach /llms.txt through Cloudflare’s bot protection?
http.request.uri.path eq "/llms.txt" with the Skip action so managed rules and Super Bot Fight Mode don’t challenge it. Cloudflare documents that the Free plan’s Bot Fight Mode cannot be skipped, so on that plan you have to turn it off or accept that some fetchers will be challenged.Sources: Cloudflare: skip rules
What happens if /llms.txt needs a login, times out or returns a 5xx error?
Sources: RFC 9110: HTTP Semantics · Clean fetch
In your research, how many sites pass the Clean fetch audit?
Sources: LLMSRank method · Clean fetch