Cloaking: Aplicação, Scripts, Blackhat SEO e Questões Éticas

Olá leitores da Agência Mestre!

A técnica de Cloaking consiste em entregar conteúdos diferentes adequados para cada tipo de visitante do site, como o robot e um usuário qualquer. Porém, muito se fala sobre esta técnica sem explicar como aplicá-la.

O objetivo deste artigo é mostrar uma forma simples de como implementar esta técnica e demonstrar onde ela pode ser usada. Mas antes, deixo bem claro que esta técnica tem fundamentos acadêmicos. Não nos responsabilizamos pelo uso da mesma.

Vale lembrar que a técnica de cloaking fere as Guidelines dos Google, portanto sendo passível de punição o site que a utiliza, podendo estragar toda a sua estratégia de otimização do sites.

Cloaking por User-Agent

Técnica de mostrar para o usuário um conteúdo diferente daquele mostrado para o search engine. Essa técnica é implementada através de IP delivery.

Geo-Targeting

É similar ao cloaking, porém, essa técnica exibe conteúdos diferentes de acordo com o local do planeta que o usuário está acessando a internet. Dessa maneira, os search engines são tratados da mesma forma que os usuários. Também é implementada utilizando IP delivery.

IP delivery

Se quem está acessando for um usuário ou um robô, ele vai ter um IP de qualquer forma. A técnica cloaking foi pensada basendo-se nesse princípio. Ou seja, os IPs dos robôs são guardados num banco de dados, para que posteriormente, seja exibido um conteúdo diferente a eles. No caso do script para geo-targeting, ele funciona mais ou menos da forma, porém ao invés de guardar um IP específico, ele guarda faixas de IPs (dos diferentes países). Dependendo do método de detecção, você pode aplicar o cloaking usando duas técnicas: detectando o user agent ou detectando o endereço IP do robot. Agora irei explicar resumidamente o script para execução do cloaking utilizando os métodos acima citados:

Detectando o user agent:

O código em PHP checa a variável HTTP_USER_AGENT, que é passada pelo servidor web. Se o user agent for um robot conhecido, o código mostra o conteúdo a ser indexado. Caso contrário, o código imprime o conteúdo para usuários normais.

Detectando o endereço IP do robot

O código em PHP checa a variável HTTP_REMOTE_ADDR, que é passada pelo servidor web. Se o endereço IP for de algum robot conhecido, o código mostra o conteúdo a ser indexado. Caso contrário, o código imprime o conteúdo para usuários normais. O script em PHP abaixo faz uso das duas técnicas.

<?php 
//Lista de Robots
$robot_user_agents = array('Googlebot/2.X (+http://www.googlebot.com/bot.html)', 'Slurp/2.0', 'MSNBOT/0.1 (http://search.msn.com/msnbot.htm)'); 
//Lista de IPs que terão conteúdo diferenciado 
$robot_ip_addresses = array('209.85.238.11', '141.185.209', '169.207.238'); 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
$ip_address = $_SERVER['HTTP_REMOTE_ADDR']; 
if (in_array($user_agent, $robot_user_agents) or in_array($ip_address, $robot_ip_addresses)) { ?> 
<p>Conteúdo para IPs ou Robots Armazenados nos Arrays</p> 
<? } else{ ?> 
<p>Conteúdo para um usuário qualquer</p> 
<? } ?>

Cloaking via .htaccess

É possivel também fazer cloaking via .htaccess. Se alguém pegar conteúdo do seu site e fizer referência direta, existe uma maneira de enviar um conteúdo exclusivo para quando for aparecer em um determinado domínio. Exemplo: Se um site www.sitedequemcopia.com imprimir direto uma página html minha, posso enviar o conteúdo da página conteudo_ruim.php para ser exibida naquele domínio. Veja a implementação:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?sitedequemchupinha\.com/ [NC]
RewriteRule .*\.(php|html|html)$ /conteudo_ruim.php [L]

A velha história do NY Times

Um exemplo clássico de cloaking é a no NY Times. O jornal cobra para exibir um conteúdo X, e portanto, precisa-se de um login para acessar essa área restrita a humanos.

