Error page (404)
Does the server correctly answer addresses that do not exist with "404 Not Found"?
What we check
We request an address on the website that certainly does not exist, such as /checkmaster-not-found-3f9a1c2b. If the server redirects first, for example to the www variant or a language version, we follow the redirect. Then we look at the HTTP status of the response:
- 404 or 410: correct.
- 200 (OK) or another 2xx status: warning. The server claims the page exists.
- Another status, such as 403 or 500: note, because it is unusual.
Why it matters
Every response from a web server contains a status code that visitors do not see, but search engines certainly do. If the server answers an unknown address with "200 OK" instead of "404 Not Found", a so-called soft 404 arises:
- Google takes the error page for real content and may add it to the index, with the company name next to "Page not found".
- Outdated links from other websites and old addresses after a relaunch never come to light because no errors are reported.
- If the server redirects everything to the home page, visitors land there without explanation and search in vain for what they expected.
How to fix it
The server must send status 404 for unknown addresses. The page shown in that case can and should be designed:
- a short, friendly explanation that the page does not exist,
- a search field or links to the most important areas,
- the contact details.
For pages that have been moved, set up targeted redirects (301), but not across the board for everything.
WordPress
WordPress sends 404 by itself. The problem usually arises from plugins that redirect all errors to the home page, such as "All 404 Redirect to Homepage". Deactivate such functions. You design the error page through the template 404.php of the theme or in the site editor.
Wix, Jimdo, Squarespace
The builders send correct 404 responses and offer an adjustable error page. Check whether the redirects contain a rule that sends all addresses to the home page.
Own server
In Apache you set the error page with ErrorDocument 404 /404.html. Use a path, not a full address with https://, otherwise Apache sends a redirect instead of 404.
How to check it yourself
Open an invented address, e.g. https://example.ch/does-not-exist. Open the developer tools with F12, switch to the "Network" tab and reload the page. The first line should show status 404.
Frequently asked questions
Is it not better to redirect all unknown addresses to the home page?
No. Google recognises such redirects as a "soft 404" and treats them like errors. Visitors do not understand why they land on the home page. A helpful error page with status 404 is better.
What is the difference between 404 and 410?
404 means "not found", 410 means "permanently removed". Both are correct. With 410 Google removes a page from the index a little faster.
Check a website now
We check "Error page (404)" and all other points in a few minutes, free and without sign-up.
Related topics
-
Broken links
Do the links on the home page lead to working pages?
-
Sitemap
Does a valid sitemap show Google all pages of the website, without broken addresses and redirects?
-
Readable and findable by Google
Do "noindex", the robots.txt or a wrong canonical tag exclude the home page from Google search, and may Google quote it?
-
Page title
Does the home page have a meaningful title that names its topic?