Seeing “404 Page Not Found” on posts that definitely exist?
Broken WordPress permalinks are usually to blame – and while frustrating, they’re easy to fix.
Permalinks are your post and page URLs. When they break, visitors can’t reach your content, and your SEO suffers. This guide walks you through quick fixes that restore your links in minutes.
Common Causes of Broken Permalinks
Before we fix the problem, let’s look at what typically causes permalinks to fail. Here are the most common reasons why WordPress permalinks suddenly stop working:
- Plugin or theme conflicts: A new or updated plugin/theme can interfere with your URL rules and cause 404 errors.
- Corrupted .htaccess file: This configuration file controls your links. If damaged, it can stop your pages from loading.
- Recent WordPress updates: Updates can sometimes break permalink settings, especially with outdated plugins.
- Site migration or domain change: Moving to a new host or domain can leave WordPress pointing to old URLs.
- Restoring from backup: Restored settings may not match your current server environment, leading to mismatched link paths.
How to Fix Broken WordPress Permalinks (Step-by-Step)
If your website links are leading to “404 Page Not Found” errors, then don’t panic! This is a very common WordPress issue, and the fix is usually surprisingly simple. Follow the steps below to fix it:
1. Resetting Your Permalinks
Resetting your permalinks fixes 404 errors in most cases.
- Log in to your WordPress dashboard.
- Go to Settings → Permalinks.
- Without changing anything, click Save Changes.
WordPress will refresh your link structure automatically. Check your pages again – the issue is often already fixed.

By just re-saving the page, you’ve prompted WordPress to fix its link structure behind the scenes. Now, go visit one of your pages to see if the error is gone. If not, proceed to the next step.
2. Temporarily Deactivating Your Plugins
If resetting the permalinks didn’t work, then it is possible that a plugin is misbehaving. If you are using a firewall or security plugin, then it is also possible that it isn’t configured correctly and causing an issue.
In this step, you will need to deactivate your plugins one by one and try to identify what caused the issue. Don’t worry; deactivating a plugin won’t delete its settings or your data.
- Step 1: In your WordPress dashboard, go to Plugins > Installed Plugins.
- Step 2: From the list of active plugins, select the plugin that you want to disable temporarily and click Deactivate under it.
- Step 3: Now that this plugin is off, check your website. If your links work again, then you will know that this plugin was causing the issue.
- Step 4: Once you find the plugin causing the problems, you can either find a replacement for it or contact its developer for help.

3. Regenerate Your .htaccess File
This step is a bit more hands-on and requires some technical knowledge. Many WordPress hosts and themes create an .htaccess file on the server. This file stores important configuration and tells the server how to handle URLs.
Important Note for NGINX Users: If your website runs on a pure NGINX server, you will not have an .htaccess file. NGINX handles permalinks differently. This step is only for users on Apache, LiteSpeed, or NGINX with .htaccess enabled servers. If you’re unsure, you can likely skip this and check your permissions (Step 4) or contact your host.
WARNING: Your .htaccess file is extremely sensitive. Editing this file incorrectly can instantly break your entire website. A bad edit could also silently create security vulnerabilities. Only proceed with this step if you are comfortable editing core website files and have made a backup.
Here’s how to safely force WordPress to generate a new, default version:
Step 1: Access Your Website Files
To access your site’s core files, use either an FTP client or the RunCloud File Manager.
In RunCloud:
- Log in to your dashboard.
- Select your server and web application.
- Click File Manager to open your site’s root directory.
From here, find and back up your .htaccess file. Rename it to .htaccess_old, then go to Settings → Permalinks → Save Changes in WordPress to generate a clean version.

