Set up 301 redirects
Standard procedure for all three pre-service providers: mark 138 URLs as dead, create a redirect list, and bill the client.
I found a server bug that only affects Googlebot, not humans. Three standard SEO audits had previously flagged it as “138 dead URLs” and recommended 301 redirects. We reproduced it, cross-checked it with curl, and identified the true cause: a server concurrency issue that has been quietly eating away at rankings for three years.
Background
The client agency was facing a long-standing problem: an international B2B corporation had been steadily losing visibility for three years. Three previous external audits had provided content recommendations, reviewed backlinks, and measured performance. Yet visibility continued to decline.
The first Screaming Frog crawl reported 138 URLs with a 502 (Bad Gateway) status. In any standard audit workflow, that’s a clear sign: these URLs are dead—set up 301 redirects, and you’re done. Three providers before us had recommended exactly that. No one had ever checked whether the URLs were actually dead.
A technically well-maintained corporate website with over 5,000 URLs, built to be multilingual, and featuring clean internal linking. Hosted by an established provider, with monitoring in good standing. This is exactly the kind of situation where standard audits fall short, because the issues only arise under crawl load.
8 days · Step by step
Four phases, documented and reproducible. From the initial standard crawl to the validated hypothesis, every step can be traced individually in the repository.
First Screaming Frog crawl using the default configuration (5 threads). Result: 138 URLs with a 502 status. URL list exported.
Identical crawl 8 days later: again 138 × 502, identical URL list. Parallel curl loop in sequence: 0 × 502, all 200/302/404. URLs are not dead.
Third crawl with an expanded set (417 URLs instead of 360): 40 × 502, same pattern, significantly fewer in absolute terms. Errors correlate with the number of parallel requests.
7 technical hypotheses were formulated and prioritized. Top hypothesis: PHP-FPM worker pool exhaustion. The findings were handed over to the agency along with a section on server diagnostics in the audit report.
Stack & Tools
What customers say
Three audits earlier had led us to believe that the 138 URLs were dead. It wasn’t until we performed the three-crawl verification that we realized the real problem wasn’t the URLs, but our hosting configuration. Armed with this insight, we were finally able to approach the host with a clear plan of action, rather than groping around in the dark.
This diagnosis isn't an isolated case. It's a pattern you can apply to any website whose visibility is declining for no apparent reason.
Reproduce the issue before redirecting. A single crawl is never enough to diagnose a 5xx error.
Compare sequential and parallel testing. A curl loop with one request per second provides the most accurate differential diagnosis.
List hypotheses, don't guess. If you list all possible causes and rule them out one by one, you present a finding rather than a guess.
A single crawl is just a snapshot. Server issues that arise under parallel load vary in severity depending on the time of day, cache status, and concurrent traffic. Only by repeating the process can we determine whether the pattern is structural.
The three-crawl verification takes about 30 minutes of developer time per set of URLs, or typically 1 to 2 hours. This represents an additional investment of 108 to 216 euros compared to the risk of an incorrect recommendation.
Google reduces the crawl rate in proportion to the error rate. If errors persist for more than 48 hours, Google begins removing the affected URLs from the index.
A single browser request generates only one request. Concurrency issues arise only when there are multiple parallel requests, which is typical for crawlers with 5–8 threads.
Yes, using Screaming Frog (Enterprise or Free) and a curl loop. The method is well-documented and reproducible; any technical agency can use it.
If your reports show 138 supposedly dead URLs or your crawl frequency drops for no apparent reason, a three-crawl verification over 8 days can provide clarity. The first phone call is free, and an NDA is standard.