Fazendo uso de cloaking, eles pegam o IP dos search engines e liberam o acesso a eles para que possam indexar e rankear adequadamente o conteúdo. Ou seja, nesse caso o cloaking pode não ser ou pelo menos não parecer um blackhat. A técnica faz uso de IP delivery, não levando em conta o user-agent. Sendo assim, não é possível acessar o conteúdo mudando o user-agent no navegador.

O Matt Cutts sugere que o Google e outros search engines só podem varrer as partes que não são restritas dos sites. Por isso, essas sessões devem ter conteúdo novo e atualizado sempre. Segundo Danny Sullivan editor do SearchEngineWatch, o New York Times mostrou ao Google que é possível fazer uso de cloaking sem objetivar spam ou qualquer outra técnica ilegal. E mais que isso, afirma que as guidelines do Google estão ultrapassadas.

Depois do caso do New York Times a idéia de Cloaking sem spam vem sendo muito mais aceita. Mas de qualquer modo, ela deve ser evitada, tendo em vista que nem todos ainda são tolerantes a isso.

Em que situações devo usar o Cloaking?

O artigo de Hamlet Batista cita algumas razões pelo qual poderíamos utilizar esta técnica:

Gerenciadores de conteúdo não amigáveis aos search engines: de acordo com o Google, se os está utilizando um gerenciador de conteúdo de código fechado que não permite a flexibilidade de fazer URLs amigáveis, ou se possui session IDs baseados em cookies, você precisa trocar o seu gerenciador para um melhor. Usar um proxy reverso que realiza o cloaking para consertar estes problemas é uma “má idéia”.

Sites multimídia: se você possui várias mídias no seu site que são problemáticos para serem indexados(SWf, midi, JPG), seria interessante entregar os textos dos conteúdos relacionados que não podem ser facilmente encontrados pelos search engines somente para os crawlers, e entregar o conteúdo multimídia para o usuário.

Conteúdos acessíveis por Javascript/AJAX: a mesma idéia de sites multimídia. É interessante que o crawler possa enxergar o conteúdo que é inacessível para ele pois é inviável para ele testar os eventos que gerariam o acesso aos textos.

Conteúdos que dependem do preenchimento de formulário

Indexação de conteúdo pago: ocorre geralmente em fóruns de ajuda. O site entrega somente a pergunta para o usuário e entraria pergunta e resposta para o crawler indexar.

Geolocation/IP delivery: Se sua empresa desenvolve um site de uma multinacional, é mais do que comum que haja versões do conteúdo em diversas línguas. Entregar o conteúdo em português para um crawler vindo do Brasil faz muito mais sentido do que entregar o conteúdo em inglês para o mesmo.

Maneiras de executar essa técnica camufladamente

Seria mais do que normal que os bots mudem temporariamente de IP, estragando completamente a técnica de cloaking por IP delivery. Algo interessante a ser implementado seria pegar o domínio por reverse DNS, fazendo um reverse-lookup em tempo real no dono do endereço IP, tornando a técnica mais efetiva. Abaixo mostro a implementação desta técnica:

 <? 
/*O Parâmetro $ip é o IP do visitante. 
Passe a variável $_SERVER['HTTP_REMOTE_ADDR'] e cheque se 
o host é conhecido verifique padrões*/
 function gethostbyaddrl($ip) { 
$rrs=dns_get_record(implode('.',array_reverse(explode('.', $ip))).'.in-addr.arpa.',DNS_PTR); 
$revnames=array(); 
foreach($rrs as $rr) 
$revnames[]=$rr['target']; 
return (count($revnames)) ? $revnames : FALSE; } ?>

Técnicas de Blackhat Utilizando o Cloaking

Fake Link Exchange: Neste artigo, o autor exibe uma técnica interessante que fala sobre uma história de um processo de troca de links um pouco suspeita.

