Entre Blogs Portal

Curioso este truco creado por Protycoon y que he conocido por Lee mi Blog, aunque luego (a mi modo de ver) mejoró HackingBallz mediante el cual puedes recibir un email cuando cualquier bot visite tu blog.

¿Utilidad de este truco?, pues puede ser interesante en los inicios de un blog, para saber si Google te está indexando con la frecuencia necesaria, por ejemplo.

La idea es insertar el siguiente código en el fichero footer.php de tu plantilla activa para recibas un email diario que te avise de que una araña (o bot) de Google ha visitado tu blog. La idea original era recibir un email por cada visita pero igual eso es demasiado, de ahí que me parezca mas sensato el código retocado por HackingBallz. No obstante te pongo los dos para que tu decidas.

Código original (un email en cada visita)

<?php
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Googlebot' ) !== false )
{
// Tu direccion de email
$email_address = 'tu@tudominio.com';

// Enviate a ti mismo un email
mail($email_address,'Alerta de Googlebot', 'El Bot de Google ha visitado tu blog: '.$_SERVER['REQUEST_URI']);
}
?>

Lo primero que hace el script es comprobar que el 'agente' (user agent) sea 'Googlebot'. Y si lo es, entonces te envía un email a la dirección que hayas definido.

Código mejorado (un email diario)

Este código, al que han llamado botspy añade algunas mejoras:

  1. Ofrece una alternativa, en versión demo, para registrar una entrada en el log, y de esta forma asegurarnos que todo quedo bien instalado.
  2. Utiliza un directorio de trabajo, basado en archivos de texto, por lo que no necesita ninguna base de datos.
  3. No solo permitir incluir a GoogleBot, sino a cualquier cantidad más de spiders, entre los cuales incluimos a Microsoft y a Yahoo, y otros tantos más.
  4. Busca coincidencias en las “user-agents”, para determinar si el robot es quien queremos, sin limitarnos a una coincidencia exacta.
  5. En cada visita de algún robot, genera una entrada en el log de texto, para posteriormente tramitar el envió del historial, el día siguiente.
  6. Cuando existe un reporte previo, realiza el envió correspondiente, y elimina el log del día anterior
<?php

/*
*
* Recibe un email al día, informándote cuando un motor de búsqueda visito tu sitio web.
* Hacking Ball Z
* http://www.hackingballz.com/articulos/40/1/Espia-los-ingresos-de-motores-de-busqueda-a-tu-sitio/Page1.html
*/

//Opción demo
if($_GET['demo'] == 1){
   
    $_SERVER['HTTP_USER_AGENT'] = 'demo-googlebot';
   
}

//Correo electrónico
$abdy = 'tu@correo.com';

//Directorio de trabajo
$botspy = '/path/completo/demo_robots_spider/botspy'; # CHMOD 777 a todos los archivos.

// Bots "reconociodos"
$bots   = array('googlebot','msnbot','yahoo','teoma','gigabot','robozilla','nutch','ia_archiver','baiduspider');

/*
      Google            googlebot
      MSN Search        msnbot
      Yahoo             yahoo
      Ask/Teoma         teoma
      GigaBlast         gigabot
      DMOZ Checker      robozilla
      Nutch             nutch
      Alexa/Wayback     ia_archiver
      Baidu             baiduspider
*/

// Definimos HOY
$hoy = date('d-m-Y');

// Procesamos el USER_AGENT para verificar si es un bot reconocido.
while (list($key, $val) = each($bots)) {
   
   if ( stripos( $_SERVER['HTTP_USER_AGENT'], $val ) !== false ){
   
        $found_bot = true;
        break;
   
   }
   
}

// Si es un Bot reconocido, proseguimos.

if($found_bot){

    //Escribimos en el log los detalles
    $cadena = $_SERVER['HTTP_USER_AGENT']. ' || '. $_SERVER['REMOTE_ADDR'] .' || '. date('h:i:s A') . "\r\n";
    file_put_contents($botspy.'/'.$hoy.'.log',$cadena,FILE_APPEND);
   
}

