WordPress Permalinks Not Working: Effective Steps to Resolve 404 Errors
WordPress Permalinks not working is one of the main causes of the 404: Not Found error. Fixing it immediately is important as it can negatively affect user experience. Furthermore, it can prevent search engines from crawling your site, damaging your search engine optimization (SEO) efforts.
There are various solutions to this problem – from a simple permalink reset to a WordPress core file replacement. This article will guide you through three practical steps to resolve broken permalinks in WordPress.
Download All in One WordPress Cheat Sheet
What Triggers Broken Permalinks in WordPress?
The most common issue you’ll notice with broken permalinks is 404: Not Found error in WordPress when accessing a page on your website. Various causes may trigger broken permalinks on your website.
- New plugin installation. The new plugins you install may interfere with your .htaccess file.
- Restoring a backup or migrating WordPress. You recently restored a backup or moved your WordPress site to a new domain or server.
- Updates. Problems with incompatibility after updating plugins, themes, or WordPress core.
- Changes in .htaccess file. Updating, or altering your .htaccess file incorrectly.
How to Fix Broken Permalinks in WordPress?
Here are several methods on how you can fix broken permalinks in WordPress.
1. Resetting Permalinks Structure
The simplest way to deal with this problem is by resetting the permalinks structure:
- Login to your WordPress Dashboard. Go to Settings → Permalinks.
- Select an alternative permalinks structure → Save Changes. For instance, if you’re currently using the Day and name settings. Change it to something else, like Post name.
- Once done, change it back to your standard structure and hit Save Changes once again.
If you’re still getting a “404 Page Not Found” error, let’s try other remaining methods.
2. Disabling Plugins
Deactivate the most-recently installed or updated plugin that might be triggering the error. Otherwise, you can also remove all the installed plugins altogether:
- Go to the Plugins menu in your WordPress dashboard → Installed Plugins.
- Click the Deactivate button next to the plugin’s name.
- Once finished, reset the permalinks structure using the previous method.
3. Replacing .htaccess File
In case none of the options solved your broken permalinks issue, the issue can be related to your .htaccess file’s configuration. Thus, you should replace your current .htaccess file with the default WordPress .htaccess code.
In this example, we’ll be using Hostinger’s File Manager:
1. Navigate to hPanel → File Manager.
2. Select your domain and press Go to File Manager.
3. Choose the .htaccess file in the public_html folder.
4. Right-click and select Rename. Then, change the file name (e.g., .htaccess-error).
5. Next, click the New File icon at the top of the page. Don’t forget to name it .htaccess.
6. Paste the code below in your new .htaccess file.
# 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
7. Once all is done, click the Save button.
Alternatively, you can also run this process by using an FTP client, like FileZilla
If the problem is not solved, try to remember what actions you’ve taken before the error occurred. If it happened after performing a specific update, then restoring a backup might be a reliable option to get your site up and running.
Conclusion
There are plenty of reasons why you can get a broken permalinks issue in WordPress. The bad news is, your website will be inaccessible and will display a “404 Page Not Found” error.
Fortunately, you can effortlessly handle this problem using these three simple methods:
- Resetting permalinks structure – configure your built-in permalink settings on the WordPress dashboard.
- Disabling plugins – deactivate the installed plugins in a few clicks.
- Replacing .htaccess file – replace the .htaccess file from hPanel or using an FTP client.
We hope that this step-by-step tutorial will help you fix broken permalinks on your WordPress website. If you have any more questions, let us know in the comments section below.
Learn How to Solve Other WordPress Errors
How to Fix “Briefly Unavailable for Scheduled Maintenance” Error
How to Fix Missed Schedule Error in WordPress
How to Fix Mixed Content on WordPress
How to Fix Broken Links on WordPress
How to Fix White Screen of Death on WordPress
How to Solve WordPress Not Sending Emails
How to Solve “Link You Followed has Expired”
WordPress Permalinks Not Working FAQ
Learn more information about WordPress permalinks not working below.
Do Permalinks Expire?
No, permalinks do not expire. They are permanent links that are intended to remain unchanged and accessible for the lifetime of the content they point to. However, changing permalinks on a live site can result in broken links and negative impacts on SEO.
Can I Change My WordPress Permalink After Publishing?
Yes, you can change your WordPress permalink after publishing by going to Settings → Permalinks in the WordPress dashboard, selecting the new permalink structure, and clicking Save Changes. However, changing permalinks can impact SEO and result in broken links if not properly redirected.
Comments
February 01 2018
Hello, I followed your instructions and I was able to fix the error. Thanks. Your content is also easy to understand, especially for those like me who aren't as tech-savvy. Great Job!
February 15 2018
Thank you for your kind words, Liz! I am glad to hear that you find out tutorials helpful!
March 28 2019
Thank you!
August 27 2020
This was such a helpful tool, saved me an awful lot of stress, thanks for the information!
November 02 2020
Sometimes the problem is apache2 or httpd and its configuration is preventing the .htaccess file from operating on your requests. If 'AllowOverride All' isn't in your main apache or httpd configuration file for the Wordpress directory location, all the wrangling you do won't fix the problem. Sometimes, you're on a multi-site host and this isn't under your control. You'll have to contact the hosting provider's support to report the problem. If you have control over the configuration of the httpd server, these lines have to exist in the main httpd.conf file for your server: * note: the directory location here has to point at the wordpress installation location <---------- AllowOverride All This allows the .htaccess file to define its own url rewrite rules. If this isn't there, then the .htaccess file is essentially dead. Changing the permalink configuration will have no effect. Most of the time, the advice given in this post will fix the problem. But there is that occasional edge case where it won't and it is likely the http configuration that is the culprit.
November 08 2020
I have recently started working on website hosted in hostinger and it has latest WordPress 5.5.3 My issue is that I want to create permalink for pages but the categories is not appearing in the url. expectation url: https://website/categories/post actual url: https://website/post. I have only one plugin: Pages with category and tag. In the setting–> permalink I have chosen: custom structure: /%category%/%postname%/ Is this an issue with WordPress 5.5?
February 02 2021
Hi there, Richard! I would suggest trying to reset your permalinks to another structure and then back to /%category%/%postaname% If this won't help, don't hesitate to contact our Customer Success team - we'll check out your case further!
April 29 2021
Very useful and saved my life
October 04 2021
works like a charm
October 05 2021
Happy to hear you found it helpful!
March 03 2022
If those 3 things don't work, what else would fix this? I've tried all 3 and no change. I can see posts with plain but as soon as I set to anything else. I want the Post name option, it just gives me ' no results found' or 'WordPress site - coming soon'
March 08 2022
Hi Arianna, did you try setting to /%Postname%/ through custom permalink structure? Does it break as well?