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)
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:
- Ofrece una alternativa, en versión demo, para registrar una entrada en el log, y de esta forma asegurarnos que todo quedo bien instalado.
- Utiliza un directorio de trabajo, basado en archivos de texto, por lo que no necesita ninguna base de datos.
- 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.
- Busca coincidencias en las “user-agents”, para determinar si el robot es quien queremos, sin limitarnos a una coincidencia exacta.
- 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.
- Cuando existe un reporte previo, realiza el envió correspondiente, y elimina el log del día anterior
/*
*
* 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.
























3 comentarios en “Avisos por email cuando te visiten los Buscadores”
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 =)
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 ^^
como se instala esto?
Escribe un Comentario
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]
Acceder
¡Wordpress ha sido descargado 986,339 veces!