Best Practices for the WWW - Redirection
My advice is to be taken as seriously as you think it should be taken. What I've written here is echoed throughout the Internet on usability and authoring websites. These are just some of the things I feel should be done on the WWW.
It's fairly common for people to up and leave one website and go to another. I'm as guilty of this as the next Internaut. In my case, I went from a service provider's free webspace to a proper domain name, so everything that was once at, say, http://www.host.invalid/~username/index.html is now at http://www.bogus.tld/index.html. Alas, the common practice is for people to do the following:
Hi! We've moved! You will be taken to our new page in 5 seconds!
Sure enough, you're moved to their new place in 5 seconds. And now your back button is messed up and it keeps redirecting you to this new place. Why?
Because the author used the http-equiv refresh kludge. Nearly all browsers support it (some can disable it) and it does provide a cheap and easy mechanism for an author to use.
The kludge in question is markup included in the <HEAD> element. It's a <META> tag and has the following syntax:
<meta http-equiv="refresh" content="0; url=redirected_url">
where the 0 represents a time in seconds until the redirect and the url= is a fully-formed URL.
This method, apart from being annoying, doesn't really serve the purpose the author intends. No search robot will follow it, it doesn't give a proper indication that a redirect has taken place as per HTTP specs. So there must be better ways.
There are. The most simplest is to simply give the URL of the new location without the http-equiv kludge and maybe an advisory note to update one's bookmarks, etc.
Others involve access to server-side functions which may or may not be available. In Apache, the easiest way to do this is use a Redirect directive. A line as simple as:
Redirect permanent /moved_stuff http://www.yournewhome.com/new_stuff
in a .htaccess file in the old directory will suffice. The permanent attribute tells apache that the redirection is exactly that, permanent. It issues a status code 301 to any browser or robot that now accesses the old information. This is widely acknowledged to be the correct way of going about redirection. Other server technologies have similar redirection mechanisms to this.
In any case, the http-equiv kludge is the worst possible way to handle this, and I'm not alone in this thinking.Home