Monitorando ações dos Robots com PHP

AutorPublicado por caiotozzini em 11 de dezembro 2008

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

Divulgue este artigo!




Autor caiotozzini



29 Respostas à este post


Deixe um ComentárioDeixe um Comentário

(obrigatório)

(não será publicado)(obrigatório)


Nota: A moderação de comentários pode estar ativa, então não há necessidade de re-enviar o seu comentário.