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.
Índice de contenidos
Código original (un email en cada visita)
<?php if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Googlebot' ) !== false ) { // Tu direccion de email $email_address = '[email protected]'; // 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:
- 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
<?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 = '[email protected]'; //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.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Yo para esto uso Crawl rate tracker, la verdad es muy piola… Les dejo el link: .
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?
Pingback: dmoz mafia « dmozmafia.com
Hola Fernando
He implementado el código básico y después de varios días enloquecedores de correos y correos cada minuto, hemos eliminado el código del footer.php para dejar de recibir tantos correos, sin embargo, los correos siguen llegando.
Cómo desactivo definitivamente esta función. Gracias