Launch redirects
Applies to
seo.redirects-on-launch.
Covers seo.redirects-on-launch. Applies only when the project replaces an existing live site.
A redesign that changes URLs and does not map them throws away every link, every ranking and every bookmark the old site earned. It is the most damaging single mistake available at launch, it is entirely preventable, and it cannot be fixed properly afterwards because by then you have lost the list of what the old URLs were.
Before launch: get the list
Collect the old URLs from every source, because no single source is complete:
- The old site's sitemap
- A crawl of the old site
- Search Console, which knows what is actually indexed and what people actually click
- Analytics, for the pages with real traffic over the last twelve months
- Any external links you know about
Deduplicate. Sort by traffic descending. The top twenty pages usually account for most of the value, and those are the ones to map by hand.
Map, do not dump
Every old URL goes to its closest equivalent. Where there is no equivalent, go to the nearest parent - the category, the section - not the home page.
Do not redirect everything to the home page. A mass redirect to the root is treated as a soft 404 and passes nothing. It is also actively worse for the visitor than a 404, because they cannot tell that the page they wanted has gone.
Anything that has genuinely ceased to exist and has no equivalent should return 410 rather than being redirected somewhere irrelevant.
Redirect correctly
- 301, permanent. Not 302, which asks search engines to keep the old URL.
- One hop. Old URL straight to the final URL. Chains lose value and time, and a chain of more than a couple of hops may not be followed at all.
- Watch the combinations. http to https, www to non-www, and trailing slash all interact. It is easy to build a rule set where an old http www URL takes four redirects to arrive.
Test the composite case, not the simple one:
curl -sIL http://www.example.com/old-page | grep -E '^HTTP|^[Ll]ocation'
One HTTP/... 301 followed by one HTTP/... 200 is correct. Three 301s is a chain to fix.
After launch
Check the same list again a week later, then a month later. Watch Search Console's coverage report for a spike in 404s, which is how you find the URLs that were never on any list - old campaign landing pages, PDFs, images that were linked directly.
Keep the redirects. There is no expiry date on a link someone else made.
Handover
The mapping file ships with the project. It is the record of what pointed where, and the first thing anyone needs when a 404 turns up in six months.