The 404 Page Not Found error is one of the most common errors found on any WordPress website. Most cases are fixed in under two minutes by resaving your permalink settings - no plugins required. This guide covers all six fixes from simplest to most technical, so you can resolve your WordPress 404 error and get your pages back online.
Why WordPress 404 Errors Happen (and Why They Matter)
A 404 error means the server received the request but has nothing to show at that URL. The page doesn't exist, was deleted, or the URL changed without a redirect. On WordPress, the most common trigger is a corrupted permalink structure (this resets silently during plugin updates, hosting migrations, and some core updates). Other causes include deleted pages with no redirect, URL slugs changed without forwarding the old address, and .htaccess or Nginx config files that lost their WordPress rewrite rules.
Beyond the user experience hit, persistent 404s hurt your WordPress SEO. Google treats 404s on previously indexed pages as a sign of poor site maintenance, and any backlinks pointing to a dead URL stop passing authority. For more on WordPress server errors, see our guide on fixing the 500 internal server error.
How to Fix Error 404 Page Not Found on WordPress
Fix 1: Resave Your Permalink Settings (Fixes 90% of Cases)
This is the quickest fix and resolves most mass 404 errors on WordPress. It works because permalink rewrites sometimes get lost during updates or hosting changes - WordPress just needs to regenerate the rules.
- Log in to your WordPress admin (yourdomain.com/wp-admin).
- Go to Settings > Permalinks.
- Do not change anything. Simply click Save Changes.
- WordPress regenerates the rewrite rules and flushes the rewrite cache.
- Test the previously broken URL - it should load correctly.
If you're still seeing 404s after this, proceed to Fix 2.
Fix 2: Regenerate Your .htaccess File (Apache) or Fix try_files (Nginx)
WordPress URL routing depends on your server configuration. The fix differs depending on whether your server runs Apache or Nginx.
Apache servers (.htaccess fix): Apache writes WordPress URL routing rules to a file called .htaccess in your site's root directory. If this file is corrupted, missing, or has incorrect permissions, all WordPress page URLs return 404.
- Connect to your server via FTP or your host's File Manager.
- Navigate to your WordPress root directory (where wp-config.php lives).
- Download a backup of the existing .htaccess file.
- Delete the existing .htaccess file.
- In your WordPress admin, go to Settings > Permalinks and click Save Changes - WordPress regenerates a clean .htaccess automatically.
If WordPress can't write the file (permission issue), your host's support team can set the directory permissions to 755 and file permissions to 644 to allow it.
Nginx servers (try_files fix): Nginx doesn't use .htaccess at all - resaving permalinks won't create one. Instead, WordPress routing requires a try_files directive in your Nginx server block config. If this is missing or misconfigured, every WordPress URL except the homepage returns 404.
- Access your server via SSH or ask your host for the Nginx config file (often at
/etc/nginx/sites-available/your-domain.conf). - Inside the
server {}block, verify you have alocation /block that includes this line:try_files $uri $uri/ /index.php?$args; - If it's missing, add it. If it's present, check for typos - a missing
?$argsis a common cause of WordPress 404s on Nginx. - Save the config, then reload Nginx:
sudo nginx -s reload - Test the previously broken URL.
Hosts like Kinsta, Cloudways, and most VPS setups run Nginx - if your host doesn't mention Apache, assume Nginx and use this fix.
Fix 3: Add 301 Redirects for Changed or Deleted Pages
If you're looking to fix the 404 Page Not Found on WordPress for specific pages you've deleted or moved, you need to create 301 redirects. A 301 redirect permanently forwards the old URL to a new one, sending both users and Google to the correct destination and preserving any link authority the old URL had.
The most reliable free plugin for this is Redirection (by John Godley - over 2 million active installs). Here's how to use it:
- Install and activate the Redirection plugin from Plugins > Add New.
- Go to Tools > Redirection in your admin.
- Under "Add new redirection," enter the old URL in the "Source URL" field.
- Enter the new destination URL in the "Target URL" field.
- Click Add Redirect.
You can also use the Easy Redirect Manager (free) or Redirect Pro for WordPress for the same purpose. Both are easy to use and great for creating redirects on your website.
WooCommerce stores: If you're running WooCommerce and product or category pages return 404, the fix is usually the same permalink resave. But if WooCommerce shop pages specifically 404, also check WooCommerce > Settings > Advanced to verify the Shop, Cart, and Checkout page assignments haven't been reset to "None."
Fix 4: Find and Fix All 404s with Google Search Console
If you have multiple broken URLs, Google Search Console shows you all pages returning 404 errors that Googlebot has encountered. Go to GSC > Pages > "Not found (404)" - you'll see every URL that needs either a redirect or content restored. Prioritize pages with the most impressions first, as these are the ones actively losing you traffic and rankings.
Fix 5: Create a Custom 404 Page
Even with all redirects in place, some 404 errors are inevitable (typos in shared links, outdated bookmarks). A well-designed custom 404 page keeps visitors on your site instead of hitting Back. It should include: a clear message that the page wasn't found, your site's main navigation menu, a search bar, and 3-5 links to your most popular pages.
Some themes include a 404.php template you can customize directly. If yours doesn't, plugins like 404 Page Editor for WordPress provide a visual editor for building a branded 404 page without touching code.
How to Find WordPress 404 Errors Before They Hurt Your SEO
The fixes above work on 404s you already know about. The smarter approach is catching broken links before they accumulate. Here are three tools that do this without requiring server access:
Screaming Frog SEO Spider (free up to 500 URLs): Download Screaming Frog and run a full crawl of your site by entering your domain in the URL field and clicking Start. Under the Response Codes tab, filter for 4xx errors. You'll see every internal link pointing to a broken URL, including the source page that contains the broken link. This is the fastest way to find 404s caused by internal linking mistakes - old posts linking to pages you've since deleted or renamed.
Google Search Console Coverage report: In GSC, go to Indexing > Pages and filter by "Not found (404)." This shows every 404 that Googlebot has encountered across your entire site, including URLs that only appear in external backlinks. Review this report monthly. Focus first on any 404 URL that used to have backlinks - those represent lost domain authority you can recover by setting up a 301 redirect.
WP 404 Logger plugins: Plugins like "404 to 301" (by Joel James) log every 404 hit in real time from your WordPress admin. This catches 404s from traffic sources that Screaming Frog and GSC won't surface immediately, like links in email newsletters or recent social media posts. You can set these plugins to automatically redirect logged 404s to your homepage or a relevant page, reducing the manual redirect workload.
Running a monthly audit using any one of these three tools catches 404s early, before they hurt rankings or frustrate visitors.
Final Word: How to Fix Error 404 Page Not Found on WordPress
Start with the simplest fix: resave your permalinks. This resolves most WordPress 404 issues in under a minute. If individual pages are broken due to URL changes or deletions, set up 301 redirects using the Redirection plugin. Apache servers need a working .htaccess file; Nginx servers need a correct try_files directive - the fix is different and fixing the wrong one wastes time. Check Google Search Console regularly to catch new 404s before they affect your rankings, and always keep a custom 404 page as a safety net.
For a deeper look, see our complete guide to What Is WordPress?.
* read the rest of the post and open up an offer