Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Errors & Diagnosis

WordPress Permalinks Return 404 After a Migration

The home page loads but every other URL is a 404. The rewrite rules did not survive the move — and the fix is usually one click plus a check.

Short answer: if the home page works but every inner page returns 404, WordPress is running but the server is not passing pretty URLs to it. The content is intact; the URL-rewriting layer moved badly.

Why the home page is the exception

The home page is served at the site root, which needs no rewriting. Every other URL — posts, pages, categories, archives — depends on a rewrite rule that hands the request to WordPress. When those rules are missing or ignored, only the root survives, which is exactly the pattern you see.

Fix it in the right order

  1. Confirm the Site and WordPress addresses in Settings › General match the new domain exactly, protocol included.
  2. Go to Settings › Permalinks and click Save without changing anything — this regenerates the rewrite rules and, on Apache, rewrites .htaccess.
  3. On Apache, confirm AllowOverride All is set so .htaccess is actually read; on Nginx, confirm the try_files ... /index.php?$args rule is present, since Nginx has no .htaccess.
  4. Clear every cache layer, including the CDN, before re-testing.

Check for mixed old URLs too

A migration that broke permalinks often left absolute references to the old domain in the database. Those do not cause 404s alone, but they produce broken images, mixed-content warnings and odd redirects. Fix them with a search-and-replace that understands serialised data — WP-CLI’s wp search-replace 'oldurl' 'newurl' --skip-columns=guid — not a plain-text find and replace, which corrupts serialised arrays.

Verify

Test a post, a page, a category archive, a paginated listing and search. Then confirm the admin works and that no URL silently redirects back to the previous domain.

WP REPAIR INCIDENT STANDARD

Safe intervention sequence

When the home page works and inner routes 404, WordPress content is usually intact while the server rewrite layer or site base path is wrong.

WP RepairDiagnostic model
1Symptom2Evidence3Controlled change4Verification
Follow the chain until you find the first point that stops behaving as expected.
  1. Confirm home/site URLs and the installation subdirectory after migration.
  2. Regenerate WordPress rewrite rules once.
  3. Verify Apache AllowOverride or the Nginx try_files rule actually used by this vhost.
  4. Test posts, pages, taxonomies, pagination, search and REST routes.

What must be verified

  • Representative route types return their intended content.
  • Old URLs redirect only where a valid replacement exists.
  • No route silently returns to the previous domain or subdirectory.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident