Monitorando ações dos Robots com PHP

Por caiotozzini


As empresas estão cada vez mais olhando para Internet, aquilo que antes representava apenas inserir banners em grandes portais tem se ramificado para frentes muito mais complexas e diria muitas vezes mais eficazes do que as tradicionais mídias gráficas. Dentro disso podemos falar de Links Patrocinados, Social Media e claro SEO.

Quando se trabalha com consultoria em SEO a principal barreira nas empresas é o fato do serviço ser pouco tangível em curto prazo. As empresas com seus orçamentos apertados cobram um posicionamento e retorno em visitas em um prazo que na maioria das vezes é praticamente impossível de se fazer um bom trabalho e esta falta de percepção por parte dos gestores podem representar em horas de reclamações e dor de cabeça para consultoria.

Hoje vou apresentar uma forma interessante e simples de diminuir este problema, uma forma de monitorar as ações dos robots e assim apresentar ao cliente de uma forma mais exata, tangível e em curto prazo os primeiros resultados das ações utilizando uma variável global do PHP chamada $_SERVER[‘HTTP_USER_AGENT’].

Esta função serve para você detectar qual o navegador e sistema operacional que o usuário está utilizando e no caso dos buscadores eles utilizam formatos bem específicos que nos permite identificá-los com esta simples função.

Os três principais buscadores, por exemplo, utilizam:

Google:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Yahoo:
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

MSN:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; MSN Optimized;BR; MSN Optimized;BR)

Montando o Script:

Abaixo vai um exemplo de como montar o script na prática. Naturalmente pode ser alterado devido a necessidade de cada caso mas este é o básico para se ter informações relevantes de como os Robots estão trabalhando.

Este código pode ser colocado através de uma include em todas as páginas do site:

<?

$robot = array();

