
You know that moment. You click a link on your own website. Maybe a blog post you wrote six months ago. Or a service page you know should be there. And instead of your content, you get that ugly white page with black text:
404 Not Found.
Your stomach drops a little. Because you know what that means. Visitors have been hitting that page. Google has been crawling it. And you have been losing trust, traffic, and probably customers.
We have been fixing WordPress sites for over a decade. At The Creative Unit (TCU), we see 404 errors on almost every site we audit. Sometimes it is a few broken links. Sometimes it is hundreds. And the scary part? Most site owners have no idea it is happening.
So let’s walk through exactly how to fix 404 errors on WordPress.
What a 404 Error Actually Means
A 404 is just a status code. It means the server found the domain name but could not find the specific page or file you requested.
That is it. Nothing more mysterious than that.
But here is why you should care. Every time a real person hits a 404 on your site, there is a good chance they leave. They do not dig around. They do not contact you. They just go find another website that actually works.
And when Google hits a 404, especially on a page that used to exist, Google starts thinking your site is poorly maintained. Over time, that hurts your rankings across the board.
So fixing 404s is not just about being neat. It is about protecting your business.
Why WordPress Sites Get So Many 404 Errors
WordPress is flexible. That is why we love it. But that flexibility also makes it easy to break things without realizing it.
Here are the most common reasons I see 404s on WordPress sites:
You changed a permalink.
WordPress lets you edit the URL slug of any post or page. But when you change it, the old URL stops working unless you set up a redirect. Most people forget that step.
You deleted a page or post.
Sometimes you clean up old content. That is fine. But if that page had backlinks or internal links, every one of those links now points to a 404.
You migrated your site.
Moving from one host to another, or from a staging site to live, often breaks URLs. Especially if your permalink structure changed.
A plugin or theme broke your rewrite rules.
WordPress uses rewrite rules stored in your .htaccess file. A bad plugin can wipe those rules or corrupt them. Suddenly every single post returns a 404 except the homepage.
Someone linked to a typo.
It happens. Another website links to you but misses a letter. Or you typed a link wrong in an old email newsletter. Now that broken link lives forever unless you fix it.
The good news? Every single one of these problems has a fix. And most are easier than you think.
Step One: Find Every 404 on Your Site
You cannot fix what you cannot see. So first, let us find all the broken URLs.
Use Google Search Console (Free)
This is the best tool because it shows you exactly what Google is seeing.
Log into your Search Console account. Go to Pages under the Indexing section. Look for the line that says "Not found (404)". Click on it. You will see a list of URLs that Google tried to crawl and could not find.
Pay attention to two things:
- Which URLs have the most linked pages pointing to them
- Which URLs were previously indexed (you can check by copying the URL into Google)
Export this list. You will work through it one by one.
Use the Redirection Plugin
Install the free Redirection plugin by John Godley. It does two things for you. First, it logs every 404 that happens on your site. Second, it lets you create redirects right from the log.
Go to Tools > Redirection > 404s. You will see a table of broken URLs, how many times they were hit, and the last time they were accessed.
This is great for catching 404s that come from old marketing campaigns or social media posts that Google might not have crawled recently.
Check Your Internal Links
Download a tool called Screaming Frog SEO Spider. The free version covers up to 500 URLs, which is enough for most small to medium WordPress sites.
Run a crawl. Then filter by status code 404. Screaming Frog will show you every broken link on your site and exactly which page contains that broken link.
This is powerful because you can go fix the source directly.
Now you have your list. Some will be high priority. Some will be junk. Let us sort them.
Step Two: Decide What to Do With Each Broken URL
Not every 404 deserves your time. Here is how I triage.
Fix these immediately:
- Any URL that used to get traffic (check Google Analytics)
- Any URL with external backlinks (use Ahrefs, Semrush, or Moz)
- Any URL linked from your own important pages like your homepage or main services pages
Fix these when you have time:
- Old tag or category URLs after a site structure change
- URLs from old email campaigns that still get occasional clicks
Ignore these:
- Random bot requests for files like /wp-admin/xyz.php
- Typo links from spam comments
- URLs that never had traffic and have zero backlinks
Be honest with yourself. Fixing a dead URL that no one ever visits is a waste of your time. Focus on what hurts your business.
Step Three: The Actual Fixes
Now for the hands on work. Here are the four ways to make a 404 stop being a problem.
Fix 1: Set Up a 301 Redirect
This is the most common fix. A 301 redirect tells the browser and search engines that the old URL has moved permanently to a new location. It passes most of the link juice.
Using the Redirection plugin:
- Go to Tools > Redirection > Add New
- In Source URL, enter the broken URL without your domain name. For example: /old-blog-post
- In Target URL, enter the full new URL. For example: https://yoursite.com/new-blog-post
- Click Add Redirect
Test it by typing the old URL into your browser. You should land on the new page automatically.
When to use a redirect:
- The original page had traffic or backlinks
- You moved the content to a different URL
- You deleted a page but have a similar or updated version
When not to use a redirect:
- The page never had any value
- You have no relevant replacement page
Fix 2: Restore the Deleted Content
Sometimes the simplest answer is to bring the page back.
Check your WordPress trash. Go to Pages or Posts > Trash. If the missing page is there, restore it. The original URL will start working again immediately.
If you have a backup from your hosting provider or a plugin like UpdraftPlus, you can restore just that single page.
But only do this if the content is still good. Do not restore a thin, outdated page just to kill a 404. You will create a bigger problem.
Fix 3: Fix the Broken Internal Link
Many 404s happen because you linked to the wrong URL from somewhere on your own site.
Use Screaming Frog to find which page contains the broken link. Then edit that page. Find the incorrect link and update it to the right URL.
That is it. No redirect needed. You just fixed the root cause.
Fix 4: Flush Your Permalinks
If every post on your site returns a 404 except the homepage, your rewrite rules are broken.
Go to Settings > Permalinks. Do not change anything. Just click Save Changes. This flushes the rewrite rules and rebuilds your .htaccess file.
Nine times out of ten, this fixes the issue. If it does not, check that your .htaccess file exists and is writable. Your hosting support can help with that.
Step Four: Build a Helpful 404 Page
You will never catch every 404. Some will always slip through. That is why you need a custom 404 page that does not feel like a dead end.
A good 404 page should have:
- A simple message that says the page is missing
- A search bar so people can find what they need
- Links to your most important pages like your homepage, services, and contact page
Most WordPress themes let you customize the 404 template. If yours does not, use a free plugin called 404page to create one with your page builder.
Step Five: Stop New 404s From Appearing
Fixing existing errors is half the battle. Stopping new ones is the real win.
Never delete a page without a redirect plan. Before you trash anything, ask yourself: Does this page have backlinks? Does it get traffic? If yes, set up a 301 redirect first.
Use a plugin that auto redirects when you change a slug. The Permalink Manager plugin can automatically create redirects whenever you edit a post URL.
Schedule a quarterly broken link audit. Every three months, run Screaming Frog or an online broken link checker. Catch problems early before they pile up.
Keep the Redirection plugin active. Check your 404 log once a week. If you see a new URL showing up repeatedly, create a redirect immediately.
Advanced: The 410 Status Code
Sometimes you do not want to redirect. Sometimes you want to tell Google that the page is gone for good and should be removed from the index.
That is what the 410 status code means. “Gone.”
Use a 410 when:
- The content was low quality or irrelevant
- The page has no backlinks or traffic worth keeping
- You want Google to drop the URL from its index faster than a 404 would
You can set up a 410 using the Redirection plugin. Just choose "410 Gone" as the action instead of 301.
Use this sparingly. Only for pages you never want to come back.
Check Your Work
After you have made your fixes, verify that everything works.
Type the old URL into an incognito browser window. You should end up on the right page. Use a free HTTP status checker tool to confirm you are getting a 301 redirect or a 200 success code.
In Google Search Console, go back to the 404 report. After a few days, the URLs you fixed should disappear from the list. You can also request validation on individual issues.
Finally, resubmit your sitemap in Search Console. This tells Google to recrawl your site and discover your new redirects and updated links.
Common Mistakes We See All the Time
Let’s save you some pain.
Redirecting every 404 to the homepage. Do not do this. Google sees it as a soft 404. It does not pass value. And users get confused. Always redirect to the most relevant page.
Using 302 redirects for permanent moves. A 302 says “temporary.” Google does not transfer ranking signals the same way. Use 301 for permanent changes.
Ignoring 404s with external backlinks. Those are your most valuable broken URLs. Every external link pointing to a 404 is a missed opportunity. Redirect those first.
Fixing URLs one by one without a system. Use plugins and spreadsheets. Batch your work. You will save hours.
When You Should Just Hire Someone
Look, 404 management is not brain surgery. But on a large site with hundreds of pages, complex custom post types, or ecommerce products, it can get messy really fast.
If you are seeing any of these signs, it might be time to bring in help:
- More than 50 new 404s every week
- Redirect loops or chains that you cannot untangle
- Permalinks breaking every time you update a plugin
- You simply do not have the time to learn another tool
At The Creative Unit (TCU), we do this work every day. We can audit your entire WordPress site, map every broken URL, set up redirects, and even build you a custom 404 page that works. No judgment. No complicated talk. Just a clean, fast, working site.
Final Words
404 errors are not a sign that you are bad at running a website. They are a sign that your site is alive and changing. You update content. You remove old services. You improve your structure. That is all good.
The problem is when you let those 404s sit there for months. Every unfixed broken link is a small vote against your credibility. Enough of them, and Google starts paying less attention to your site.
But now you know exactly how to find them, fix them, and stop new ones from showing up. Start with Google Search Console. Work through your high priority URLs. Set up your redirects. Build a helpful 404 page. And check back once a month.
Your traffic will thank you. And so will your visitors.
Frequently Asked Questions
What causes a 404 error on WordPress?
A 404 error happens when a URL does not exist on your server. Common causes: deleting a page without a redirect, changing a permalink, broken internal links, a corrupted .htaccess file, or a bad plugin that rewrites your site's rules.
How do I find 404 errors on my WordPress site?
Use Google Search Console. Go to Indexing > Pages and look for "Not found (404)". Also install the Redirection plugin to log live 404s. For internal broken links, crawl your site with Screaming Frog SEO Spider.
Should I redirect all 404 errors to my homepage?
No. Redirecting every 404 to the homepage creates soft 404s. Google sees this as low quality. Always redirect to the most relevant existing page. If no relevant page exists, let it 404 but use a helpful custom 404 page.
What is the difference between a 301 and a 410 status code?
A 301 redirect says a page has moved permanently. It passes SEO value. A 410 says the page is gone for good with no replacement. Use 410 for low value pages you want Google to remove from the index faster.
How long does it take for Google to stop showing a fixed 404?
Google usually recrawls fixed URLs within a few days to a week. You can speed this up by using the "Validate Fix" button in Google Search Console and resubmitting your sitemap.
Can a broken plugin cause 404 errors on all my WordPress posts?
Yes. A bad plugin can corrupt your .htaccess file or rewrite rules. If every post returns a 404 except the homepage, go to Settings > Permalinks and click Save Changes. That flushes the rewrite rules and often fixes it.
How often should I check for 404 errors on my WordPress site?
Check at least once a month using Google Search Console and the Redirection plugin. For high traffic sites or sites with frequent content changes, check weekly. Also run a full broken link audit every three months.
Does fixing 404 errors improve my Google rankings?
Indirectly yes. Fixing 404s removes dead weight from your crawl budget, stops link equity from leaking, and improves user experience. Google sees a well maintained site as more trustworthy, which helps overall rankings.