Em resumo o processo acontecia da seguinte forma:

  • O “hacker” enviava um email dizendo que colocou um link para o seu site;
  • Ao entrar no site do “hacker” o seu links “aparecia” lá;
  • Em seguida ele pedia, se possível, para você retribuir a gentileza;
  • Alguns bons samaritanos, poderiam linkar de volta.

O problema todo é que na real o seu link não existia, pois o hacker gravava o seu IP ao acessar o site pela primeira vez e sempre que você (com o seu IP) entrasse no website, ele mostrava o link, caso contrário não. Este é um tipo de troca de links falso, pois não seria mostrado o link para o crawler ou outros usuários.

Proteção de Conteúdo: Esta não é bem uma técnica de Blackhat, mas sim um modo de proteger o seu conteúdo/estratégias do site. Sabe quando você nota pessoas má intencionadas sempre copiam seu conteúdo, onde geralmente isto é feito por scripts, você pode pegar o IP dele e entregue um conteúdo diferente do original, mas pode até ser um conteúdo de baixa qualidade ou ainda um resumo do conteúdo original.

Redirect pro seu site: Como noticiado pelo Paulo Teixeira, um hacker invadiu um blog e modificou o seu .htaccess, fazendo com que este da página fizesse um redirect 301 para a página do hacker quando acessada por bots (incluindo o do Google), mas quando acessada por outro user-agent, o site era exibido normalmente. Assim todo o juice e PageRank do domínio seria transferido para a página do hacker.

Conclusão e Discussão Final

Pra finalizar, deixo a seguinte pergunta para ser discutida: Você considera Geo-Targeting (entrega de conteúdos diferentes para usuários em locais diferentes do mundo) uma técnica de cloaking?

Se sim, você também a considera uma técnica de Black Hat SEO?

No exemplo de uma Multinacional, seria extremamente conveniente colocar MESMO conteúdo em 100 línguas em diferentes subdomínios, linkando pra página principal do site? Envie sua opinião!

Aguardo ansiosamente por suas dúvidas, críticas e sugestões e experiências. Grande abraço!

Receba Novidades

