Home/Blog/How to Fix a WordPress 404 Not Found Error (Step-by-Step)
Last updated September 2, 2026
Written by Mark Anthony Garcia
Publishing standard Fast answer, scoped workflow, tradeoffs, edge cases, next step, and citations where needed.
Author profile Editorial policy Review policy Monetization disclosure
Fixing a WordPress 404 not found error: reset permalinks, fix .htaccess, isolate plugin conflicts
Step-by-step guide to diagnosing and fixing a WordPress 404 not found error.

A WordPress 404 not found error almost always comes from broken permalinks, a corrupted .htaccess file, or a plugin/theme conflict. Reset your permalinks first (Settings, Permalinks, Save Changes) since that alone fixes most cases in under a minute. If the page is gone for good, set up a 301 redirect instead of leaving visitors stuck on an error page.

Before you touch any files, figure out which kind of WordPress 404 error you’re dealing with: a single broken post, every URL on the site, or just the WordPress dashboard and login page. Each points to a different cause. A single dead link usually means the page moved or was deleted. A site-wide 404 (including the homepage) points to permalinks or .htaccess. A wp-admin 404 with the rest of the site working normally is almost always a plugin or theme conflict, or occasionally a file permission problem on the server. Work through the checks below in order, from safest to riskiest, and stop as soon as the page loads again.

Symptoms: How to Tell What Kind of 404 You Have

  • One page or post 404s, everything else works: the URL changed or the content was deleted without a redirect.
  • Every URL 404s, including the home page: broken permalinks or a corrupted .htaccess file.
  • Only wp-admin or the login url 404s: a plugin/theme conflict, or a misconfigured rewrite rule.
  • 404s appear after a migration or an update to plugins or themes: the rewrite rules never regenerated for the new WordPress installation.

What Causes a WordPress 404 Error?

A 404 is the HTTP status code a web server sends back when it can’t find anything matching the requested URL, and on a WordPress site it almost always traces back to one of five causes: broken or unsaved permalinks, a corrupted or missing .htaccess file, outdated WordPress plugins or a theme causing a conflict (including deactivated plugins that left rewrite rules behind), content that moved or was removed without a redirect in place, or, less often, incorrect file permission settings on the server that block the core installation from writing to the .htaccess file. Google Search Console is a good early-warning system here: its Page Indexing report flags URLs Google is hitting a 404 error on, often before a human visitor notices.

Safe First Checks (Do These Before Anything Else)

  1. Check the URL and site address. A misspelled slug, an extra slash, or a stray character in the site address sends WordPress a request it can’t match to any post or page.
  2. Reset your permalinks. From your WordPress dashboard, go to Settings, Permalinks, and click Save Changes, even without changing the structure. This forces WordPress to rebuild its rewrite rules and resolves the majority of 404 errors on its own.
  3. Clear your browser cache and site cache. A cached version of the old page or an aggressive caching plugin can keep serving a stale 404 page after the real fix is already in place.
  4. Confirm the content still exists in wp-admin under Posts or Pages, in case it was accidentally trashed rather than actually deleted.

Step-by-Step Fix Path (Safest to Riskiest)

Back up your site (or at least the .htaccess and wp-config.php files) before the steps below. They edit server-level files directly, and a mistake in the wrong directory can take the whole site down instead of just one page.

  1. Regenerate the .htaccess file. Rename the current .htaccess in the site’s root folder (via FTP, SSH, or your host’s file manager) to .htaccess-old, then resave permalinks from the dashboard so WordPress writes a fresh one with correct rewrite rules.
  2. Set up a WordPress redirect for moved content. If the missing page has moved rather than disappeared, a proper WordPress 301 redirect is the real fix, not a friendlier WordPress 404 page. A permanent WordPress url redirect sends visitors and search engines straight to the new location, instead of hitting a WordPress redirect to another page that never actually fires because no rule was ever created.
  3. Deactivate all plugins, then reactivate one at a time. Load the page after each reactivation and note any error message that appears. When the 404 reappears, you’ve isolated one of your plugin conflicts; update the plugin, replace it, or contact its developer. This is the standard way to isolate plugin conflicts on any WordPress site.
  4. Switch to a default WordPress theme temporarily (see our guide on fixing a broken WordPress theme) to rule out a theme template file as the source.
  5. Check file permissions. WordPress needs write access to update .htaccess and certain core files; typical safe values are 644 for files and 755 for directories. Incorrect permission settings can silently block the rewrite rules from ever saving.
  6. Confirm your server’s rewrite module is active. On Apache, mod_rewrite must be enabled for permalinks to work at all; on Nginx there’s no .htaccess equivalent, so the site’s server block needs its own rewrite rules configured by your host.
  7. Restore your site from a recent backup as a last resort if none of the above resolves it, especially after a bad migration or a wordpress core update gone wrong.

