[Fixed] WordPress permalinks not working – Best 3 Steps


Are you getting 404 errors when you are trying to visit your WordPress website? Is your WordPress permalinks not working rightly? Don’t worry in this article we will show your how to fix your WordPress permalink just by implementing a few steps.

WordPress is a very powerful CMS (Content Management System), but a slightly wrong tweak can put your website in a bizarre situation. During the early stage of our WordPress development career, we have deal with several errors, some of the common ones are ERR_TOO_MANY_REDIRECTSBriefly unavailable for scheduled maintenance. Check back in a minuteError Establishing a Database Connection.

Another common problem that any WordPress users might have faced at some point in their career is the 404 error or “WordPress Permalink Not Working”.

This is a common issue where you, being the owner of your website will be able to access your WordPress Admin Dashboard, but whenever you or your users try to access or view a single page or posts of your website you will receive a 404 Page Not found error.

So, being a website owner, you must make sure whenever your users click on a link on your website, it should land them on their desired webpage, rather than showing a 404 error. A broken link can put a negative impact on your SEO ranking.

WordPress permalinks are basically the URL of your website that you or your visitors use to view your webpage or posts. Each link of your webpages is unique, where each link represents a particular webpage.

As the URLs of your every post should be permanent and never be changed — hence it is termed as the permalink. By default, WordPress uses a pre-defined permalink structure, which looks something like this:


The above URL contains your domain name and the number 404 is the article ID of your WordPress website. But this kind of URLs are not SEO friendly, they don’t provide any benefits to your search ranking.

So, SEO friendly URLs should contain some keywords that could explain your article’s topic, which can be easily read by both humans and search engines. Below are the examples of some SEO friendly URL:



There are several reasons for which your WordPress permalinks might get messed up or produce a broken permalink that might lead you to a WordPress 404 error. So, let’s take a quick look at some of the common reasons for which you might get your WordPress permalinks not working.

Installing a New Plugin

Plugins are the best thing in WordPress, but they sometimes can be messy too. But believe me, plugins are notorious, specifically when it comes to compatibility issues.

So, if you are using a plugin for editing your .htaccess file or your permalink, a small mistake or any incompatibility issue can get your WordPress website a permalinks error.

So, when you are going to install any plugin for your WordPress website, you should always download it or purchase it from a reliable source.

Recent Updates

Keeping your WordPress website regularly up to date is necessary from the security point of view, but sometimes it might bring up some trouble for your WordPress website. Because if you are unlucky an update to your WordPress core, a plugin, or your theme might result in breaking up your permalinks.

Compatible with your WordPress Environment - How to fix Briefly unavailable for scheduled maintenance. Check back in a minute - Blog Haveli
Compatible with your WordPress Environment – WordPress permalinks not working – Blog Haveli

This kind of issue mainly happens due to the incompatibility issue. So, when you see a new update notification on your WordPress dashboard, before updating the plugin, do a verify check whether it is compatible with your WordPress environment or not. You can click on View version detail of that particular update and see the right-hand side, where it says: “Compatible up to: XXX”.

Migrating Site/Domain

WordPress site migration is easy if you have a little bit of technical knowledge you can easily migrate your WordPress website. We have done several site migrations for our clients and we have also seen many beginners struggling with their site migration and landed with a permalinks error.

Even a simple SSL implementation can lead your website to several nasty errors that might break your permalinks structure. Though these types of errors are easy to fix, many beginners don’t know how to do it properly.

So, if you are a beginner and you are migrating your website from an old domain to a new domain or from an old server to a new server or even from a local server to a live server, you might end up breaking your permalinks. Because a small mistake with your site migration can end up with permalinks error.

File Permissions or Other Changes To .htaccess File

As you all know File Permissions and .htaccess file is the main gateway to your website, where it decides whom to give access, what level of access, and other similar stuff. For example: by customizing your .htaccess files you can restrict any bad bots and other malicious attacks from your website.

Many advanced users use this .htaccess file with the File Permission to avoid several bad bots and other malicious attacks from your website. You can also tweak this file for getting better website performance too.