if(eregi(“google”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “Google”;
};

if(eregi(“slurp”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “Yahoo”;
};

if(eregi(“msn”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “MSN”;
};

if(eregi(“ask”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “ASK”;
};

if(eregi(“alexa”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “Alexa”;
};

if(eregi(“UOL”,$_SERVER[‘HTTP_USER_AGENT’]))
{
$robot[‘buscador’] = “UOL”;
};

if(isset($robot[‘buscador’])) {

$robot[‘dominio’]    = $_SERVER[‘HTTP_HOST’];
$robot[‘pagina’]     = $_SERVER[‘REQUEST_URI’];
$robot[‘referencia’] = $_SERVER[‘HTTP_REFERER’];
$robot[‘agent’]      = $_SERVER[‘HTTP_USER_AGENT’];
$robot[‘ip’]         = getenv(“REMOTE_ADDR”);

$robot[‘grava’] = “INSERT INTO `robots` (`data`, `buscador`, `agent`, `ip`, `dominio`, `pagina`, `referencia`) VALUES (now(), ‘$robot[buscador]’, ‘$robot[agent]’, ‘$robot[ip]’, ‘$robot[dominio]’, ‘$robot[pagina]’, ‘$robot[referencia]’)”;
$robot[‘grava’] = @mysql_query($robot[‘grava’],$variavel_de_conexao);
};

?>

Desmembrando o código:

Antes de mais nada pegamos neste site o “user-agent” usado pelos principais buscadores do Brasil, após isso fizemos vários laços de “IF” para localizar na variável global que recebe esta informação, de qual mecanismo se refere a visita, caso ele localize se é de um deles, é atribuído um nome mais “legível”.

Em seguida, caso ele detecte algum mecanismo nós buscamos outras informações que consideramos importante como:

  • Qual domínio ele está acessando ?
  • Qual página do site ele está acessando ?
  • Através de qual página ele localizou seu site (link building) ?

Após isso gravamos estas informações em um banco de dados MySQL que será utilizado para você criar relatórios de indexação do site, gráficos ou o que mais a criatividade permitir.

Que tal criar uma área com senha para seu cliente saber em tempo real quais robots estão indexando o site dele, qual página e através de qual link ?

Bom pessoal, fica aí a dica ! Espero que tenham gostado e VOTEM !!!

LEIA MAIS
O que é SEO? Como Fazer Seu Site Crescer no Google!

O que é SEO? Como Fazer Seu Site Crescer no Google!

Quer entender o que é SEO? Aprender como esta técnica pode ajudar o seu negócio/website a crescer o número de visitas? Criamos este guia para ajudar você hoje mesmo! CLIQUE e confira os detalhes neste artigo!

Como Fazer o Google Encontrar o Seu Site?

Como Fazer o Google Encontrar o Seu Site?

O objetivo do Google é mesmo encontrar todo o conteúdo disponível na Internet, mas você precisa dar uma ajudinha. Veja como!

Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails

Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails

Você quer saber como configurar o redirecionamento 301 no seu site? Veja como e mantenha sua relevância no Google!

Comentários
  1. post interessante hein ! abs…

  2. Curti Parabéns!

  3. Ótimo post… PARABÉNS!!!

  4. Belo post amigo…

    …de nada!

  5. Recurso que tornem os investimentos em internet mais tangivel é de grande importacia.
    Hoje em algumas empresas a visão a investimentos em internet tem sempre um pé atraz.
    Retorno em internet é significativo em varios segmentos.
    Poder mensurar isso é otimo.
    Parabéns pelo artigo.

  6. Muito bom o post, meu ajudou bastante em algumas duvidas que eu tinha!!!

    Parabens!

  7. Muito bom artigo.

    Obrigado!

  8. Bacana …..

    e interessante ….

    parabéns ….

  9. Boa dica amigo recomendarei

  10. olá, não o conheço, mas pelo artigo vejo que você é um profissional muito bem qualificado, parabéns! Continue desenvolvendo soluções para as empresas que necessitem dessa tecnologia.

  11. Parabéns ! !
    Ótimo artigo.
    Já está sendo útil.

  12. ótimo artigo!
    me solucionou várias duvidas!

  13. Muito bom, parabéns pelo artigo.

  14. Ótimo artigo, estou com várias idéias =D

  15. interessantissimo, parabens kra!

  16. Se eu estiver usando a extensão User Agent Switcher, com o user agent do Googlebot, seu script irá me identificar como um robot e não como um usuário normal.

  17. Muito legal esse post kra.

    Eu só mexeria nos ifs. Trocaria por switch e colocaria um valor como default guardando a string toda caso ele não ache o navegador(para poder ver e inserir no switch posteriormente).

  18. Olá Marcelo Vieira,

    Com certeza … Se você estiver usando este tipo de extensão ele vai te detectar como um Googlebot mas considerando que não ocorre com 99,9% dos usuários a fonte de informação continuaria sendo bem precisa.

  19. Ops, respondi no comentário errado, enfim … rs

    Oi Marcelo Sabatini, obrigado !

    Cara, quando fiz este script (faz um tempo) eu pensei em usar o Switch mas não usei por algum motivo que não lembro qual … hehe … mas vale a pena testar ! Fica mais limpo né ?

    abs!

  20. Oi Paiva,

    Este é o objetivo! Dar uma introdução para vcs usarem a criatividade e criar coisas novas ! Depois me manda um e-mail falando o que criou =D

  21. Wow cara!!

    De maiss!
    é de caras assim q estamos precisando hoje em dia!

    Yessss!

  22. nota 10
    abs

  23. Nossa, realmente muito util!!!
    Parabéns!

  24. você escolheu um tema realmente atual e interessante,

    parabéns caio

  25. Logo no início do artigo, é dito que seria apresentada uma forma interessante e simples de diminuir o problema em apresentar resultados mais tangíveis, mais exatos, em curto prazo para cliente. Como solução, foi dito que monitorar as ações do crawler, ou seja, saber quando o robozinho do google e de outros buscadores entram no site, quais paginas eles visitam e quanto tempo ficam ajudaria a diminuir esse problema.
    Por favor, me corrijam se eu estiver errado.
    Quando devo fazer isso? Antes ou depois de assinar o contrato com o cliente?
    Afinal se for antes, não tem muita força mostrar o comportamento do robot. Mostrar comportamento do crawler não justifica investimento. Acho que a melhor forma de vender SEO (qualquer serviço) é mostrar os resultados de outros trabalhos.
    Se for depois de assinar o contrato não adianta muito mostrar relatório de crawler tambem. Afinal o que interessa é o que foi negociado e escrito no contrato. Se você garantiu primeira pagina, primeiras posições, têm que cumprir.
    Ou seja, não minha opinião não tem valor essas informações para o cliente, mas tem muito valor para quem trabalha com SEO e estuda o comportamento do crawler.

  26. Olá Marcia,

    Este tipo de recurso realmente não tem necessidade antes do fechamento do contrato.

    A idéia deste tipo de relatório é justamente você conseguir mostrar para o cliente no CURTO PRAZO que os robots estão visitando o site dele (com informações precisas de data, hora, qual página de onde para onde) antes de ele conseguir ver os resultados FINAIS do projeto, como por exemplo o posicionamento e o incremento em visitas.

    Naturalmente que o que importa para o cliente é o resultado final mas por ser um projeto geralmente de longo prazo você ter posicionamentos e relatórios precisos deste “meio-tempo” é uma forma de tranquilizá-lo e mostrar que o processo está andando mesmo que ele não tenha ainda esta percepção final diretamente no buscador.

    Obrigado pelo seu comentário !

    Caio Tozzini

  27. Tem como usar isso em um html?
    nao sei como, podem me ajudar?

  28. Muito bom este post. Boa idéia. Isto com certeza ajuda muito os desenvolvedores que trabalham com SEO.

  29. Realmente muito interessante o post para quem quer conhecer a maneira como os bots rastreiam seu site.

    Técnicas como essa nos ajudam a encontrar problemas, mostrar resultados e acalmar clientes que, as vezes por não conhecer, acha que em pouco tempo seu site irá para primeiro nas buscas relevantes.

    O monitoramento no próprio site também simplifica, para o cliente, as ferramentas como o Google Analytics ou Site Explorer Yahoo! entre outros.
    Não que essas ferramentas sejam dispensaveis, muito pelo contrário, o Analytics por exemplo é o mais utilizado e sem dúvida o melhor do genero de monitoramento.

    Mas fica o meu coments sobre o post… Valeu

Deixe seu comentário abaixo