Every redesign leaves old addresses behind. Test them all, point each one straight to its final page with a single permanent redirect, fix loops and broken ones, and keep a record for the next redesign.

Three websites, one old link

A business that has had three websites has three generations of addresses. Each rebuild changed how pages were named, and each left the previous set behind.

Some of those old addresses were redirected properly. Some pass through a redirect to another redirect to a third. Some lead to an error page, and one or two go round in a circle.

Nobody sees any of it from inside the site. The menus all point to current pages, so everything looks fine.

The old addresses are still out there, though: in bookmarks, old emails, printed brochures, directory listings and other people's websites.

What an audit turns up

The second is the one that grows with every redesign. Each rebuild redirects the previous addresses without noticing that some of them were already redirect destinations.

How chains form

Say a services page started life in 2009 as services.html. A 2013 redesign on a new system redirected it to that system's address for the same page.

A 2016 rebuild in WordPress redirected the 2013 address to a third. Then the site moved to HTTPS, with one rule for the secure address and another for the www.

The original address now takes four hops to arrive. Nobody planned that; each redesign only looked at the addresses it was replacing.

What a chain costs

Each hop is another round trip between browser and server before anything appears. On a phone with a weak signal, four of them add a noticeable pause.

Each hop is also another place for something to break. One rule removed during a plugin clean-up, and every address behind it in the chain stops working.

Search engines follow chains, but not indefinitely. Google advises sending each old address straight to its final destination, and its crawler may stop before the end of a long chain.

Loops and the wrong kind of redirect

A loop happens when two rules disagree, often one in the server's settings and one in a plugin. Chrome gives up and shows a page saying the site redirected too many times.

A temporary redirect, known as a 302, tells search engines the old address will come back, so they may keep showing it. A move meant to last should be a permanent 301.

Sending every missing page to the home page is a quieter failure. The visitor arrives somewhere unrelated, and search engines tend to treat it as a missing page anyway.

Finding the old addresses

The hard part of an audit is the list. Nobody kept one, so it has to be rebuilt from the places old addresses survive.

Start with old sitemaps and copies of earlier sites, if any were kept. Search Console's Coverage report shows addresses that return errors and addresses that redirect, and its links report shows the pages other sites link to.

In Universal Analytics, look for pages whose title is that of your not-found page. The addresses listed beside it are the ones people still try to reach.

The Internet Archive's Wayback Machine holds snapshots of many older sites, and its copies of old menus are a quick list of what pages used to be called.

Testing every address

With the list in a spreadsheet, test each address with a redirect checker or a crawler. Either reports every hop, its type, and where it finally lands.

Note the problems in columns beside each address: the number of hops, any temporary redirect, any loop, and any final page that is an error or plainly the wrong page.

On a site with a few hundred old addresses, that is a morning's work, and it is the only way to see what visitors following old links actually experience.

A worked example

A children's summer camp on a lake in the Interior has had three websites: plain pages in 2008, a content management system in 2013, and WordPress in 2016, followed by a move to HTTPS last year.

Families who had come back for years still had the 2008 registration page bookmarked, and it passed through four redirects before reaching the current one.

The 2013 page of camp dates had no redirect at all. An old address for the medical forms looped between a WordPress plugin and a rule in the server's configuration, and Chrome refused to load it.

The audit found about eighty old addresses, from old sitemaps, the not-found pages in Analytics and the Coverage report.

Each was pointed straight at its current page with one permanent redirect. The plugin's duplicate rules were removed, so every redirect now lives in one place.

The spreadsheet that drove the work stayed with the site's records: old address, new address, date and reason, ready for whoever handles the next redesign.

Keeping a record

The record is what stops the next redesign from building the same chains again.

When addresses change next time, the old redirects should be updated to point at the new final pages rather than left to pass through new ones. That is only possible if somebody knows they exist.

Keep the list with the logins and the other site records, and make handing it over part of the brief for any new site.

The counter-case

A site that has never changed its addresses has little to audit, and a small site with a dozen pages can be checked by hand in an hour.

Old addresses with no visits and no links from anywhere can be left to return a plain not-found response, which is better than a redirect to an unrelated page.

And the single hop added by a move to HTTPS is not worth worrying about on its own. The concern is chains, loops and dead ends, not every redirect.

For any site redesigned more than once, though, test the old addresses and send each one straight to where it belongs.

The order to do it in

  1. Rebuild the list of old addresses.
  2. Test each one for hops and errors.
  3. Point every chain straight to its final page.
  4. Break any loops between plugins and server rules.
  5. Make lasting moves permanent redirects.
  6. Keep all redirects in one place.
  7. Record each one with the site's documentation.

Step seven is what spares the next redesign from repeating this one. Without a record, the next rebuild redirects only the addresses it can see, and the chains start growing again.

Deciding which pages to retire in the first place is covered in spring cleaning the pages nobody visits.


Frequently asked questions

What is a redirect chain?

An old address that redirects to another address that redirects again, usually built up over several redesigns. Each hop adds a delay and another chance for something to break.

Why do redirect chains matter?

They slow the first page a visitor sees, they break when any rule along the way is removed, and search engines may stop following a long chain before the end.

What causes a too many redirects error?

Usually a loop, where two rules disagree, such as one in a plugin and one in the server's settings, sending the browser back and forth until it gives up.

How do I find old addresses?

From old sitemaps, Search Console's Coverage and links reports, not-found pages in Analytics, and the Internet Archive's snapshots of earlier versions of the site.

Should redirects be permanent or temporary?

Permanent, using a 301, for any move meant to last. A temporary 302 tells search engines the old address will return, so they may keep showing it.

How long should old redirects stay in place?

For years. Printed material, bookmarks and links on other sites keep sending people to old addresses long after a redesign, and a removed redirect turns each one into an error.

West Coast Media Solutions Inc. provides web design, web development, hosting, digital marketing, and business consulting to organisations across Canada, drawing on more than twenty-five years in the field.

Site redesigned more than once?

Send us the site. We will trace every old address and point each one straight to where it belongs.

Start a Conversation