Dattva Research · July 2026
The HTTP Status Code That Makes You Invisible to AI — 499
A 499 is not a server error. It is a signal that an AI crawler arrived at your page, waited for the server to respond, decided it was not worth waiting any longer, and left. The page never got indexed in that visit. According to analysis by Profound of 700,000 pages in April 2026, pages with high 499 rates — above 75% failure — received roughly 18 times fewer AI citations than pages that responded reliably. In many cases they received none at all.
What a 499 Actually Is
The 499 status code does not appear in the official HTTP specification. It was introduced by NGINX to describe a specific situation: the client — the system requesting your page — closed the connection before the server finished sending the response. The request was abandoned. The server may have completed its response milliseconds later. From the perspective of the client, the page never existed.
This is not a server failure in the traditional sense. Your server did not crash. Your page is not broken. Something in your stack — origin server latency, a security rule, a timeout misconfiguration, an overloaded database query — took longer than the requesting client was willing to wait. The client left. The 499 entry appears in your server logs. Most teams never look at it.
Cloudflare logs 499s. Edge proxies log them. API gateways log them. Standard SEO tools do not surface them prominently, and Google Search Console has no equivalent for AI crawler behaviour. The failure mode is real, consequential, and largely invisible to standard monitoring workflows.
Eligibility Is Not the Same as Ranking
The conventional mental model for search visibility is crawling, indexing, and ranking. AI Search introduces a different prerequisite before ranking is even relevant: eligibility. Content must first be retrievable — fast enough, reliably enough, consistently enough — to enter the candidate set that an AI system evaluates when assembling an answer.
This is a gating mechanism, not a ranking penalty. Pages that time out for AI crawlers are not ranked lower. They are not in the system at all. The distinction matters because the fix is not better content or more backlinks — it is server reliability.
When a system like ChatGPT or Perplexity assembles an answer in real time, it evaluates dozens or hundreds of candidate sources in parallel under tight latency constraints. It does not wait for slow responses. It has to move to the next viable option. A page that is slow enough to trigger a 499 is not a page that gets cited with lower confidence — it is a page that does not participate in that retrieval cycle at all.
Mike King of iPullRank, whose analysis prompted Jan-Willem Bobbink of Ahrefs to highlight this finding, frames it directly: this is not a performance optimisation. It is a participation requirement. A 499 is the log-level manifestation of your content being excluded from eligibility.
What the Data Shows
Profound analysed a random sample of 700,000 pages over a multi-day period in April 2026, examining the relationship between page reliability and whether OpenAI systems cited those pages. The finding was not marginal. Pages with failure rates above 75% received approximately 18 times fewer citation interactions than pages that responded reliably. Many received zero citations during the measurement period.
One iPullRank client saw a pattern that illustrates the mechanism clearly: a sharp increase in 499 rates over time, followed by a measurable suppression in AI visibility, followed by a 22% recovery in AI Search visibility after the 499 issues were addressed. The sequence is not ambiguous — it shows the system removing a site from citation eligibility as its server reliability degraded, and restoring it after the reliability was fixed.
The Ahrefs Bot Analytics tool now includes a status codes report that shows which pages are generating 499s for AI crawler user-agents, and from how many bots. This is currently the most practical tool for identifying whether a specific site has a 499 problem before it compounds into a citation visibility problem.
What Causes 499s for AI Crawlers
Three root causes account for most 499s in practice. They are not mutually exclusive — a site can be affected by all three simultaneously.
Slow origin server response (TTFB)
The most fundamental cause is a slow origin. If the server takes four seconds to return the first byte of the HTML response and the AI crawler is configured to wait three seconds, the result is a 499. Database query latency, unoptimised application logic, expensive rendering operations, and synchronous third-party calls are the common culprits at the origin level. The fix is instrumenting where the latency is actually coming from — not all backend slowness is created equal.
Security configuration blocking or challenging AI crawlers
The most common cause that site owners do not initially suspect is security tooling. Cloudflare in aggressive bot-fighting mode, WordPress security plugins (Wordfence and similar) with rate limiting enabled, and WAF rules that treat unfamiliar user-agents as suspicious can all produce 499s for AI crawlers without producing any visible error on the user-facing site. The crawler is either challenged with a CAPTCHA it cannot complete, rate-limited into timeout, or subjected to a connection hold that exceeds its patience. This is particularly common on WordPress sites with active security plugins.
The correct fix is not to disable security tooling globally. It is to add AI crawler user-agents to an allowlist or to create bot-specific rules that bypass the challenge layer for verified AI crawler IP ranges: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended.
Timeout misconfiguration across the stack
Every layer in the request chain has its own timeout setting: the AI client, the CDN, the load balancer, the origin server. If these are not aligned, a layer can abandon a request that another layer was still successfully handling. A CDN configured to wait five seconds will terminate a connection to an origin that takes six seconds — generating a 499 — even if the origin eventually produces a perfectly good response. Resolving this requires auditing timeout settings at each layer and ensuring the origin response consistently falls within the most conservative threshold in the chain.
The Fix: Edge Caching for AI Crawlers
Of the available fixes, edge caching at the CDN layer has the highest impact-to-effort ratio because it removes origin latency from the equation entirely. If an AI crawler requests a page and the CDN serves a cached HTML response from the edge, the crawler is not waiting for the database, the application server, or any rendering logic. The response is immediate.
The key insight is that AI crawlers and human users have different requirements from the same page. A human user benefits from fresh personalisation, current pricing, and updated UI state. An AI crawler needs the canonical content payload — the headings, the body text, the FAQ answers — and does not care about most of the dynamic elements that drive cache-busting for human traffic. These are different jobs and can have different caching rules.
Mike King describes the practical Cloudflare Cache Rule configuration as follows: create a cache rule that matches known AI crawler user-agents, sets cache eligibility to "Eligible for cache", caches the full HTML response (not just static assets), and applies an Edge Cache TTL appropriate to how frequently the content changes — one to seven days for informational pages, seven to thirty days for blog posts, thirty days or longer for evergreen content. Combine with stale-while-revalidate to serve cached responses immediately while background revalidation runs.
AI Bot HTML Edge Cache
Matching expression (user agent):
(http.user_agent contains "GPTBot")or (http.user_agent contains "ChatGPT-User")or (http.user_agent contains "OAI-SearchBot")or (http.user_agent contains "ClaudeBot")or (http.user_agent contains "PerplexityBot")
Path exclusions (add to expression):
and not (http.request.uri.path contains "/cart")and not (http.request.uri.path contains "/checkout")and not (http.request.uri.path contains "/account")
Cache settings:
- Cache eligibility: Eligible for cache
- Cache level: Cache everything (including HTML)
- Edge Cache TTL — Informational pages: 1–7 days; Blog posts: 7–30 days; Evergreen content: 30+ days
Validate the rule by segmenting server logs by AI crawler user-agent and comparing 499 rates before and after. Look for the shift from MISS to HIT in cache status values. Fewer origin fetches, lower TTFB, fewer 499s — the AI visibility recovery follows from there.
Cloudflare Markdown for Agents
Separately from the caching fix, Cloudflare has introduced a feature called Markdown for Agents that addresses a related problem: even when a page loads fast enough to avoid 499s, the HTML payload contains significant overhead that slows down content extraction — animations, hydration scripts, navigation boilerplate, personalisation widgets.
The feature converts HTML to Markdown at the edge when an AI system requests the page with a text/markdown Accept header. The result is a lightweight, semantically clean representation of the page content — headings, paragraphs, lists, tables, and links — without the DOM noise that AI agents have to parse around. This does not replace the HTML page for human visitors. It serves a different format to a different class of reader.
This is available in beta for Cloudflare Pro, Business, Enterprise, and SSL for SaaS customers. It is found in the AI Crawl Control section of the Cloudflare dashboard. For sites where AI citation is a priority and Cloudflare is already in the stack, enabling this feature is a low-effort addition to the edge caching configuration described above.
What to Check — and in What Order
- Check Ahrefs Bot Analytics status codes report for 499s by AI crawler user-agent. If the rate is above 10% on key pages, treat it as a priority fix, not a background task.
- Check Cloudflare or WAF settings for rules that challenge unfamiliar user-agents. Add GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, and Google-Extended to a bypass list for challenge and rate-limit rules.
- Check TTFB on the key pages. Run through PageSpeed Insights and look at the TTFB value specifically. Above 800ms on desktop is worth investigating at the origin level.
- Audit timeout settings at CDN, load balancer, and origin server. If CDN timeout is lower than origin response time on any page, 499s are structurally inevitable.
- Implement Cloudflare Cache Rules for AI bot user-agents. Cache full HTML. Set Edge Cache TTL by content type. Validate in logs after one week.
- Consider enabling Cloudflare Markdown for Agents if already on Pro or Business plan. Low-effort, meaningful for AI citation.
Not invisible in rankings. Invisible to eligibility. That is a different problem with a different fix.
Frequently Asked Questions
What is an HTTP 499 status code?
A 499 is an NGINX status code that means the client closed the connection before the server finished sending the response. It is not a traditional server crash. For AI crawlers, it usually means the bot arrived, waited for a response, and left because the page took too long — so that visit never indexed the page.
How do 499 errors affect AI citations?
According to Profound's analysis of 700,000 pages in April 2026, pages with high 499 rates — above 75% failure — received roughly 18 times fewer AI citations than pages that responded reliably. In many cases they received none at all. A 499 is an eligibility failure: the page is excluded from the retrieval cycle, not ranked lower.
What causes 499s for AI crawlers?
Three root causes account for most 499s: slow origin server response (TTFB), security configuration that blocks or challenges AI crawlers (Cloudflare bot fighting, Wordfence, WAF rules), and timeout misconfiguration across CDN, load balancer, and origin. A site can be affected by all three at once.
How do you fix 499s for AI crawlers?
The highest impact-to-effort fix is edge caching HTML for known AI crawler user-agents at the CDN layer, so crawlers are not waiting on origin latency. Also allowlist GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, and Google-Extended in challenge and rate-limit rules, audit timeout settings across the stack, and check Ahrefs Bot Analytics for 499 rates by crawler.
What is Cloudflare Markdown for Agents?
Cloudflare Markdown for Agents converts HTML to Markdown at the edge when an AI system requests a page with a text/markdown Accept header. It returns headings, paragraphs, lists, tables, and links without DOM noise from scripts and widgets. It is available in beta for Cloudflare Pro, Business, Enterprise, and SSL for SaaS customers under AI Crawl Control.
See where your brand stands in AI answers today
Run a free AI Visibility diagnostic across ChatGPT, Perplexity, Gemini, and Claude — with prioritised, copy-paste fixes at no cost.
