Jul 162014
 
Artículo Administración de Servidores

El objetivo básico de casi cualquier sitio web es aumentar el volumen de visitas de usuarios, y casi siempre el mayor volumen de visitas procede de los principales motores de búsqueda internet, como Google o Bing.

Naturalmente, para que las páginas de nuestro sitio web aparezcan en las páginas de resultados de estos buscadores, deben haber sido añadidas previamente a sus índices. Para ello, los buscadores utilizan unas aplicaciones denominadas “bots”, “crawlers” o “spiders”, que navegan por los distintos sitios webs, leyendo el contenido de las páginas que encuentran en ellos.

Pero puede ocurrir que un sitio web reciba demasiados accesos de estos bots, hasta el punto de que su rendimiento se vea afectado, y se degrade su tiempo de respuesta.

En este artículo examinamos distintas alternativas existentes para limitar la frecuencia de rastreo de los principales bots internet.

1. Identificar los robots que acceden al sitio y evaluar la carga que generan.

La manera más directa de determinar la carga que suponen los accesos debidos a bots es analizar el contenido de los logs de acceso del sitio, y contabilizar el número de accesos en donde el “User Agent” contiene el string “bot”, “spider”, “crawler” o similar.

Realizando este análisis sobre un fichero de muestra correspondiente a un día completo de uno de los sitios web que administramos, hemos obtenido el siguiente resultado:

Como vemos, los volúmenes de acceso no son preocupantes en este caso. Dependiendo de la capacidad de nuestro servidor, y del tiempo deproceso que es necesario por término medio para generar una página, podemos aceptar un volumen total de accesos de bots más o menos grande.

De todos modos, estos accesos consumen también ancho de banda, y en general es interesante conocer las posibilidades que existen para limitar su frecuencia.

2. Prohibir el acceso a determinados robots mediante redirecciones

La medida más drástica que podemos tomar es prohibir completamente a determinados bots el acceso al sitio.

Esta restricción se puede implementar en los ficheros de configuración del servidor web, o en el fichero .htaccess del directorio raíz del sitio, mediante directrices de reescritura.

Ejemplo:

El resultado del análisis que hemos realizado a los ficheros de log de acceso del sitio web muestra que el bot identificado como “Baiduspider” genera un número considerable de accesos.

Pero Baidu es un motor de búsqueda chino similar a Google o Bing. Si el contenido de nuestro sitio web no está dirigido a los usuarios habituales de Baidu, podemos decidir impedir totalmente la indexación del sitio en este motor de búsqueda.

Para ello, añadimos las siguientes directrices al fichero .htaccess del directorio raíz del sitio:

El flag [NC] (No Case) en la condición de reescritura indica que las letras mayúsculas y minúsculas deben ser tratadas indistintamente, de modo que los User Agent que contengan los textos “baiduspider”, “Baiduspider”,”BaiduSpider”,etc. cumplan todos la condición para la reescritura.

El flag [F] en la regla de reescritura indica a Apache que debe devolver un código “403 Forbidden” para los accesos en los que el User Agent contiene el texto “baiduspider”.

3. Limitar la frecuencia de rastreo de Bing y otros rastreadores en el fichero robots.txt

El sitio web puede especificar en un fichero robots.txt situado en el directorio raíz del sitio una serie de directrices para permitir, impedir o limitar el acceso de los bots. En concreto, se puede solicitar a Bing que limite su frecuencia de rastreo añadiendo a dicho fichero la directriz:

En este ejemplo, estamos solicitando al bot de Bing que no realice más de un acceso cada diez segundos.

De hecho, podemos ampliar esta directriz para que se aplique a todos los bots que acceden al sitio:

Lamentablemente, muchos otros bots no reconocen la directriz “Crawl-delay” en el fichero robots.txt, por lo que hay que recurrir a otros medios para limitar los accesos.

4. Limitar la frecuencia de rastreo de Googlebot en Google Webmaster Tools

El bot de Google no reconoce la directriz “Crawl-delay” en el fichero robots.txt. En su lugar, Google ofrece en Webmaster Tools la posibilidad de limitar la frecuencia de rastreo.

5. Limitar la frecuencia de rastreo de Baidu en Baidu WebMaster Tools

Igual que Google, Baidu tampoco reconoce la directriz “Crawl-delay”, pero también dispone de una herramienta para webmasters Baidu Webmaster Tools en donde es posible darse de alta y limitar la frecuencia de rastreo de Baiduspider.

Referencias

Is it possible to slow the Baiduspider crawl frequency?

 Publicado por en 9:20 am

 Deja un comentario

(requerido)

(requerido)