What Is Cloaking – Black Hat SEO Techniques

Cloaking is a black hat SEO technique used to present different content to search engines and different to the users. Its a deceptive method used to cheat search engines in order to rank well for desired keywords.

Cloaking is done by showing content based on the request IP address or the User-Agent HTTP header of the user. A user identified as search engine is shown a specifically prepared and optimized website with only purpose to rank well for desired keywords. If a user is not a search engine they are presented with the “real” websites content.

Cloaking is also used to trick users to visit certain websites based on their description in search engines. For example a user searching for some product may click on a website in search engine based on its description and title but the final website will not be the one described in SERP’s. It will be a totally different one. In many cases its used to hide pornographic content of a website and drive traffic to it.

For this reason search engines consider cloaking as spam and that kind of behavior is against their guidelines. Google webmaster guidelines about cloaking:

Google’s aim is to give our users the most valuable and relevant search results. Therefore, we frown on practices that are designed to manipulate search engines and deceive users by directing them to sites other than the ones they selected, and that provide content solely for the benefit of search engines. Google may take action on doorway sites and other sites making use of these deceptive practice, including removing these sites from the Google index.

Cloaking methods:

  • IP address cloaking
  • User-Agent cloaking
  • HTTP_REFERER header cloaking
  • HTTP Accept-Language header cloaking
  • JavaScript cloaking

IP address cloaking – a method based on determining IP addresses and delivering different results based on that. Search engines with certain IP addresses will be shown a one version of a web page and all other IP addresses will be shown another version.

User-Agent cloaking – delivering different versions of a website based on User-Agent. If a script determines that a search engine is trying to gain access to a website based on its User-Agent signature it will show it cloaked version of a website.

HTTP_REFERER header cloaking – if a user is coming from a certain website (for example from a Yahoo! web directory) they will be presented a cloaked version of a website based on the HTTP_REFERER header.

HTTP Accept-Language header cloaking – enables to show different versions of a website based on a users web browser language. It is used to present various language versions of a website without asking users for their language.

JavaScript cloaking – users with enabled JavaScrpt are shown one version while users with JavaScript turned off (like search engines) are shown another version of a website.

Any type of cloaking with deceptive intentions is bad and may result in banning from search engines, so be careful when using it.

More about cloaking at Google help center.