404 Not Found: fix broken pages, missing routes and soft 404s
Which 404s you can ignore, which ones cost you visitors and rankings, and how to fix a whole site or section that suddenly returns Not Found.
· 4 min read · By the Spot Downtime team
404 Not Found is the most familiar error on the web: nothing exists at this address. A few 404s are normal on any site. Lots of them, or 404s on pages that used to work, cost you visitors, search rankings and sometimes whole features.
The three kinds of 404
| Kind | Example | What to do |
|---|---|---|
| Typos and junk | /wp-admin on a site that isn't WordPress, bots guessing URLs | Nothing. A 404 is the right answer. |
| Moved or deleted pages | Old blog URLs after a redesign, a product you stopped selling | Redirect with a 301, or return 410 if it's gone for good |
| Broken deploy | Every page or every asset 404s after a release | Treat as an outage: roll back |
When a whole site or section 404s
If everything, or everything under a path, suddenly returns 404, it's almost never content. Check in this order:
The deploy
The build output is empty or landed in the wrong folder, so the web server's root points at nothing. Compare the server's configured root with where files actually are.
Routing for single-page apps
The home page works, but reloading /dashboard gives a 404. The server looks for a file called dashboard and doesn't find one. Send unknown paths to your app's index.html:
location / {
try_files $uri $uri/ /index.html;
}The wrong virtual host
A domain pointing at a server that doesn't have a site configured for it gets the default site, which often answers 404 for everything. Check that DNS points where you think, and that the server has a block for this exact hostname.
DNS lookupConfirm which IP address a domain points to before digging into server config.Case and trailing slashes
Linux file systems are case-sensitive: /About and /about are different files. Sites moved from Windows or macOS hosting hit this often.
Handling moved pages properly
- Moved: redirect the old URL to the new one with a 301. Search engines carry the ranking over.
- Gone for good: return 410 Gone. Search engines drop it faster than a 404.
- Don't redirect every missing page to the home page. Search engines treat that as a “soft 404” and visitors get confused.
Watch out for soft 404s
Catch the important ones
You don't need an alert for every mistyped URL. You do want one when your pricing page, sign-up page or API endpoint starts returning 404. Point a monitor at the pages that matter: Spot Downtime treats a 404 as down and alerts you with the code, and a keyword check catches the soft-404 case where the status says 200 but the content is gone.
Keep reading
- HTTP errors · Troubleshooting500 Internal Server Error: how to find the cause and fix itA 500 hides its reason on purpose. Where to look first, the usual causes from unhandled exceptions to full disks, and the extra checks for WordPress and PHP sites.October 5, 2026 · 5 min read
- HTTP errors · Troubleshooting403 Forbidden: how to find out who's blocking the requestA 403 can come from a CDN, a firewall, the web server or your app. How to tell which, and how to fix file permissions, deny rules and over-eager bot protection.October 5, 2026 · 4 min read