Guide Web Basics

Website Migration Redirect Checklist: How to Move URLs Without Creating a 404 Mess

A practical redirect workflow for redesigns, domain changes, permalink updates, and CMS migrations.

2 min readUpdated September 22, 2026

The Redirect Generator can create a starting rule for individual moves. Redirects are easiest to manage before a migration launches. Once old URLs start returning 404s in production, you are reconstructing the map under pressure. A simple inventory and verification process prevents most avoidable problems.

Export the old URLs

Use a crawl, sitemap, analytics report, Search Console data, CMS export, and backlink data where available. No single source necessarily contains every URL worth preserving.

Create a one-to-one redirect map

For each important old URL, choose the closest equivalent new destination. Do not default everything to the homepage. If an old article has been intentionally removed and there is no replacement, it may be better to let it return a proper not-found response.

Use permanent redirects for permanent moves

For renamed pages, changed permalinks, and domain migrations intended to last, use a permanent redirect. Temporary routing should use a temporary status.

Remove redirect chains before launch

If an older rule already sends A to B and the new migration sends B to C, update the mapping so A goes directly to C.

Update internal links

A redirect is a safety net for old references, not a replacement for maintaining the new site. Navigation, content links, canonical URLs, XML sitemaps, hreflang, and structured data should point directly at the final URLs.

Test more than the happy path

  • Check HTTP status codes.
  • Verify the final destination.
  • Test query strings where they matter.
  • Test uppercase/lowercase and trailing-slash behavior where the server is case-sensitive or normalized.
  • Check both mobile and desktop only when application routing differs.

Monitor after launch

Review 404 logs and search-console reports, but do not blindly redirect every 404. Bots request nonsense URLs constantly. Add a redirect when there is a legitimate old URL or meaningful external/internal link to preserve.