Google webmaster guidelines > Quality guidelines > Guideline two of eight in this category states...
"Don't employ cloaking or sneaky redirects."
Definitions
Employ - Use.
Cloaking - Showing a user something different than what you show a search engine spider.
Sneaky - Deceptive
Redirects - A redirect is an action that forwards a web user from one webpage to another without the users input. (explained at length below)
Examples and Explanations
This Google guideline states clearly that one should not use cloaking or sneaky redirects. What it does not clearly state is what exactly "cloaking" and "sneaky redirects" are.
Cloaking
Cloaking, luckily for us, has been defined well by Google. In fact one of the Google webmaster guidelines explicitly defines cloaking for us...
" Make pages for users, not for search engines. Don't deceive your users or present different content to search engines than you display to users, which is commonly referred to as "cloaking." "
Let's see what Wikipedia says about cloaking... "Cloaking is a black hat search engine optimization (SEO) technique in which the content presented to the search engine spider is different from that presented to the users' browser."
In plain language, cloaking is a technical ploy that people have used to deceive search engines. A new webmaster need not worry about it too much, because in order to be cloaking you pretty much know you are doing it. If do not know how to cloak, you probably are not doing it. If you know what it is and you are doing it... Stop. Cloaking is explicitly against the Google guidelines. For some further discussions and descriptions of cloaking, please see "Resources" below.
Redirects
A redirect occurs when the visitor of one page is taken to another page. Simple huh? Okay, there are many different uses of redirects out there and we will cover the most common ones, but bottom line a redirect is only this...
You are visiting one page, and you are automatically taken to another without your input...
When I was first learning about redirects, I was overwhelmed by the different types out there and didn't know what they were, and which one I needed for my site. So I would like to cover a couple common types of redirects.
The Meta Refresh Redirect
This redirect is commonly called a "Meta redirect". If you have been using the internet for a few years then you likely remember seeing something like this often...
The above is an example of a "Meta redirect". It served the function of directing users to the new location of a webpage that had been moved or renamed.
The process that happens in a Meta redirect is this.
1) A user goes to a page. 2) The user is shown the old webpage for a few seconds 3) After a few seconds the user is taken to the new webpage.
The reason it is called a "Meta refresh" is because of the way the redirect is accomplished. (It is accomplished on the webpage itself in the meta data, with a command called "refresh")
How to make a Meta Redirect happen
Meta data is a set of information on a webpage if you do not know what it is, check out this description of meta-data or this quick description that includes a metatag creation tool
In addition to the often used meta stuff that most are aware of (keywords, description, and title) there is another called "refresh". to achieve the above example you would place the following line in the head section of your webpage.
<meta http-equiv="refresh" content="5;url=http://www.example.com/newlocation.html">
The "refresh" is telling the web browser what to do, the content="5 part is saying "do it in five seconds" (if you want the redirect to happen in two seconds instead of five, just replace the "5" with a "2".
The "http://www.example.com/newlocation.html" part is the location of the place you want to redirect a user to.
Now before you go out and make a meta redirect, you should realize that Meta redirects have many problems and in general are not the recommended way to accomplish a redirect. Why am I explaining them? Because they are still used and also they form a part of the evolution of redirects.
The main reason some people like using them is that they are able to do it right in the HTML of their webpage.
The main reason most people do not like experiencing a meta redirect is because they are not able to use the "back" button on their web browser after the meta redirect takes place (and 5 seconds is like twelve years in internet time).
The huge and really big reason that they are not used very much anymore is because they are not very search engine friendly and there is a much better way to get search engines to know about the new location of your page. The most recommended and standard redirect to use is...
The 301 Redirect
The 301 redirect is the most search engine friendly redirect, it is also the most recommended. If you are going to do a redirect, you should probably use a 301.
The main difference between a 301 redirect and a meta redirect is that the user never sees the "old" page, as illustrated below.
How does that happen? It happens because of something called a status code. In fact the reason a 301 redirect is called "301" is because the status code is actually the three numerals "301". We will discuss what status codes are below, but for now let's talk about how to create a 301 redirect.
How to make a 301 redirect happen
There is a file called .htaccess that most 301 redirects are created
in
(this file is discussed more below).
Because the vast majority of new webmasters are unfamiliar with this file, hosting companies have created a simpler way to create 301 redirects. To make a 301 redirect requires you to login to the control panel of your hosting company. After you log in you will typically have several options to choose from like "file manager", "statistics", "ftp", etc.
One of those choices with often be "redirects". If you find a redirect option, click it and follow the instructions.
There are a few different hosting companies out there but most new webmasters find themselves using one of two "control panels" when dealing with their web files one is the "Vdeck panel" and the other is the "Cpanel". Let's look at both and step you through the creation of a redirect.
Using Vdeck to make a 301 redirect happen (Vdeck looks like this)
One of the main choices is "Settings" it looks like...
Click on it.
You will find yourself on another screen with more choices. One of the choices is "Redirects" it looks like this...
Click on it and you will be taken to a form that looks like...
This is where you make the redirect happen. Now let us pretend for the above example that there is a page called "myoldpage.html" and we want to redirect it to "mynewpage.html"
We now place "myoldpage.html into the first field and then "www.yourdomainname.com/mynewpage.html" in the second one it would look like this...
Now click "Update" and you have your redirect. Now if anyone tries to visit "myoldpage.html they will actually see "mynewpage.html" instead.
Using Cpanel to make a 301 redirect happen (Cpanel looks like this usually)
One of the main choices is redirects. It looks like this...
click that and you will see a form like this...
This is where you make the redirect happen. Now let us pretend for the above example that there is a page called "myoldpage.html" and we want to redirect it to "mynewpage.html"
Very Important! Switch the "Temporary" option with the "Permanent" option! (If you don't you are creating a different type of redirect and will be very disappointed with the result).
We now place "myoldpage.html into the first field and then "www.yourdomainname.com/mynewpage.html" in the second one it would look like this...
Now click on the "Add" button and you now have a 301 redirect. Now if anyone tries to visit "myoldpage.html they will actually see "mynewpage.html" instead.
Why redirects are used
The most common reason a redirect is required is because of a website redesign. For example, if you had an old website that had HTML pages and you redesigned your site to use PHP, then the result is that all your webpages that used to end with ".html" will now end in ".php". In this case, you would need to use redirects. You will have to use redirects because your file names have changed and to keep the links to your old pages functioning.
Another reason most people are being introduced to redirects is because of what is called "Canonicalization" which is the process in which Google decides which version of a URL is the best to use.
Huh?
Canonical URLs ( www versus no www )
Let's use feedthebot.com as an example. When I first made this website you could access it using different URLs...
www.feedthebot.com
feedthebot.com
feedthebot.com/
www.feedthebot.com/
All of the above URLs are the same thing and if you use any of them you will always get to the homepage of my website. But Google came out and said that just because these different versions of URLs often have the same info does not mean that they are the same.
People started noticing that their pagerank was getting "split up" because some people linked to their websites in different ways (using different URLs). Example -
If ...
ten people linked to Feedthebot using "www.feedthebot.com"
and 10,000 people linked to Feedthebot using "feedthebot.com" (without the "www")
Then...
in Google, the web address of "www.feedthebot.com" would have less of a pagerank than the web address "feedthebot.com" because only 10 people link link to it, while 10,000 link to the address with out the "www"
The solution to this is to decide which "version" you prefer, with the "www" or without the "www" and then do a site-wide redirect to the version you want. With Feedthebot I decided on using the "www", to see a 301 redirect in action, type into the address bar of your browser "feedthebot.com" and you will see that the "www" will appear in the address bar automatically, even though you did not type it. This is the result of a site wide 301 redirect. No matter which "version" someone links to me with I will receive the pagerank value of that link.
Google webmaster tools now allows you to "tell" Google what version you prefer. This feature is discussed by Google on their blog - Selecting your preferred domain
The .htaccess file
In general, you should not alter your .htaccess file unless you are confident in what you are doing and what the result will be. I am only mentioning this file because in the normal course of searching the internet for information on redirects, you have probably seen the .htaccess file mentioned alot.
When a web browser or a search engine spider look at your website, it looks for this file first. The reason for this is that the .htaccess file contains information about how a page should be displayed.
In the above examples of how to make a 301 redirect through your control panel, you are indirectly changing your .htaccess file. Hosting companies have created these "redirect" options as a safe way for those unfamiliar with the .htaccess file to still be able to make redirects.
Key concepts
Cloaking is bad. Always show the same thing to your visitors as you do to the search engine spiders.
Sneaky redirects are bad. A redirect is sneaky if it gives the user of a link something different than what they were expecting.
301 redirects are the most recommended redirect.
Use your control panel to make redirects, do not mess with your .htaccess file unless you know very well what you are doing.
How to determine if your website is following this guideline
Check that your redirects are acting the way they are supposed to
Every time you add redirects to your webpages you should make sure that they are representing correctly to the search engines, even if the redirect seems to be functioning correctly.
Here is great tool to check to see if your webpages are acting the way you want them to. (You can check to make sure your 301 redirect is actually a 301).
How to make sure your redirects are not sneaky or deceptive.
There is no online tool that will tell you if you are being sneaky (deceptive) or not. You have to decide that for yourself. To do so, ask yourself these questions...
1) Why am I making this redirect? - If you are making a redirect because you are guiding your visitors to the correct information then you are probably fine. If you are redirecting users from your old dog page to your new dog page, then you are not being sneaky. If you are redirecting users from your old dog page to your cat page, then you are being sneaky. The reason you are being sneaky is because someone who clicks on a link to a dog page is looking for a dog page, not a cat page.
2) Is the user going to like where they are being redirected to? - To build a little on the above dog page to cat page sneaky redirect above, the whole idea of not being sneaky is to provide the user of a link to receive what they are expecting. If you went to a store that called itself "Ice cream place" and that had signs that said "Ice Cream Sold here" then you probably expect to be able to buy ice cream there. It would be a disappointment if you went in that store and you find that they did not sell ice cream, they only sell clocks. In the same manner, it is a disappointment for a user to click on a link that says "dogs" and end up on a cat page.
If you keep users in mind, it is easy to steer clear of having any "sneaky" redirects. Provide for your users a pleasant experience. The less manipulated your users feel while using your website, the more likely they are to appreciate your site and return to it.
Remember, a redirect is "sneaky" if it gives the user of a link something different than what they were expecting upon clicking it.
.
Resources
From Google:
Cloaking:
Why sites are removed from Google's index
Redirects:
My URL changed, so how can I get Google to index my new site?
What do HTTP status codes mean?
Canonicalization:
Why does my site have two different listings in Google: http://site.com and http://www.site.com?
Choosing your preferred domain
From Google employees:
Matt Cutts on redirects:
The 302 redirect and an explanation of the difference between 301 and 302 redirects
Matt speaks about canonicalization and redirects
more about canonical issues and list some good resources
Instructions for changing your webhost or domain name
From other sources:
Cloaking-
Cloaking is defined in Wikipedia
Cloaking explained and a good listing of cloaking articles
Redirects-
A great article about the 301 redirect from seobuzzbox:
Understanding the 301 redirect
Descriptive article from bruceclay:
How to properly implement a 301 redirect
If you are familiar with your .htaccess file, here is quick guide to creating a 301 redirect:
.htaccess-
If you are trying to learn about .htaccess file, here is the official source