AI visibility
Why AI crawlers get a different response than Google
What 13x checks
This is rule aeo.crawler-reachability in the public registry: AI crawlers actually receive the page. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.
- Surface
- AI visibility
- Score weight
- 12 of the readiness score
- Scope
- Runs on every audited page
- Applies
- Only where the market or the page shape makes it relevant
Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.
The fix
The same text the audit hands you when this check fails on your own site.
These agents did not receive your page: .
This is not a markup problem and you will not find it in robots.txt — the request never reached your application. Something in front of it answered first.
Where to look, in order:
1. Cloudflare → Security → Bots → *AI Scrapers and Crawlers*. This is enabled by default on many zones and blocks AI crawlers regardless of what your robots.txt says. If you want to be cited, turn it off, or add a WAF skip rule for the agents you allow.
2. Vercel → Firewall → *AI Bots* managed ruleset. Same behaviour, same fix.
3. AWS WAF → the AWSManagedRulesBotControlRuleSet CategoryAI labels.
4. Your own middleware. Search the repo for user-agent matching:
rg -i "user-agent|userAgent" --type ts -l | headVerify with a real request rather than a dashboard toggle:
for ua in "PerplexityBot/1.0" "OAI-SearchBot/1.0" "ClaudeBot/1.0" "ChatGPT-User/1.0"; do
printf '%-24s %s\n' "$ua" \
"$(curl -s -o /dev/null -w '%{http_code}' -A "$ua" https://example.com)"
doneEvery line should print 200. A 403, 429 or 503 is the block. Note that a challenge page often returns 200 with almost no text, so compare the byte count too:
curl -s -A "PerplexityBot/1.0" https://example.com | wc -c
curl -s https://example.com | wc -cIf the first number is a fraction of the second, the agent is being served an interstitial rather than your page.
Decide deliberately. Blocking AI crawlers is a legitimate stance, and bandwidth from aggressive crawlers is a real cost. The problem this finding reports is the mismatch: your robots.txt publishes one policy and your edge enforces another, so you are neither protected nor cited — you are just unpredictable.
Does your site have this problem?
13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.
No signup. Results in 30 seconds.
More ai visibility checks
- My content only renders with JavaScriptContent is readable without JavaScript
- How to let ChatGPT and Claude crawl my siteAnswer engines are allowed to retrieve
- How to write a description AI can quoteA citable description near the top
- Why my content is not quoted in AI answersPassages stand on their own
- Why my pages contradict each other about pricingThe site states the same facts everywhere
- Should I block AI crawlers in robots.txtRetrieval and training policy point the same way