Insira seu email para receber novidades e dicas exclusivas da Agência Mestre!
Divulgue este artigo
  • E se eu fizesse cloaking para um site em Flash? Por exemplo faria um conteúdo em HTML apenas para ser indexado no google fazendo referência a uma determinada parte do flash utilizando flashvars será que é possível ser liberado pelo google?

  • Heron,
    Nunca tinha escutado este assunto de forma tão clara. Muito bom.
    Em relação ao Geo-Targeting, na minha opinião, é o único ítem acima citado que não faz parte de cloaking. Isso é apenas uma configuração de personalização do site para o usuário. Entraria na categoria de usabilidade.

    Abraços

  • Achei bem interessantes essa tecnica, em alguns casos seria super interessante ultiliza-las, mas dai vem a pergunta, O Google e outos buscadores conseguem distinguir a forma que foi aplicada para punir ou não o site?

    Acho que essa resposta diz se devemos usar ou não essa tecnica.

    Obrigado Galera e até +.

  • Parabéns pelo post Heron,

    Muito detalhado e tira qualquer dúvida a respeito do assunto!
    Fala sobre tudo e ainda ensina a fazer! =)

    Não acredito, como diz o Danny Sullivan, que as guidelines do Google estão ultrapassadas. Apenas acho que é muito difícil agradar gregos e troianos, mas talvez alguma atualização nos guidelines venha a ser necessária, para explicar melhor alguns pontos.

    Abraços

  • Bruno,
    Veja esta materia(em inglês) sobre o Google indexando conteúdo Flash.
    http://tinyurl.com/6bz7xz

  • Willie

    Excelente post! abraços,

  • Heron

    Bruno Gama, como o Daniel já exemplificou, seria melhor que voçê trabalhasse mais na parte de indexação dentro do flash, pois uma vez escrito nas guidelines que cloaking não é recomendado, então é melhor evitá-lo mesmo para nao ter surpresas. abraços!

  • Heron,

    Excelente artigo! Parabéns.

    Só sobre a questão de geo-targeting: O termo cloaking, na definição “black hat”, é entregar aos buscadores um conteúdo diferente do conteúdo entregue aos usuários. Não acho que geo-targeting se encaixe nessa definição. Então não é uma técnica de cloaking. Aliás, nunca ouvi falar de nenhu site punido por fazer geo-targeting. Alguém já viu algum caso?

  • @Daniel Palmério @Rafael Damasceno Ola amigos. Obrigado pelos elogios e comentários. Eu vejo em várias literaturas definições de cloaking como as que o Rafael citou, mas vejo muitas também que fala que cloaking é o fato de entregar conteúdos diferentes para um determinado visitante, o qual faria faria do geo targeting um tipo de cloaking. Outro fator, posso executar o cloaking para robots por IP Delivery, mas e se eu por o IP de um usuário em específico? Por que deixaria de ser cloaking? Só por não ser robot? Qual a sua opinião sobre isso?

  • Bom Heron, “cloaking” realmente pode ser tudo isso que você citou. Mas, como técnica de Black Hat SEO, sujeito a punição dos buscadores, acho que “cloaking” é só quando você entrega conteúdo diferente para o robot mesmo.
    Com certeza dá pra fazer outras coisas maliciosas com cloaking. Mas aí já fora do contexto de black hat SEO.

    Abraços,
    Rafael

  • Olá parabéns, vejo bastante isso em nos fóruns de discussão e tal, aonde liberam para os bots.

    Bom é isso =)

    abraços

  • @Murilo Sempre tem, e antes tinha como acessar pelo cache do google. Mas agora esses sites tao mais espertinhos e bloqueando isso =(

  • @Willie Valeu pela visita Willie. Grande abraço!

  • @João Netto Tem como identificar sim. Um algoritmo simples consegue fazer isso. mas nao sei o quão aplicado isso é pelo google. Você já chegou a ter problemas com isso?Ou está na tentação pra fazer isso?

  • @Heron a técnica é tentadora né, da pra melhorar muito o conteudo do site relacionado a qual cliente ou região vai acessar o site, mas como pode ser passiva de block pelo google agente fica com medo de aplicar e prejudir todo um trabalho de SEO e de divulgação. Nunca utilizamos essa técnica em nenhum projeto que produzimos, mas que dá vontade dá :), se alguem ai já utilizo ou utiliza podia nos dizer se realmente vale apena.

    Obrigado t+ gente.

  • Coisa muito louca !!!!
    Hoje estive analisando o cache do google de um site que crie e em umas 8 páginas ao clicar no cache apareceu a seguinte mensagem:

    =======================
    Aviso- suspeita de phishing (falsificação na web)
    O site que você tentando visitar foi identificado como fraudulento. Ou seja, tem o intuito de levar você a revelar informações financeiras, pessoais ou confidenciais.
    Sugestões:

    * volte para a página anterior e selecione outro resultado.
    * Tente pesquisar outros termos para encontrar o que você está procurando.
    Ou continue e acesse (site) por sua conta e risco.
    Se você acredita que este site não é um site de phishing, pode comunicar um aviso incorreto.
    =======================

    Eu mesmo criei o site e posso dizer que não tem nada disso, o site o simples e puramente white hat. Alguém sabe me dizer o porque que o Google pode classificar uma página assim?

  • Roberto

    Tenho medo de implementar o cloaking em meus sites (que são em flash) pois já vi gente comentar que foi punida. Vocês tem algo concreto com relação à isso?

  • Excelente artigo, tá no delicious. (vindo da flash brasil)
    Bom, estou iniciando em SEO ainda, mas se o google não considerar black o uso de cloaking para conteúdo em flash, podemos mostrar um conteúdo html não só para o google, mas tb para aplicativos móveis e/ou leitores, dessa forma aumentaríamos não só a resposta do site a pesquisas como sua acessibilidade, desviando usuários, robôs e aplicações para determinados conteúdos.
    Já que podemos selecionar user-agents e robôs, acho que seria interessante realizar experiências nesse sentido.
    Quem acredita nessa teoria?

  • PS: Se não “considerasse”.

  • Usem e sejam banidos pelo Google. As invaões estão cada vez mais frequentes, atraves do Cloaking, e o Google não está perdoando.

  • Se eu tenho uma area administrativa no site o google pode entender isso como cloaking?
    Digo pq, pela minha pesquise meu site esta com rank 0 ahhahahah

  • E o caso da store.nike.com?
    Eles tem o site inteiro com flash mas estão indexados no google!
    Coloque about:config no seu firefox
    Na busca coloque general.useragent.extra.firefox
    e onde aparecer firefox 3.0.10 (ou a versão do seu firefox) coloque Googlebot
    Acesse store.nike.com.br
    perceba que é ainda um site em flash mas aperte ctrl + U e verá que tem uma lista com os links para todas as linguagens.
    Acesse uma das linguas.
    Verá que terá o resultado que o google vê quando acessa a pagina de nike store.
    Eles não foram banidos e tem de acordo com a pesquisa no google (site:store.nike.com: “Resultados 1 – 100 de aproximadamente 119.000 de store.nike.com. (0,36 segundos) ) ” 119 mil resultados!
    Como pode explicar o site da nikestore não ser banido? E não é um conteudo alternativo e sim um mar de links voltados exclusivamente para o google.
    Deixo aqui a minha indagação.

  • Fica também o desafio para o Thalis Valle responder.

  • Regis, o site como um todo não foi banido, mas a busca de cache não retorna resultado para a página inicial. E a busca site:store.nike.com retorna a página inicial sem informação (title, snippet ou URL).

    A busca nikestore retorna o site na 3ª posição, sem cache (clique no link “em cache”, nenhum resultado é retornado).

    A busca nike store retorna o site com título diferente do título da página, sem snippet, mas com sitelinks e sem cache novamente.

    Dá pra observar uma mistura de comportamento de todos os fatores que o Google analisa em um site.

    Valeu pelo comment!

  • Não entendi.

  • Parabens pelo artigo,

    Seria possivel uma pessoa trocar a posição do meu site nas buscas do google e aparecer o site dessa pessoa no lugar do meu?

    Porque aconteceu isso comigo, eu estava entre os 10 primeiros na busca na palavra : lotofacil e derrepente aparece um outro site na minha colocação e justo o site de uma cara que havia discutido comigo uma semana atrás..

    Como isso pode acontecer ?

    E se aconteceu o que fazer?

    abraço

  • Parabéns pelo artigo.

    Quanto ao Claudinei, o seu site foi ultrapassado, possivelmente o seu concorrente obteve mais conteudo.
    Outro caso seria a inclusão, diária de milhares de novos sites.
    Portanto, nossa posição, sempre estará ameaçada…

  • Muito interessante o artigo,

    show de bola!

  • Muito bom o site de vocês! Em menos de 2 meses de site! já tenho algumas paginas na primeira pagina das pesquisas! abraços! E continuem com otimo conteudo!

  • Fiquei admirado com algumas pesquisas no google que mostraram vocês em 4, 5 ou 6 primeira posições, praticamente fechando a janela.

    Tenho um fórum em phpbb e tivemos um problema com o useragent do google. O acesso de BOT é facilitado para evitar conteúdo duplicado, mas houve vários erros e o google indexou quase 50.000 urls de um site que possui apenas 500 urls válidas para indexação.

    Depois de muito suar a camisa estamos com quase 2000 urls, havendo até 10 duplicidades.

    Um dos problemas é que temos o domínio principal e adquirimos outros 2 apenas para desambiguação, mas o responsável esqueceu de fazer redir 301 e todos funcionavam, tanto com www quanto sem.

    Moral da história: retirei a desambiguação do google pois o crawler queria 301 1 por 1 e não tinha como. Coloquei noindex e mexi no robots.txt como devia e, hoje, criei um jeito de dar alguns 301 a mais. Coloquei rel canonical em um monte de lugares, mas é IMPOSSÍVEL linkar consistentemente.

    O que me resta fazer, além de esperar as 2000urls se transformarem em 400 ou 500 de verdade? Um sitemap.xml???

    abc!

  • excelente artigo! muito obrigado