Monitorando ações dos Robots com PHP

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 !!!

Receba Novidades

Insira seu email para receber novidades e dicas exclusivas da Agência Mestre!
Divulgue este artigo

29 Comentários para “Monitorando ações dos Robots com PHP”

  1. Regis

    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.

    Responder
  2. Fabio

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

    Parabens!

    Responder
  3. jeferson

    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.

    Responder
  4. Marcelo Vieira

    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.

    Responder
  5. Marcelo Sabadini

    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).

    Responder
  6. Caio Tozzini

    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.

    Responder
  7. Caio Tozzini

    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!

    Responder
  8. Caio Tozzini

    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

    Responder
  9. Humberto

    Wow cara!!

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

    Yessss!

    Responder
  10. Marcia

    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.

    Responder
  11. Caio

    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

    Responder
  12. alantavares

    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

    Responder

Deixar um comentário

  • (não será publicado)

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>