terça-feira, 31 de março de 2009

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



 
 

Enviado para você por Penha através do Google Reader:

 
 

via Mestre SEO de Heron Inouye em 26/03/09

Olá leitores da MestreSEO!

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?

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!

Fórum de SEO - Visite! Artigo produzido por Mestre SEO - Otimização de Sites. Aproveite que você assina o nosso Feed e acompanhe-nos no Twitter ou participe da nossa comunidade no OrkutNosso Twitter

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


 
 

Coisas que você pode fazer a partir daqui:

 
 
TwitThis
Share |

0 comentários:

;

Pesquisa na WEB

assine o feed

siga no Twitter

Postagens

acompanhe

Comentários

comente também