Step 2: Locate the .htaccess File in Your Website’s Root Folder
Now, you’ll need to find the .htaccess file itself. In your File Manager or FTP client, navigate to the main (or “root”) directory of your WordPress installation. This is the top-level folder that contains your core WordPress directories, such as wp-content, wp-admin, and wp-includes.
It’s very common not to see this file at first glance. By default, files that start with a dot (like .htaccess) are treated as “hidden files” or “dotfiles” by many systems. Your file manager is likely hiding it to prevent you from making accidental changes.
You will need to configure your tool to show these hidden files. In an FTP Client (like FileZilla): this setting is usually in the top menu bar. Look for an option under “Server” and click “Force showing hidden files”.

After changing the setting, the file list should refresh, and your .htaccess file will now be visible.
If you have correctly enabled hidden files and the .htaccess file is genuinely not there, it is a strong indicator that your website is not running on an Apache or LiteSpeed server. Instead, it is likely on an NGINX server, which is a popular, high-performance alternative.
NGINX does not use .htaccess files to manage URL rules; its configuration is handled differently at the server level. If this describes your situation, then a broken or missing .htaccess file is not the cause of your permalink issue. You can safely skip the rest of this section and move on to the next potential fix.
Step 3: Replace the Old .htaccess File
First, you should download the existing .htaccess file to your laptop for a backup. With your backup safely downloaded, you can now proceed with resetting the file on your server.
In your File Manager or FTP client, right-click on the original .htaccess file and choose the “Rename” option. A simple and effective name is .htaccess_old or .htaccess_backup.
This action does two things at once: first, it preserves your original file in case you need to restore it. Second, by renaming it, you effectively deactivate the old, potentially corrupted file.
Now, leave your File Manager open and switch back to your WordPress dashboard in your browser.
- On the left-hand menu, navigate to Settings > Permalinks.
- You do not need to change any of your permalink settings on this page. Simply scroll to the bottom and click the Save Changes button.
If the issue was a corrupted file, this action will almost certainly fix your broken links.
Step 4: Manually Editing .htaccess
Once you have disabled the old file, you should create a new file with the necessary rules for your website. If you use caching plugins (like WP Rocket), security plugins (like Wordfence), or custom redirects, then you might need to add custom rules or restore them from the old file.

4. Reviewing File Permissions
In our previous post on file permissions, we explained that file permissions in Linux are like digital locks on your website’s files. If the permissions are wrong, WordPress might be locked out and unable to work as expected.
Your .htaccess file should have 644 permissions.
In RunCloud, you can fix this in seconds – go to your web application’s Permissions section and click Reset File Ownership to correct all file and folder settings automatically.

Wrapping Up: Fixing WordPress Permalinks Easily
In this post, we have explained how to fix broken permalinks on a WordPress site. The good news is that the fix is almost always straightforward once you know where to look. By following this guide, you’ve learned how to diagnose and solve the issue quickly.
While these fixes are effective, the real goal is to spend less time troubleshooting and more time building. Having the right tools can make all the difference as it transforms complex server tasks into simple clicks.
Managing servers doesn’t have to be complicated.
RunCloud gives developers full control with one intuitive panel – from NGINX caching and SSL setup to automated backups.
Start your free RunCloud trial today and experience how effortless WordPress management can be.
FAQs on WordPress Permalinks
Why are my WordPress links not working?
The most common reasons for non-functional WordPress links are plugin or theme conflicts, a corrupted .htaccess file, incorrect server configuration, or issues after a website migration or update.
How do I fix a 404 error after changing permalinks?
The first step is to reset your permalinks by going to Settings > Permalinks and clicking “Save Changes”. If that doesn’t work, you should check for plugin conflicts or regenerate your .htaccess file.
Can a new plugin break my permalinks?
Yes, a new plugin can interfere with your .htaccess file and break your permalinks. Deactivating plugins one by one is a good way to identify the culprit.
What should my .htaccess file permissions be?
The recommended file permission for your .htaccess file is 644.
Is it safe to change my permalink structure on a live site?
Changing your permalink structure on a live site can lead to broken links and a drop in SEO rankings if not done correctly. If you must change it, ensure you set up 301 redirects from the old URLs to the new ones to preserve your link equity.