How to Fix WordPress 404 Errors When the Post or Page Does Exist

Are you looking for the affordable ways to fix WordPress 404 errors when the post, page or custom post type does exist?

Yes, it’s really irritating to encounter any WordPress error and feel unable to fix it. But don’t worry; you are not the only one with such thoughts and concerns.

WordPress 404 not found errors are among the most commonly occurring errors and don’t need a heavy work around to fix them. There are just a few steps to follow which may take you some time but will help to get rid of those frustrating errors.

Although WordPress CMS is pretty secure and error free in its performance, sometimes slight errors or tweaks can make your WordPress site or blog quite inaccessible for your visitors.

WordPress 404 not found errors are among such tweaks which need immediate intervention in order to disappear and let your website go back into gear.

Fix WordPress 404 Errors

With this in mind, in this article we are going to show you how to fix WordPress 404 errors easily and quickly.

What is WordPress 404 or 404 not found error?

404 error
It is a Hypertext Transfer Protocol (HTTP) standard response code stating that the requested page has not been found by the client.

All in all, it is one of the major factors that can negatively affect your site’s SEO and increase its bounce rate. Therefore the sooner you fix such kind of errors, the better for your website and its results.

How to fix WordPress 404 errors?

Well, the basic cause of such problem has to do with Apache extension mod_rewrite, which is not capable of rewriting your site’s URLs to use already chosen pretty permalinks.

Permalinks are the permanent URLs to your site’s posts, categories, and other lists of postings. As for the pretty permalinks, these are more than just the default option and can include more other options like the date when the post was written, post title and more.

As soon as you install the WordPress, it automatically enables pretty permalinks. However, you are the one to decide what to display in them.

So, whenever, the Apache extension mod_rewrite is disabled or there are some discrepancies with plugin and template, those links stop working.

In order to fix WordPress issue the problem with Apache extension, you need to fix your permalink settings. The first thing you can do is to just update the settings without changing anything.

Head over your Admin Dashboard, Settings, Permalink and just click on Save Changes. This trick might do the job if you have not done custom modifications to the .htaccess file previously.

If not, you’ll need to manually tweak to your .htaccess file and update it. For this, you need to use your FTP Client or cPanel in order to access .htaccess file located in the root of your website where folders like /wp-content/ and /wp-includes/ are also deployed.

Before editing any file trying to fix WordPress 404 errors, you need to take a full backup of your site so that you will not feel pangs of remorse in the future if anything goes wrong.

If you are using FTP, you can make edit the file directly on your server. The simplest way is to change the permissions to 666 and make the file writeable. You can use the code below and manually add it to the file:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

This code is valid for single installations of WordPress.
For WordPress Multisite subdirectory installations, you’d better use this one instead:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

If you are running WordPress subdomain install, use the following code:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

Once you are done with adding the relevant code, save the file back to the server. WordPress 404 errors should already be solved.

If the above discussed solutions are not enough, the next step is to make sure whether your .htaccess file permissions are properly set up. (we have how to fix file permissions error in WP with useful information about file permissions).

Use of relevant plugins to save your site’s SEO

Whenever you doing your best to fix WordPress 404 errors, some parts of your site still remain inaccessible for your audience and disliked by search engines.

Therefore, it is reasonable to use some of the useful plugins available for now and redirect 404 pages to homepage so that you can improve your site’s rankings.

Redirect 404 Error Page to Homepage:

Redirect 404 Error Page to Homepage


This plugin is exactly what we need. Whenever you are faced with 404 page not found error, it will help you redirect such pages to your site’s homepage.

Redirect 404 Error Page to Homepage or Custom Page:

Redirect 404 Error Page to Homepage or Custom Page


Redirect 404 Error Page to Homepage or Custom is the next handy tool to be of much assistance to you whenever you are fighting for keeping your site’s online reputation and SEO rankings.

Redirect those error pages to homepage, about us or any custom page to keep your audience on your profile while you are trying to get rid of that error.




Redirection by John Godley is a fantastic SEO 301 redirection tool to save the precious SEO rankings and results of your site. All in all, this fully localized and top rated plugin is feature rich and frequently updated with new elements.

It is essentially very important to keep the user experience high to create a good reputation in the competitive market and to create an everlasting impression upon your consumers.

The reputation can get distorted if someday users run into ‘404 errors’ in your business website. You definitely don’t want to forever lose your customers for this type of stupid reasons, right?

‘404’ is a response code that shows up on the web browser when it cannot find the page or the content the user is looking for.

The browser will always search for the URL entered in the browser regardless of its existence and if can’t find the URL, the WordPress ‘404’ error shows up.

The error is pretty straightforward and the main cause of this is due to any mistyped internal links in the website or missing contents.

So, it’s best practice to take care of the page URLs and also to remove the links from the website that are no longer accessible or does not exist anymore.

This sounds a lot of hectic work but it needs to be done because there are certain negative impacts of these WordPress 404 errors.

Many people will leave your website immediately if these type of errors pop up on the web browser and hence will increase the bounce rate and ultimately can severely affect your search engine optimization (SEO).

Even if these 404 errors are not your fault these can ruin the image of your website as well as of the business because no one likes to explore a broken website.

Sometimes it may also happen that your visitors will get frustrated due to this type of error as they could not differentiate between a website being down and 404 error. So, when this type of errors appears, quick fixing them on your website, is imperative.

A link that does not exist is called a broken link. You may check broken links manually but that would be a hectic job to accomplish.

Rather if you are using WordPress for developing your website, then your work would become much easy as it provides multiple methods to tackle these WordPress 404 errors.

You may install a plugin known as the broken link checker plugin. This plugin allows you to enhance the speed of the process by automatically checking the internal and external links on the website to report any broken or missing links.

You have to install and activate the plugin on your website. After activating the plugin, it will run it first check automatically and will display the results of any broken links on the user’s dashboard.

If this checker plugin able to finds one link that is broken, it will notify its location on your website so that you can jump in and fix the link.

One of another way to fix this type of error is to update your .htaccess file via the WordPress dashboard but that will require you to change the access permissions in the backend.

So, the above-mentioned plugin method is considered to be the easiest and most used method to save your website from these WordPress 404 errors.

If unfortunately, your website runs into these WordPress 404 errors, you need to properly display the error so that the visitors don’t run away after seeing the word ‘error’ on your site.

So, it would be a good practice to create a custom error page showing the details of the nature of 404 error.

There are a bunch of layouts and templates available in WordPress to help you create one. Remember, this is not a solution to fix up 404 errors but it’s a method to inform your customers adequately about the errors your website is running into and lessen the negative impacts on your business.

About Sonnal S Sinha

Sonnal S SinhaSonnal S Sinha is a passionate writer as well as WordPress and WooCommerce rockstar who loves to share insights on various topics through his engaging blog posts. He run successful website design and digital marketing company. With 15+ years of experience in WordPress themes development, he strives to inform and inspire readers with his thought-provoking content. He helps thousands small and medium businesses and startups create a unique online presence. Follow Sonnal S Sinha for your regular dose of knowledge and inspiration.