WordPress
Fix WordPress Permalink Problems
Fix broken post/page links after WordPress permalinks stop working.
The Problem
Your homepage loads fine but every other page or post returns a 404 — WordPress's permalink rewrite rules aren't being read by the server anymore, usually after a migration, a server change, or a .htaccess file going missing.
About this problem
WordPress permalinks rely on the server actually applying the rewrite rules WordPress generates (in .htaccess for Apache, or an equivalent block for Nginx) — if that file is missing, overwritten, or the server config was never updated for Nginx in the first place, WordPress's "pretty URLs" simply don't resolve even though the content is perfectly fine in the database.
This is especially common after a server or hosting migration, since .htaccess files are easy to forget, and Nginx servers need their rewrite block maintained manually since WordPress can't write to nginx.conf directly.
What's Included
- Checking whether the web server is actually applying WordPress's rewrite rules
- Regenerating .htaccess (Apache) or writing the correct rewrite block (Nginx)
- Resaving the WordPress permalink structure to flush rewrite rules
- Testing a sample of post, page and category URLs to confirm they resolve
What's NOT Included
- Changing your permalink structure to a different format (that's a content decision, I can implement it if you choose one)
- Fixing broken links to pages that genuinely no longer exist (see the broken-links service)
- Server migrations themselves (this assumes the migration already happened)
How It Works
- Confirm the symptom pattern — homepage works, inner pages 404 — which points specifically at rewrite rules rather than a content or database issue.
- Check whether mod_rewrite is enabled (Apache) or whether an equivalent try_files/location block exists (Nginx).
- Inspect and, if needed, regenerate .htaccess with WordPress's expected rewrite rules, or write the matching Nginx block.
- Resave the Permalinks settings page in wp-admin to force WordPress to flush and rewrite its rules.
- Test post, page, category and tag URLs individually to confirm every URL type resolves correctly.
In practice: you buy the service, send over whatever access or details the job needs, I investigate and do the work, and you confirm it's resolved before we call it done.
Frequently Asked Questions
- Why do my WordPress pages show a 404 error after moving hosts?
- The new server usually doesn't have the .htaccess file (Apache) or the equivalent rewrite configuration (Nginx) that WordPress needs to translate pretty URLs into actual page requests.
- Does resaving permalinks in WordPress fix everything?
- It flushes WordPress's own rewrite rules, which fixes many cases, but if the server itself isn't applying them (missing .htaccess, no Nginx rewrite block), resaving alone won't help.
- Why does my homepage work but no other pages?
- The homepage doesn't need the rewrite rules to load, since it's just the server root — every other "pretty" URL depends entirely on those rules working.
- Can changing permalink structure break existing links?
- Yes, unless redirects are set up from the old URL structure to the new one, which is a separate, deliberate step I can include if you're planning a genuine structure change.
- Is this different from a general 404 error?
- Yes — a single missing page is a content 404; permalink problems cause every (or almost every) inner page to 404 at once, which is the giveaway it's a rewrite rule issue, not missing content.