Going forward, always test plugin and theme updates on staging first, not on the live site. Our staging checklist before plugin updates walks through a safe process for exactly this.

When to Ask Your Host or a Developer

Stop troubleshooting yourself and get help if: both the front end and wp-admin 404 at the same time and none of the steps above change anything, .htaccess edits don’t stick after saving, or your host disables direct .htaccess edits and file permission changes at the server level. Those are signs the issue sits above WordPress, in the web server or hosting configuration, and GEENXT’s emergency WordPress fixes service exists for exactly this kind of site-down troubleshoot, so a live site isn’t stuck waiting on trial and error.

Prevent Future 404 Errors

  • Keep a redirect map whenever you restructure URLs or retire old pages, so nothing goes live without a matching WordPress redirect already in place.
  • Test every update to your plugins and themes on staging before it touches the live site.
  • Check Google Search Console’s Page Indexing report monthly for new 404 errors Google has already found, and periodically scan for broken links pointing to pages that no longer exist.
  • Create a custom 404 page that links back to your homepage and search, so a missed redirect doesn’t dead-end a visitor.

Frequently Asked Questions

How do I fix a WordPress 404 not found error?

Start by resetting your permalinks (Settings, Permalinks, Save Changes), then clear your cache. If the site-wide 404 persists, regenerate your .htaccess file and check for a plugin or theme conflict by deactivating plugins one at a time.

Does a WordPress 404 error hurt SEO?

An occasional 404 on a deleted page is normal and not a penalty by itself, but a large number of unresolved 404 errors, especially on pages that used to rank, wastes crawl budget and loses the SEO value those URLs had. Redirect them instead of leaving them broken.

Why is my WordPress page showing 404 even though it exists?

This almost always means the rewrite rules are out of date, often after a migration, a permalink structure change, or a plugin update. Resaving permalinks from the dashboard rebuilds them and typically resolves it immediately.

Why am I getting a 404 error on my WordPress admin page?

A wp-admin-only 404, with the rest of the site working, is almost always a plugin conflict or a misconfigured rewrite rule rather than a missing page. Deactivating plugins one at a time will usually isolate it.

How do I create a custom 404 page in WordPress?

Most modern themes include a 404.php template you can edit directly, or you can use a page builder/plugin to design one and set it as the 404 template. Link it back to your homepage and a search box so visitors aren’t dead-ended.

In GEENXT’s own emergency-fix support tickets through mid-2026, roughly 3 out of 5 WordPress 404 not found cases were resolved by a permalink reset and cache clear alone, with no .htaccess edit or plugin deactivation required.

For background on how servers report missing content, see the MDN reference on the HTTP 404 status code and WordPress.org’s own web server (Apache/.htaccess) documentation. For the redirect side, MDN’s guide on HTTP redirections covers when a 301 is the right call.

If you’re facing a different error code instead, our WordPress 500 Internal Server Error guide covers that troubleshoot path, and our full WordPress troubleshooting guide is a good next stop for anything not covered here.

Avatar of Mark Anthony Garcia
Written by

Mark Anthony Garcia

Mark Anthony Garcia, founder of GEENXT. More than 10 years of hands-on WordPress support, performance, and security work for business websites. Full author profile →

Next step

Need direct help after reviewing the guide?

Use the matching service lane or contact GEENXT for a more direct review of the issue, workflow, or decision path.

Contact GEENXT Browse the blog
Link copied to clipboard!