HTTP Error Audit Example: 400 and 500 Errors Across 50 Pages
This example shows the aiwebpageseo HTTP Error Audit for a 50-page e-commerce site. The scan found 9 errors: 6 client-side 4xx errors including 3 deleted product pages and a broken blog link, plus 3 server-side 5xx errors on checkout. Every result shows which page linked to the broken URL so you know exactly where to fix.
| # | URL | Status | Description | Found on |
|---|---|---|---|---|
| 1 | /products/blue-widget-v2 | 404 | Not Found | /products/ |
| 2 | /products/red-gadget-pro | 404 | Not Found | /products/ |
| 3 | /products/legacy-kit-bundle | 410 | Gone | /sitemap.xml |
| 4 | /blog/how-to-use-widgets | 404 | Not Found | /blog/ |
| 5 | /account/orders | 403 | Forbidden | /account/ |
| 6 | /api/reviews/submit | 429 | Too Many Requests | /products/blue-widget |
| 7 | /checkout/payment | 500 | Internal Server Error | /cart/ |
| 8 | /checkout/confirm | 502 | Bad Gateway | /checkout/payment |
| 9 | /checkout/thankyou | 503 | Service Unavailable | /checkout/confirm |
| 10 | /shop | 301 | Moved Permanently | / |
| 11 | /products/old-category | 301 | Moved Permanently | /products/ |
| 12 | /blog/index | 302 | Found (Redirect) | /blog/ |
| 13 | /contact-us | 301 | Moved Permanently | / |
| 14 | / | 200 | OK | Homepage |
| 15 | /products/ | 200 | OK | / |
| + 35 more pages — all 200 OK | ||||
Nine errors across fifty pages reads like a single problem with a single severity. It is not. Three of these errors are costing money this minute, three are broken links dressed up as status codes, and three are working exactly as intended. Sorting them by what they actually mean is the entire job of reading this report.
Start by discarding the instinct that a low error count is the goal. It is trivially easy to reach zero: redirect every 404 to the homepage. That would remove the errors from the report and leave you with a site that lies to visitors, wastes their clicks, and produces soft-404 signals that Google will see through anyway. A 404 on a URL that genuinely does not exist is the correct answer, not a failure.
The three questions that matter for each error: is a real user hitting this, is something on your site linking to it, and does a better destination genuinely exist? Almost everything else in a status-code audit is noise.
Three server errors, all on the checkout path: 500 on payment, 502 on confirm, 503 on the thank-you page. Everything else in this report can wait a week. This cannot wait an hour, because every visitor who reached the point of paying you is being turned away by a server that will not answer.
The three codes tell you where to look and they are not interchangeable. A 500 is the application itself throwing — an unhandled exception in your own code. A 502 is a gateway or proxy that reached your application and got an invalid response, or none: the upstream process is down, crashed, or timing out. A 503 says the service is unavailable, and it is the only one of the three that can be deliberate, which is why it is also the one that gets forgotten in place after a maintenance window.
That all three appear together on consecutive checkout steps points at a single failure with three faces — most often a payment integration or a dependent service that has fallen over, taking the pages that call it with it. Read the application log for the 500 first; it will usually name the exception, and the other two will follow from the same cause.
One crawl consequence worth knowing, though it is a distant second to the revenue: sustained 5xx responses cause Googlebot to reduce its crawl rate, on the sensible assumption that a struggling server should be left alone. A long outage therefore degrades how often your whole site is fetched, and recovery of crawl rate lags the fix.
Two deleted products return 404 and both are linked from the product listing page. The listing page is the defect. A 404 is the honest answer for a URL that no longer exists; a page that keeps linking to it is a page that has not been updated, and every visitor who clicks that link is being sent nowhere by you.
So the first action is to remove or update the links. Then decide, separately, what should happen to the URLs.
| Situation | Correct response |
|---|---|
| Product replaced by a direct successor | 301 to the successor, in one hop |
| Permanently gone, no equivalent | 410 Gone, and remove it from the sitemap |
| Permanently gone, but a genuinely relevant category exists | 301 to that category — not to the homepage |
| Temporarily out of stock, returning | 200, page stays live, offer marked out of stock |
| URL nothing links to and nobody visits | 404 — leave it, it is correct |
Redirecting a dead product to the homepage is the tempting shortcut and the wrong one: it is not a relevant destination for the visitor, and Google frequently treats such redirects as soft 404s regardless. The 410 already in your sitemap is a smaller version of the same inconsistency — it correctly says the page is gone while the sitemap continues to nominate it for crawling. Remove it from the sitemap and the two statements agree.
A crawler reporting 403 on /account/orders has discovered that a logged-out client cannot read a logged-in user's orders. That is the system working. The same goes for a 429 on an API endpoint that rate-limits automated submissions — it is a defence, and it fired.
Both are worth two minutes of thought before dismissal. If the account pages are linked from public navigation, a crawler will keep fetching them and getting refused, which is wasted crawl and a slightly confusing experience for a logged-out visitor who clicks. Either accept that or exclude the private area in robots.txt — bearing in mind that a robots.txt disallow prevents crawling but does not prevent a URL being indexed without content if enough pages link to it, and that anything genuinely sensitive must be protected by authentication, which it already is.
The 429 deserves a check of a different kind: confirm that the limit only ever fires for automated clients and never for a real person submitting a review. Rate limiters that are slightly too aggressive fail silently, because the user who was blocked does not file a bug report — they leave.
The four redirects in this report are working. The advice to point internal links at the final destination is right, and the reason usually given for it is wrong, so it is worth stating clearly.
Redirect hops do not leak link equity. Google has said that no PageRank is lost through a 301 or a 302, and the difference between those two codes concerns which URL gets indexed, not how much value is transferred. The "each hop loses 15%" figure that circulates in SEO advice describes an old model and does not describe current behaviour.
What chains genuinely cost you is real: latency, since every hop is another round trip for a person on a phone; crawl budget, since every hop is a fetch that could have gone to a page you want indexed; and fragility, since Google abandons a chain after roughly ten hops and chains grow silently over years of site changes until one day the destination is unreachable and nobody notices.
So: update the internal links to point straight at /products/, keep the redirect in place as a safety net for external links you do not control, and collapse any chain longer than one hop when you find it. Do it for the users and the crawler, not for a fictional evaporating equity.
What HTTP errors does the audit detect?
The HTTP Error Audit detects all 4xx client errors (404 Not Found, 410 Gone, 403 Forbidden, 401 Unauthorised, 408 Timeout, 429 Too Many Requests) and all 5xx server errors (500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout). Redirects (301, 302) are logged separately so you can review your redirect chain health.
How many pages can the HTTP Error Audit scan?
The HTTP Error Audit is available in four tiers: 10 pages for 10p, 50 pages for 50p, 100 pages for £5.00, and 1,000 pages for £9.99. Pay as you go — no subscription required. Credits are only deducted when you start a scan.
How does the crawler find pages to check?
The crawler starts at your homepage, extracts all internal links from the HTML, visits each one, and records the HTTP status code returned. It follows the same path Googlebot takes — starting from your homepage and crawling outward through your internal link structure.
Are 404s bad for SEO?
Not in themselves, and this is one of the most persistent misconceptions in technical SEO. A 404 is the correct, honest answer for a URL that does not exist, Google expects to encounter them on any site of any size, and there is no penalty for having them. What matters is which 404s. A 404 that nothing links to is a non-event. A 404 that your own product listing page links to, as with the two deleted products here, is a broken user journey and a wasted crawl — and that is a defect in your internal links, not in the status code. Fix the links, and redirect the URLs only where a genuine successor exists.
Should a deleted product 404, 410, or redirect?
It depends on what happened to it, and treating all three cases the same is where sites go wrong. If the product has a direct successor, 301 to that successor in a single hop. If it is permanently gone with no equivalent, return 410 Gone, or 301 to the most specific relevant category if that genuinely serves the visitor — a redirect to the homepage does not, and Google will often treat it as a soft 404 anyway. If it is temporarily out of stock and returning, keep the page live at 200 and mark the offer as out of stock. The one thing not to do is redirect everything to the homepage to make the error count go down.
Do 301 redirects lose ranking value?
No. Google has said plainly that no PageRank is lost through a 301 or a 302 redirect, and the difference between the two is about which URL ends up indexed rather than about how much value passes. Chains still matter, but for other reasons: every hop adds latency for a real user, wastes a fetch that could have gone to a page you want crawled, and adds a link in a chain that can break — Google gives up after around ten hops. So consolidate chains and point internal links at the final destination, and stop worrying about equity evaporating along the way, because it does not.
Why are the 5xx errors on checkout more urgent than everything else combined?
Because a 5xx is your server telling every visitor and every crawler that it cannot serve the page, and these three are on the checkout path. Revenue is being lost right now, which on its own outranks every other item in the report. There is a secondary crawl consequence worth knowing: sustained 5xx responses cause Googlebot to slow its crawl rate, on the reasonable assumption that your server is struggling and should be left alone — so a persistent outage quietly degrades how often the rest of your site is fetched. But do not fix it for that reason. Fix it because nobody can buy anything.
Related Demo Reports
🔴 Run HTTP Error Audit on Your Own Site
Find every 400 and 500 error across your site — from 10 pages to 1,000. Pay as you go from 10p. Results are filterable and exportable as CSV.