The new site launches, everyone celebrates, and three weeks later the owner asks why traffic is down. Nine times out of ten the answer is the same: the old URLs still exist out there — in Google, in bookmarks, in some supplier’s link list — and they’re all hitting a 404 wall on the new site.
I’ve done this cleanup after other people’s migrations enough times that I now treat it as part of the migration itself, not an afterthought.
Find the old URLs that still matter
You can’t redirect what you don’t know about. I pull the old URL list from three places and merge them:
- Search Console’s indexing and 404 reports on the new site
- The old sitemap, if anyone saved it — I always save one before a rebuild
- Analytics from the last year of the old site, sorted by pageviews
That last one sets the priority. A 404 on a page nobody visited doesn’t matter much. A 404 on the old best-selling category page is an emergency.
Redirect to the right place, not just the homepage
The lazy fix is pointing every dead URL at the homepage. Google treats that as barely better than a 404, and visitors treat it worse — they landed looking for a specific thing and got a lobby. Every redirect should land on the closest living equivalent. Old product to new product. Old category to new category. Only when there’s truly no equivalent does something go to a parent page.
Then stop the bleeding going forward
Redirects rot. Someone renames a page next year and creates a new hole. So the last step is a habit, not a fix: the 404 report gets checked monthly, and any URL with real traffic gets a redirect the same day. Five minutes a month keeps the problem from ever piling up again.
None of this is glamorous work. But I’ve watched a store recover its lost search traffic within weeks just from a proper redirect map. The rankings weren’t gone. They were just pointed at doors that no longer existed.



