Troubleshooting Guides

Broken Redirects After Website Migration

Fix broken redirects after website migration, including redirect loops, HTTPS conflicts, www/non-www issues, missing rules and CDN redirect problems.

By CheckDomainHealth Editorial Team Reviewed by Dionis Ceban Updated Jun 28, 2026 9 min read Intermediate

Introduction

After a website migration, users and search engines still visit old URLs from bookmarks, emails, ads and backlinks. If redirects are missing, wrong or conflicting, those visits hit 404 errors, redirect loops or irrelevant destinations.

Broken redirects after migration are usually caused by incomplete redirect maps, duplicate rules across server/CMS/CDN layers, HTTP/HTTPS conflicts, www/non-www inconsistencies, or old paths that were never mapped to new URLs.

Quick answer

Quick answer

After migration, map important old URLs to the closest new URLs, implement single-step 301 redirects to the final HTTPS canonical address, remove conflicting rules in server config, CMS plugins and CDN, update internal links and sitemaps, then test old URLs with Website Status Checker or curl -IL.

Broken redirects after migration explained

A migration redirect should send an old URL directly to the best matching new URL in one clear step. Broken redirects fail when that path is missing or fights with another rule.

Common failure patterns:

  • 404 Not Found on important old URLs
  • Redirect loop between HTTP, HTTPS, www and non-www
  • Long redirect chains through multiple hops
  • Old URLs all redirect to the homepage
  • 302 used for a permanent migration
  • Conflicting rules in .htaccess, Nginx, CDN and CMS plugin
  • Old domain no longer redirects because DNS or SSL expired
  • Case-sensitive or trailing-slash mismatches
  • WordPress permalink structure changed without slug redirects
  • Sitemap and internal links still point to old URLs

Test old URLs, not just the new homepage. High-traffic pages, product URLs and campaign links break most often.

Do not stack redirect rules in multiple places without testing. Server, CDN and plugin rules can create loops quickly.

Why this matters

Why this matters

Broken redirects after migration hurt user experience, ad landing pages, email links and SEO. Visitors who hit 404s or loops leave quickly, and search engines may drop rankings for URLs that no longer resolve cleanly.

A redirect map tested before and after launch reduces traffic loss and makes it easier to find missing paths in logs and Search Console.

How to check redirects after migration

Test a representative set of old URLs from analytics, sitemaps, backlinks and server logs.

  1. Old homepage — Confirm it reaches the new canonical homepage.
  2. Top traffic pages — Test high-value old URLs individually.
  3. Final URL — Confirm the redirect lands on the correct new page.
  4. Final status — Confirm the destination returns 200 OK.
  5. Redirect count — Prefer one hop from old URL to final URL.
  6. HTTPS — Confirm insecure old URLs reach secure final pages.
  7. www/non-www — Confirm canonical host behavior is consistent.
  8. 404 and removed pages — Confirm intentional 404/410 or relevant replacements.

Test migrated URLs

Use Website Status Checker to test old URLs and confirm final status codes, redirect targets and chains after migration.

Run Website Status Check →

Common problems

Missing redirect for old URL

High

An important migrated page returns 404 because no rule exists.

Next step: Add a 301 redirect to the closest relevant new URL.

Redirect loop

High

HTTP/HTTPS, www/non-www or CDN rules send the browser in a circle.

Next step: Choose one canonical host and remove conflicting redirect layers.

Redirect chain too long

Medium

The old URL passes through multiple redirects before reaching the final page.

Next step: Redirect old URLs directly to the final HTTPS canonical URL.

Everything redirects to homepage

Medium

Old URLs lose topical relevance and users land on the wrong page.

Next step: Create page-to-page redirects where replacements exist.

302 used for permanent move

Medium

A permanent migration is treated as temporary.

Next step: Change permanent migration rules to 301.

HTTP and HTTPS conflict

High

Server, CMS and CDN HTTPS rules fight each other.

Next step: Use one clean HTTPS redirect path to the canonical host.

Old domain stops redirecting

High

DNS, SSL or hosting on the old domain expired after migration.

Next step: Keep the old domain active with valid SSL and redirect rules.

WordPress permalink change without mapping

Medium

Slug or structure changes broke existing URLs.

Next step: Add redirects for changed slugs and update internal links.

CDN or cache serves stale redirect

Medium

Edge cache still returns an old redirect target or error.

Next step: Purge CDN cache and re-test the affected URLs.

Internal links still use old URLs

Low

Visitors and crawlers keep hitting redirects from inside the site.

Next step: Update menus, content links, canonicals and XML sitemap to final URLs.

How to fix broken migration redirects

  1. Step 1: Export important old URLs

    Collect URLs from analytics, sitemap, Search Console, backlinks and server logs.

  2. Step 2: Build a redirect map

    Match each old URL to the closest relevant new URL and note redirect type.

  3. Step 3: Implement 301 redirects

    Add rules in one primary layer first — server, CDN or CMS — and avoid duplicates.

  4. Step 4: Fix canonical host and HTTPS

    Choose www or non-www and ensure all old URLs reach the secure canonical version.

  5. Step 5: Remove conflicting rules

    Review .htaccess, Nginx, CDN page rules and redirect plugins for loops or chains.

  6. Step 6: Update internal links and sitemap

    Point menus, content, canonical tags and XML sitemap to final 200 URLs.

  7. Step 7: Test old URLs

    Check status codes, final destinations and hop count for priority URLs.

  8. Step 8: Monitor after launch

    Review 404 logs, crawl errors and traffic changes for missing redirects.

Redirect test examples

Testing redirects after migration
Test an old URL and follow redirects:

curl -IL http://example.com/old-page

Good result:

HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page

HTTP/2 200 OK

Bad result (404):

HTTP/1.1 404 Not Found

Bad result (loop):

HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/new-page

HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page

(repeats until browser error)

Redirect map example:

/old-page       /new-page      301
/services/web    /services/web-design 301
/blog/old-post  /blog/new-post 301
/retired-page   410 Gone

Examples are illustrative. Replace URLs with your real migration paths and test before changing production redirect rules.

Frequently asked questions

Why do redirects break after migration?

Old URL rules may not be copied to the new host, CMS, CDN or server config. Conflicting HTTP/HTTPS, www/non-www and plugin rules are common causes.

Should old URLs redirect to the homepage?

Only when no relevant replacement exists. Otherwise redirect to the closest matching new page to preserve user intent and SEO value.

What is a redirect loop?

Two or more rules send the browser back and forth between URLs until the browser stops with too many redirects.

Can DNS cause broken redirects after migration?

DNS can point to the wrong server, but broken redirects usually come from server, CMS, CDN or .htaccess/Nginx rules on the destination host.

How do I test redirects quickly?

Use Website Status Checker or curl -IL on important old URLs and confirm the final status is 200 on the correct HTTPS canonical page.

Should I use 301 or 302 after migration?

Use 301 for permanent site moves and URL changes. Use 302 only for temporary routing.

How long should migration redirects stay active?

Keep important redirects for a long time, especially for URLs with traffic, bookmarks or backlinks.

Use these free tools to verify your configuration after applying changes.

Browse all Troubleshooting guides →

Need help applying this fix?

Send us your domain, report link or issue details. CheckDomainHealth will review the request and route it to the right technical team if hands-on support is needed.

Get Help Run Domain Health Check

Was this guide helpful?

Your feedback helps us improve our guides for everyone.