When only the homepage loads, WordPress is running fine — the server is simply not passing inner URLs to it. Rewrite rules translate a pretty URL into something WordPress understands, and when they are missing or broken, every request except the root fails. It is one of the most alarming-looking problems with one of the smallest causes.
Before you buy — try this first
Genuinely, this often fixes it and costs nothing.
If you can reach wp-admin, go to Settings → Permalinks and click Save Changes without changing anything. That regenerates the rewrite rules.
Inner pages come back — you are done. No purchase needed.
Still 404, or it works then breaks again — the rules are being lost or overwritten by something, and that is the real problem this fixes.
Mixed 404s on all inner pages - permalink repair
The homepage works but every other page returns 404. We repair the permalink structure and the rewrite rules behind it.
- Full backup taken before we start
- If we can’t fix it, you get your money back
- We never ask for your own password
This or something else?
| Homepage works, all inner pages 404 | This fix covers it |
| Resaving permalinks fixes it permanently | No purchase needed |
| It works then breaks again | This fix covers it |
| Specific pages 404, most work | 404 mapping and redirects |
| 500 error rather than 404 | Corrupted .htaccess repair |
What you are seeing
- The homepage loads but every other URL returns 404
- The admin may work perfectly while the front end does not
- Resaving permalinks fixes it briefly, then it returns
- It may have started after a migration or a server change
Common causes
- Rewrite rules missing from .htaccess or nginx configuration
- A server that does not have URL rewriting enabled
- A migration to a server with different rewrite handling
- A plugin registering a rewrite rule and breaking the set
- Permissions preventing WordPress from writing rewrite rules
What we do
- Take a full backup before touching anything
- Confirm the server supports and has rewriting enabled
- Rebuild the rewrite rules correctly for the server in use
- Identify anything that is overwriting or clearing them repeatedly
- Check custom post types and taxonomies, which have their own rules
- Verify posts, pages, archives, categories and any custom routes all resolve
What is included
- Every URL type resolving correctly, verified across the site
- Rewrite rules that persist rather than needing to be resaved
- A note on what was clearing them, if that was the cause
- The pre-fix backup, kept for 30 days
Not included
- Changing your permalink structure, which needs a redirect map — quoted separately
- Enabling rewriting on a host that does not support it
- Fixing 404s on individual pages that were deleted or renamed
- Design changes or content work
Questions about this fix
You told me how to fix it free. Why sell this?
Because resaving permalinks only helps if the rules were lost once. If something is clearing them repeatedly, you will be back tomorrow. This fix finds what is doing that.
I cannot reach wp-admin to resave. What now?
Then this is the right service. The rules can be rebuilt without the admin, and losing admin access at the same time usually means a broader configuration problem worth looking at properly.
It broke after moving hosts. Is that normal?
Common, yes. Apache and nginx handle rewriting completely differently, and rules that worked on one do nothing on the other. It is one of the most frequent post-migration symptoms.
Will my custom post types work again too?
They are checked as part of this. Custom post types and taxonomies register their own rewrite rules, and they can break independently of standard pages — so we verify each rather than assuming the homepage test covers it.
Will I need to do this every time I add a new page?
No — once the rules are correctly regenerated and whatever was breaking them is fixed, new pages use the existing structure automatically. This isn't routine maintenance, it's a one-time repair.
Related fixes
If this is the second time this year
A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.
Your access, your rules
Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.
We back up first, always
Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.
If it is not what you bought
If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.
If we cannot fix it
You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.
If it comes back
Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.
What we are responsible for
If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.