WordPress Errors

WordPress Pages Returning 404 Errors? Here's What's Actually Wrong

Your pages exist in the dashboard but visitors get 'not found'. Here is why WordPress 404 errors happen, the one-click fix that solves most of them, and what to check when it doesn't.

Get Shielded
19 Jul 2026 6 min read
WordPress Pages Returning 404 Errors? Here's What's Actually Wrong

The page is right there in your dashboard. You can open it, edit it, preview it. But visitors clicking the link get "404 — page not found", and so does Google.

Most WordPress 404 errors are not missing pages at all. The content exists; WordPress has simply lost the instructions for how to find it.

Understand what a permalink actually does

This makes everything else make sense. When someone visits yourdomain.com/services/security, there is no folder called services on your server. That path does not exist as a file.

Instead, the web server hands the request to WordPress, which looks up which post or page matches that path and builds it. The rules telling the server to do that live in .htaccess on Apache, or in the site configuration on Nginx.

Break those rules and every URL except the homepage returns a 404 — because the homepage is the only one that does not need them.

If your homepage works and everything else 404s, it is almost never missing content. It is the rewrite rules.

The fix that solves most cases

Genuinely this simple. In WordPress, go to Settings → Permalinks, change nothing, and click Save Changes.

That forces WordPress to regenerate the rewrite rules and write a fresh .htaccess. A large share of 404 problems disappear at this point.

If it does not work, check that .htaccess is writable. If WordPress cannot write to it, the Permalinks page will usually say so and show you the rules to paste in manually.

When that doesn't fix it

The .htaccess file is missing or damaged

It is a hidden file in your web root, so enable "show hidden files" in your FTP client or file manager. If it is missing entirely, create it with the standard WordPress block. If it has custom rules from a plugin or a previous developer, one of those may be intercepting requests.

Rename it to .htaccess-old, reload the site, and re-save permalinks. If that fixes things, add your custom rules back one at a time.

mod_rewrite is not enabled

On Apache, the rewrite module has to be active. If it is not, no amount of correct rules will help. This is worth asking your host directly — it is a one-line answer for them.

You are on Nginx, not Apache

Nginx ignores .htaccess entirely. The rewrite rules live in the server configuration, which you usually cannot edit yourself. If you moved to an Nginx host and everything 404s, this is your answer and your host needs to add the WordPress location block.

A plugin conflict

Plugins that create custom post types, custom URLs, redirects or multilingual routing all register their own rewrite rules. When two disagree, or one fails to flush its rules after an update, you get 404s on specific sections rather than the whole site.

The pattern is the giveaway: if your blog posts work but your products or events 404, suspect the plugin that creates them.

404s after a migration

Very common, and usually one of three things.

The site URL is wrong. Check Settings → General. If WordPress Address and Site Address still point at the old domain or the staging URL, links generate incorrectly.

.htaccess did not come across. Hidden files get missed by migration tools and by manual FTP transfers. Re-save permalinks to regenerate it.

Case sensitivity changed. Some servers treat /Services/ and /services/ as different URLs. Moving between environments can expose links that were always slightly wrong.

404s after changing your URL structure

This one is different, and important. If you changed your permalink structure — say from /?p=123 to /post-name/ — every old URL now 404s. Those old URLs are what Google has indexed and what other sites link to.

Do not leave them broken. Set up 301 redirects from the old structure to the new one. A 301 tells search engines the page moved permanently and passes the ranking value across.

Skip this step and you lose the rankings those pages earned, plus every inbound link pointing at them.

The SEO cost of leaving them

Occasional 404s are normal and harmless — the web is full of dead links. What causes damage is 404s on pages that used to rank or that people still link to.

Check Google Search Console under Pages for URLs reporting as not found. Anything there with previous traffic deserves a redirect to the nearest equivalent page. Redirect to a relevant page, not blanket-redirect everything to the homepage — that is treated as a soft 404 and helps nobody.

One security note worth knowing

If 404s appeared suddenly with no changes on your side, do not assume it is a configuration fault.

.htaccess is a favourite target for attackers, because rules added there run before WordPress does. A compromised file can redirect visitors elsewhere while leaving the site looking normal to you.

Open the file and read it. If there are RewriteRule lines pointing at domains you do not recognise, that is not a permalink problem. Our guides to the WordPress redirect hack and removing malware cover what to do next.

Working through it in order

  1. Re-save permalinks — this alone fixes most cases
  2. Check .htaccess exists, is writable, and contains nothing suspicious
  3. Rename it, reload, and re-save permalinks to rule out custom rules
  4. Confirm the site URL in Settings → General is correct
  5. Deactivate plugins in batches if only certain sections 404
  6. Ask your host about mod_rewrite, or Nginx rules if applicable
  7. Add 301 redirects for any old URLs that had traffic

If pages are still not found

404s across a whole site mean nobody can reach anything except your homepage, and search engines start dropping pages from the index within days. It is worth fixing quickly rather than living with.

Our WordPress error fixing service diagnoses the actual cause — configuration, plugin conflict or something less benign — and sets up the redirects so you do not lose rankings in the process.

Send us your web address and which pages are failing, and we will tell you what we find.

Get Shielded

We build, host, secure and monitor business websites — cleaning up hacks and keeping sites online for clients across the UK, USA, Australia and the UAE.

Keep reading

Chat on WhatsApp