WordPress permalinks not working is a common albeit easy problem to solve. This problem can crop up at any time due to a number of issues – issues that we address in this post in great extent.
But before we go full throttle, let us put a couple of words to this permalinks business for the sake of the greenhorn among us. If you still need more info about permalinks, they are simply the URLs of your posts, pages and categories.
Short for Universal Resource Locator, a URL is simply the web address of a post or page on your site. Permalinks connect your content allowing readers and search engines to find it easily.
They are known as permalinks since they don’t change unless, of course, when you edit them. In other words, the term permalinks is a combo of permanent and links.
There are three types of permalinks:
- Default or Ugly permalinks that look like yourdomain.com/?p=123
- Pretty permalinks e.g. yourdomain.com/your-post-name
- Almost Pretty permalinks that look like yourdomain.com/index.php/your-post-name (Note the use of index.php in this case)
Changing your permalinks structure in WordPress is easy. Just login to your WordPress admin dashboard and navigate to Settings -> Permalinks:
Next, choose your default permalink structure and hit the Save Changes button at the bottom of the screen.
Why are broken permalinks a problem? If your visitor cannot find the content they require, that qualifies as bad user experience. Broken links are bad for SEO as well.
Now that we are on the same page, let us get down to business. What are the symptoms of WordPress permalinks not working? What breaks permalinks? And how do you fix permalinks that don’t work?
Without further ado, let’s begin with some diagnostic work.
Table of Contents
You probably have broken permalinks on your site if clicking on a link doesn’t lead you to the desired page or post. That’s the biggest indicator something is wrong with your permalinks.
In most cases, a broken permalink leads to a WordPress 404 error, but there are a few exceptions. In some cases, the rest of the page (i.e. header, sidebar and footer) loads but your content just isn’t there. Instead, you get an error message that reads “Sorry, no posts match that criteria.”
If parts of your WordPress site show 404 errors, you’re probably contending with broken WordPress permalinks. For instance, if you can see the rest of your site but the admin shows a 404 not found error, the culprit is likely faulty permalinks.
In a single line, you have broken permalinks on your site if you cannot access the content you desire via its URL. Now let us look at some of the things that cause permalink problems.
There are a number of things that can mess your permalink structure. Let us go over each, so you can tell where the problem lies. After all, how do you expect to tackle a problem without first investigating the cause?
WordPress plugins are awesome because they offer you functionality that you’d otherwise never have. While it isn’t common, plugins can cause you so much headache since they are usually at the center of many WordPress problems.
Please don’t take it the wrong way, but plugins are notorious for the bulk of incompatibility issues in WordPress. Some plugins conflict with other plugins, themes or the WordPress core itself.
Other plugins are downright buggy, which is why we recommend getting plugins from reputable sources only. If a plugin hooks to your WordPress permalinks or edits the .htaccess file and something goes wrong, you’re likely to get a permalink error.
Theme, plugin and WordPress Core updates can throw broken permalinks in your face, especially if the updates results in version conflicts.
If a newer version of WordPress conflicts with older plugins or themes, you might end up with broken permalinks. Yet regular updates are great for security and performance.
This means you should keep your WordPress site up to date at all times, even in the off-chance that it might break your permalinks. After all, you can always fix any permalink problem.
We have done a couple of site migrations in our time, and one thing we’ve had to contend with on the regular is broken permalinks.
While these are normally easy to fix, many beginners don’t know what to do or even where to start. Truly, it is frustrating if you move a website successfully but cannot access your content because – broken permalinks!
And it can happen whether you’re moving from one host to another or from local development to a production server.
Switching domain names or implementing SSL (HTTPS) disrupts your URL structure, which can lead to nasty errors with the most prevalent being WordPress permalinks that don’t work.
Implementing SSL involves editing the .htaccess file, the most common cause of WordPress permalinks not working.
Restoring a backup can also lead to damaged permalinks and could leave you with a lot of WordPress permalinks 404 errors.
Even if you use a plugin such as Duplicator to backup or even migrate your site, you might end up with WordPress permalinks that don’t work.
Aside: Our author recommends the Velvet Blues Update URLs plugin in case you need to fix your permalinks after moving your site or domain.
The .htaccess acts as a gatekeeper on Apache servers, doing all manner of things including redirects, setting up permalinks and so on.
When troubleshooting WordPress errors, the first place we always look is the .htaccess file for it’s many different functions. While you’re unlikely to touch the file on a day to day basis, a plugin might corrupt it without your knowing.
Additionally, if you’re not familiar with the server environment, you might delete the file completely by accident or make changes that break your permalinks.
Note that if you have errors in your .htaccess file, you might experience other errors as well, but we digress.
Whether your broken permalinks are a result of the above mentioned issues or something different, let’s get our hands dirty and fix this issue once and for all.
At times, a minor bug or changes you make within your WordPress admin dashboard could break your permalinks. Instead of panicking, we urge you to reset your permalinks first. How?
Well, login to your WordPress admin dashboard and navigate to Settings -> Permalinks:
Next, if your standard permalink structure is set to Day and name for instance, change it to Numeric and click the Save Changes button at the bottom of the screen. Don’t rush to refresh your site yet, there is one more step.
Next, select your original permalink structure (i.e. Day and name in our case) and hit the Save Changes button once more. Now you can reload your site and check your posts/pages.
Is the problem gone? If so, well and good, you can pat yourself on the back. Keep reading for more solutions if the problem persists.
Fix Plugin Conflicts
Perhaps your permalinks problem is the result of conflicting plugins. How do you troubleshoot plugins that don’t play well with each other? Read on for the answer.
If the problem arose after installing a particular plugin, you should start your diagnosis with the plugin in question. In other words, deactivate the last plugin you installed before your permalinks broke.
Next, reset your permalinks as we just learned in the previous section. Now, refresh your posts or pages and see if the error is gone. If the permalinks work, you know exactly where you problem lies.
Best course of action here is to delete the problematic plugin and get alternatives. Of course, don’t hesitate letting the developer and the community know, so you can tell what exactly caused the problem.
Developers and users usually make comments about plugin conflicts, so ask the developer already if you can’t do without the plugin in question.
We say this because one of the plugins you installed a while ago could be conflicting with the one you installed recently.
Alternatively, you can deactivate all plugins at once, reset permalinks and reload your posts. If the problem persists, your broken permalinks have nothing to do with your plugins.
If the permalinks work after deactivating all plugins, reactivate the plugins one by one while resetting your permalinks with each activation. Of course, you need to reload your posts after every activation to pinpoint the problematic plugin.
Check Your .htaccess File
The .htaccess file lives inside the WordPress root directory – the same directory that contains folders such as wp-admin, wp-includes and wp-content among other things.
Before we get down to it, always ensure that you’ve made hidden files visible in your server. This is because dot files such as .htaccess are hidden by default in many a server environment.
That aside, let us fix your .htaccess file practically. To access your web server, you can either use the File Manager in cPanel or an FTP program such as FileZilla.
Since we are using the free hosting service from 000webhost.com to illustrate this post, we shall login to our WordPress directory via the File Manager.
This is how the File Manager looks in 000webhost.com:
Disabling .htaccess File
Next, let’s find out if the .htaccess file is the root of the issue by disabling it. Simply right-click on the .htaccess file and choose Rename:
Rename the file to something like .htaccess_old and save your changes:
In case you’re wondering, renaming the .htaccess file disables it on your WordPress site.
Next, login to your WordPress site and reset your permalinks as we showed you earlier. After this, refresh your posts/pages and check whether the permalinks are working.
Aside: Resetting permalinks after disabling the original .htaccess file creates a new .htaccess file within your WordPress directory.
If your permalinks are working, you can pop the bubbly and rejoice. Are your permalinks still not working? Perhaps you missed something or something else is plaguing your site. As we find the solution together, consider restoring a previous backup that had working permalinks.
Tip: To ensure your changes reflect immediately, and you’re not just refreshing the same error over and over, clean all your caches as we show you in How to Clear WordPress Cache: A Step By Step Guide.
Alternatively, you can perform a hard refresh in your browser. Press CTRL + F5 in Windows or CMD + SHIFT + R in Mac OS.
At the end of the day, fixing permalinks is easy, so fret none if you load any of your permalinks and the post/page isn’t there. To check the health of your permalinks, you can use an online broken link checker such as the W3C Link Checker.
We hope this guide helped you to fix broken permalinks on your WordPress site. If your permalinks are not working after trying these solutions, we invite you to provide more details via the comment section below and we will be more than glad to help you.