Most traffic losses after a domain or URL change are not caused by Google. They come from redirects that are missing, chained or pointing to the wrong page. The checklist we use:
- Build the redirect map before launch: one row per old URL → new URL. Export old URLs from the sitemap, analytics and backlinks, not only from the CMS.
-
One hop only.
old → new, neverold → intermediate → new. Each extra hop is slower and risks losing ranking. - 301, not 302, for permanent moves.
- Right destination, not just "a 200". Sending everything to the homepage counts as a soft 404.
- No loops and no redirects to pages that return 404 or 500.
- hreflang: if the site is multilingual, the language versions must point to each other.
- Check again after launch with the real server, CDN and trailing-slash rules in place.
Doing step 7 by hand with a spreadsheet and curl -I is fine for 20 URLs, but painful for 2,000. I packaged the checks we used to migrate a multilingual site (3 legacy domains, 89 redirects, 4 languages) into a tool. You paste the old,new list and it opens every old URL, follows the redirects and gives you a 0–100 report with every broken row. It can also generate the redirect rules for Next.js, Vercel, Netlify, nginx, Apache or Cloudflare: https://apify.com/mauberme/site-migration-auditor (free during launch).
What's the worst migration mistake you've had to clean up?
Top comments (0)