// Enviamos un mensaje al día con el Blog del día anterior

if(!file_exists($botspy.'/'.$hoy.'.mail.log')){
   
if ($gestor = opendir($botspy)) {
    while (false !== ($archivo = readdir($gestor))) {
        if ($archivo != "." && $archivo != ".." && $archivo != $hoy.'.log') {   

            $log = fopen ($botspy.'/'.$archivo, "r");
            while (!feof ($log)) {
            //si extraigo una línea del archivo y no es false
            if ($contenido .= fgets($log)){
            //acumulo una en la variable número de líneas
            $num_lineas++;
         
         }
         }
         fclose($log);
           

            unlink($botspy.'/'.$archivo);
        }
    }
    closedir($gestor);
}

$mensaje = ("

FECHA ACTUAL: $hoy

REPORTE DEL DÍA DE AYER
===============================

Total de visitas de bots reconocidos: $num_lineas

LOG
===============================
$contenido

Un hacking saludo...

HACKING BALL Z
http://www.hackingballz.com
");

if(trim($num_lineas)!=''){

    mail($abdy,'Informe de visitas de los robots ayer.',$mensaje);

}

file_put_contents($botspy.'/'.$hoy.'.mail.log','');

}

?>

Como ves es bastante mas completo pero igual con el otro te apañas o te da ideas para algún desarrollo propio.

Comparte este post:
  • TwitThis
  • Facebook
  • Digg
  • del.icio.us
  • Google
  • Live
  • Meneame
  • StumbleUpon
  • Technorati
  • Tumblr
  • Wikio
  • Envía este post por E-mail a un amigo
  • Imprime este artículo

También te puede interesar:

    3 comentarios en “Avisos por email cuando te visiten los Buscadores”

  1. Yo para esto uso Crawl rate tracker, la verdad es muy piola… Les dejo el link: http://www.blogstorm.co.uk/wordpress-crawl-rate-tracker/444/

    Suerte =)

  2. JuanK (21 comentarios) dijo:

    Muy interesante :B
    Lo pondré en mi blog, ya que en realidad no se si google me visita, ya que se demora mucho en indexar los posts nuevos D:

    Nos vemos ^^

  3. DmM (1 comentarios) dijo:

    como se instala esto?

Escribe un Comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Subir

Anúnciese aquí
Un blog de ayuda a bloggers y webmasters
Participa en el Debate
  • Fernando Tellado: ¿Os gusta mas el color de los comentarios alternos actual?
  • Fernando Tellado: Buen apunte, gracias por compartirlo ;)
  • Fernando Tellado: Si, pero en las versiones nuevas (alpha 5 y superiores cuando salgan) ahora hay...
  • rormi: esto funciona con versiones nuevas como alpha-5 y o 6?
  • Carlos Guadián: Gracias por el código. Pero tenía el mismo problema que han planteado otros...
Noticias Breves
  • Si quieres instalar WordPress Mu (multiusuario) puedes seguir esta guia paso a paso, la cual explica facilmente desde como configurar tu servidor, como instalarlo, permisos que dar, etc.

    [#1]

  • La versión 2.8 de WordPress ya se esta comenzando a preparar, y revisando en el Trac de WordPress, me he topado con 2 tickets que me han causado cuidado: (#8652) Instalación de themes similar a la instalación de plugins introducida en la versión 2.7 y (#8678) Eliminación de themes vía web (similar a la eliminación de plugins).

    [#2]

  • KnxDT detalla con profusión de imágenes todo el proceso para subir un plugin a WordPress.org, contado desde su propia experiencia.

    [#4]

  • Usuarios Registrados
  • Acceder

  • Translate this Blog
    Descargas WordPress

    ¡Wordpress ha sido descargado 986,339 veces!