HTTP Status Code
An HTTP status code is the three-digit number a server sends back with every response, telling whoever asked how the request went: 200 means the page loaded fine, 301 means it moved permanently, 404 means it wasn't found, 500 means the server choked. Every crawler that fetches your site sees this code before it sees a single word of your content, and a bad one can keep that content out of AI answers entirely.
Why status codes matter for your AI visibility
Assistants like ChatGPT, Perplexity and Google's AI Overviews build their answers from pages their crawlers were able to fetch cleanly. If a crawler hits an error code instead of a 200, the page is typically skipped or treated as unreliable, no matter how good the writing underneath it is. A guide that would answer the query perfectly is worthless to the model if the server hands it a 404 or 500. This is also why chasing AI-specific markup is often a distraction: Google has said directly that AI Overviews and AI Mode require no special schema, no dedicated "for AI" content, and no AI-only files to be read. A clean 200 on the pages that matter does more for citability than any of that.
How status codes work
Every fetch is a question-and-answer exchange: the browser or crawler requests an address, and the server replies with content plus a status code in the response header. The first digit tells you the category. 2xx is success, 3xx is a redirect, 4xx is an error caused by the request (a wrong or missing address), 5xx is an error on the server's side. In practice you'll deal mostly with 200 (success), 301 (moved permanently), 302 (moved temporarily), 404 (not found) and 503 (temporarily unavailable). You can read the code for any page with your browser's developer tools, a curl request, or any free header checker.
Common mistakes
The most common trap is the soft 404: the page displays an error message to a human but still returns a 200 to the crawler, so broken or empty content quietly enters the AI's index. Redirect chains are nearly as damaging, where an address hops through several 301s before a crawler gives up following it. Mixing up 301 and 302 also costs you, since only a 301 tells crawlers to transfer the old address's standing to the new one — a 302 leaves them citing the stale address. And a 503 that's meant to be temporary but drags on for weeks can get a page dropped from the index altogether. Check your highest-value pages periodically for the code they actually return, not the one you assume they return.
Relation to AI recommendations
Before an AI can cite your brand or link to your page as a source, it has to fetch that page without incident. Status codes sit underneath everything else you might do for AI visibility: the most citable answer page in the world does nothing if the server returns a 404 or 500 when GPTBot or a similar crawler comes calling. The working rule is simple — pages you want found return 200, retired addresses redirect with a clean 301 to their replacement, and error responses are rare and short. Get that right first; it's a bigger lever than most of the markup and file tweaks people reach for instead.
Example
Say a plumbing company moves its popular guide, "Fixing a running toilet," to a new URL as part of a site redesign. If nobody sets up a redirect, the old address starts returning a 404. ChatGPT and Perplexity had been citing that page for months, but once their crawlers hit the error, they stop finding it and quietly drop the recommendation. Had the company instead put a 301 in place from the old address to the new one, crawlers would have followed it automatically and the citations would have carried over. One status code is the difference between staying visible and vanishing.
Common questions
Which status code is best for AI visibility?
200, on every page you want an AI to find and cite. It tells the crawler the request succeeded and the content is safe to read in full. When a page has genuinely moved, use a 301 redirect rather than letting the old address 404.
What is the difference between 301 and 302?
A 301 says the move is permanent, so the standing built up by the old address transfers to the new one. A 302 says it's only temporary, which is why crawlers and search engines keep indexing the old address instead. If a move is permanent, use 301 — not 302 "to be safe."