WordPress also uses this file to create its permalinks, so any mistakes done by you or some plugins while editing this file will result in a permalinks error.

So far, we have already seen what are permalink? Why are they important? What are the several reasons that might trigger a WordPress permalink error? And how frustrating, they provide bad user experience and leaves a negative impact on your SEO rankings. So, without further ado let’s see how can we fix the “WordPress permalinks not working” issue.

First of all, let’s start with some simple solution like resetting your permalink structure. Suppose your website has a small glitch that might have happen during migrating your site or during an update, which has led you with a permalink error than a simple permalink reset might do the work for you.

Go To Permalinks - WordPress permalinks not working - Blog Haveli
Go To Permalinks – WordPress permalinks not working – Blog Haveli

To reset your permalinks, first, you need to log-in to your WordPress Dashboard, hover over the Settings tab, and click on the Permalinks. Now you need to change your default standard permalink setting to any other permalink structure and again back to its previous permalink structure.

For example: if your default standard permalink structure is set to Month and name, then change it to Post Name and Save the Changes. Now, wait for your changes to get saved first, then select your previous permalink structure (i.e. Month and name) and then hit the Save Changes button once more.

Permalinks Structure - WordPress permalinks not working - Blog Haveli
Permalinks Structure – WordPress permalinks not working – Blog Haveli

This process will update your permalinks settings and flush your rewrite rules. Now simply reload your website and visit any of your posts or page to see whether your permalink error has fixed or not. In most of the case this simple trick works like a magic, but if you are still facing the permalink error, follow the next step.

Find and Fix Plugin Conflicts

Deactivating all plugin at once - WordPress permalinks not working - Blog Haveli
Deactivating all plugin at once – WordPress permalinks not working – Blog Haveli

Another thing that might cause your WordPress a permalink error is the plugin conflicts. If you are facing the permalink error just after the installation of a particular plugin, then you might think of deactivating the last installed plugin.

After deactivating the plugin, you need to reset your permalink structure as shown in the previous section. Now refresh your webpage and visit any page or post of your website to verify if the error is gone and your permalinks are working exactly how it should be working.

Another alternative of verifying your plugin conflicts is deactivating all the plugin at once, then reset your permalink structure to see if the permalink error is resolved or not by refreshing your website and visiting one of your post or pages.

Now if you see your permalink is working fine, then you have to manually identify the faulty plugin. In this process, you need to first, disable a plugin, then reset your permalink structure and see if the error is fixed or not. If the error is not fixed try disabling the next plugin and continue the process till all the plugins are tested.

If the error is not resolved by deactivating all the plugins, then you might consider that there is nothing wrong with your plugin because there are no plugin conflicts and you can now move to the next step that is your .htaccess file.

Check Your .htaccess File

First of all, you need to login to your web hosting account and locate the .htaccess file with the help of your File Manager or any FTP Client, you can find your .htaccess file in your WordPress root folder. If you are unable to find your .htaccess file, then make sure the show hidden file option is enabled on your File Manager or you have enabled your hidden files option in your FTP client.

Then make a copy of your .htaccess file by downloading it on your local system or you can just rename it .htaccess_old for an instant. So that you can make use of the old file if something goes wrong. Now make a new .htaccess file in your WordPress root folder and paste the following code.

For single installations of WordPress:

# 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] 
# END WordPress 

For subdomain install of WordPress:

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] 

For subdirectory installations of WordPress Multisite:

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] 

Now, save the file and reset your permalink structure once again. Then refresh your website and visit any of your posts or pages, you will notice that your permalink error has been solved.

Note: If you are using any cache plugin or Cloudflare for caching purpose, clear the cache each time you reset your permalink structure.


We hope this step-by-step tutorial has fulfilled all your query and have resolved your WordPress permalink error. But if you are still facing any problem or your problem is still not resolved after applying the above-mentioned methods please feel free to let us know in the comments and we will try our best to resolve your issue.

Please share this post in social networks, if you think this article can help others to archive their goals.

Thanks in advance.

Table of Contents

Let Us Build Your
Dream Project

Let Us Build Your
Dream Project

Let Schedule a Meeting