HTTP 404 Not Found: what it means and how to fix it
You click a link or type a URL in your browser and get the message "404 Not Found". The page you are looking for does not exist or cannot be found. In this guide we explain exactly what a 404 error means, what causes it and how you can fix it as a visitor or as a website owner.
What is an HTTP 404 error?
The HTTP 404 status code means that the server received the request just fine, but cannot find the requested page or file. Unlike a 500 error (server error) or a 503 error (server overloaded), the server is working fine: only the requested URL does not exist.
Common causes are:
- Typo in the URL: a wrong character or a missing slash in the web address
- Page deleted or moved: the page once existed but is no longer available
- Broken internal link: a link on the website points to a page that does not exist
- Incorrect permalink structure: especially in WordPress after an update or migration
- Missing redirect: the URL was changed without a 301 redirect from old to new
- Outdated search result: Google still shows an old URL that no longer exists
Variations of the 404 error
The 404 error message shows up in different ways. As soon as you see the code 404, this guide applies.
| Error message | Description |
|---|---|
| 404 Not Found | Most common variant |
| HTTP Error 404 | Standard HTTP error message |
| Error 404 - Page Not Found | Alternative display |
| The requested URL was not found on this server | Apache-specific variant |
| 404 - File or directory not found | IIS/Windows variant |
| Pagina niet gevonden | Dutch translation ("Page not found") |
| Oops! That page can't be found. | WordPress-specific display |
Fixing a 404 error as a visitor
As a visitor, you can try the following:
- Check the URL: make sure there are no typos in the web address. Pay attention to uppercase and lowercase letters.
- Go to the homepage: navigate to the main page and find the page you want through the menu or the search function.
- Use the search function: if the website has a search bar, search for the topic or title.
- Try Google Cache: search for the URL in Google and click the three dots → "Cache" to view a previously saved version.
- Try the Wayback Machine: go to web.archive.org and enter the URL to view an archived version.
Fixing a 404 error as a website owner
Do you own the website? Then follow these 8 steps to track down and fix 404 errors.
1. Save your WordPress permalinks again
In WordPress, an incorrect permalink structure is the most common cause of 404 errors. Here is how to fix it:
- Go to WordPress Dashboard → Settings → Permalinks
- Do not change anything: just click "Save Changes
- This rewrites the
.htaccessfile with the correct rewrite rules
Are your pages working again? Then the .htaccess file was corrupt or incomplete. This often happens after a WordPress update, a migration or a switch to another hosting provider.
2. Check the .htaccess file
If saving the permalinks again does not help, check the .htaccess file manually:
Log in via FTP and open the .htaccess file in the root of your website. It should contain these default WordPress rules:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
If the file is empty or has different content, replace it with the code above.
3. Find and fix broken internal links
Broken internal links send visitors to pages that do not exist. Here is how to find them:
- Google Search Console: go to Indexing → Pages and filter on "Not found (404)"
- Broken Link Checker plugin: install this WordPress plugin to check all links automatically
- Screaming Frog: crawl your entire website and export all 404 URLs
Fix every broken link by correcting the URL, or remove the link if the target page no longer exists.
4. Set up 301 redirects
If you have moved, renamed or deleted pages, set up 301 redirects from the old URL to the new one. This prevents 404 errors and preserves your SEO value.
Via .htaccess:
Redirect 301 /old-page/ /new-page/
Redirect 301 /blog/old-article/ /blog/new-article/
Via a WordPress plugin: Use the Redirection plugin to manage all your redirects in one clear overview.
Important: Always use a 301 (permanent) redirect, not a 302 (temporary) one. Only a 301 redirect passes the SEO value on to the new URL.
5. Create a custom 404 page
A good custom 404 page helps visitors still find what they are looking for and lowers your bounce rate:
- Show a friendly message ("Oops, this page doesn't exist")
- Add a search bar
- Show links to popular pages or categories
- Add a link to the homepage
- Keep the look and feel consistent with the rest of your website
In WordPress you can create a custom 404 page by editing the 404.php file in your theme folder.
6. Check Google Search Console
Google Search Console is your best tool for monitoring 404 errors:
- Go to Indexing → Pages
- Filter on "Not found (404)" and "Soft 404"
- See which URLs return a 404
- Set up redirects for important pages
- Request indexing again after you have fixed the problems
Soft 404: This is a page that returns a 200 status code but whose content looks like a 404 page (for example "No results found"). Google treats these as a 404. Make sure empty pages return a real 404 status code.
7. Check file permissions and ownership
Sometimes a server returns a 404 instead of a 403 (Forbidden) when files or folders have the wrong permissions:
- Folders: 755 (rwxr-xr-x)
- Files: 644 (rw-r--r--)
- Owner: must match the web server user
8. Check DNS and domain configuration
If your entire website shows a 404 (not just specific pages), check:
- Whether your domain name is correctly connected to your hosting
- Whether the DocumentRoot in your web server configuration points to the right folder
- Whether your SSL certificate is configured correctly (HTTPS vs HTTP)
Impact of 404 errors on SEO
404 errors have a direct impact on your search engine optimization:
- Loss of link value: external links to 404 pages lose their SEO value (link juice)
- Wasted crawl budget: Google spends time crawling pages that do not exist
- Poor user experience: visitors who land on a 404 page often leave your website right away
- Deindexing: pages that return a 404 for a long time are removed from the Google index
Tip: A few 404 errors are normal and not harmful. Google expects websites to remove pages now and then. But large numbers of 404 errors (hundreds or thousands) signal poor website hygiene and can hurt your rankings.
Preventing 404 errors
With these measures you keep the number of 404 errors on your website to a minimum:
- Always set up redirects: add a 301 redirect from old to new for every URL change
- Use consistent URL structures: choose a permalink structure and do not change it again
- Test links after changes: after every update or migration, check whether all internal links still work
- Monitor with Search Console: check regularly for new 404 errors
- Avoid hardcoded URLs: in WordPress, always use functions such as
get_permalink() - Choose reliable WordPress hosting: good hosting prevents technical 404 errors
Frequently asked questions about the 404 error
What exactly does HTTP 404 Not Found mean?
The HTTP 404 status code indicates that the server received your request correctly, but cannot find the requested page or file at the given URL. The server is working fine: only that specific URL does not exist. This can be caused by a typo, a deleted page or a missing redirect.
Is a 404 error the same as a "site is down"?
No. With a 404 error the server is working correctly: only the specific page cannot be found. If the entire website is down, you usually get a 500, 502 or 503 error. A 404 is a page-level problem, not a server-level one.
Do I need to fix every 404 error on my website?
Not necessarily. Google expects websites to remove pages now and then. Focus on 404 errors that (1) used to generate a lot of traffic, (2) have incoming backlinks, or (3) appear in your own internal links. Use Google Search Console to decide which 404 URLs have priority: sort by number of impressions or clicks.
What is the difference between a 404 and a soft 404?
A real 404 returns the HTTP status code 404, so Google knows the page does not exist. A soft 404 returns status code 200 (OK) but shows "not found" content. Google recognizes soft 404s and treats them the same way, but it is better to use real 404 status codes so search engines understand your website better.
How do I set up a redirect from a 404 page to another page?
Use a 301 redirect in your .htaccess file: Redirect 301 /old-url/ /new-url/. In WordPress you can also use the Redirection plugin for easy management. Only redirect to relevant pages: redirecting all 404 pages to the homepage is bad practice, and Google may treat it as a soft 404.
Dealing with 404 errors after a migration? Let Theory7 migrate your website for free, including correct redirects and zero downtime. Or check out our web hosting plans with professional support.
0 van 0 vonden dit nuttig