Voy a intentar recoger en este Blog algunos de los mecanismos que existen para crear al webmaster un "falso sentimiento de protección" ante estos "Bots". Intrusos que aumentan los hits a nuestras Webs y a veces sobrecargan el tráfico inoportunamente, pero que luego no hacen nada. Porque existen los "Bots" buenos y los "Bots" malos. Y es que hoy en día cualquiera puede hacerse su propio Webbot y dedicarse a descargar en su ordenador "unas cuantas páginas" o "toda la red" como Brin y Page en 1998.
En argot informático existen muchos nombres para estos artefactos: WebBots, WWWBots, Web Wanderers, Crawlers, Spiders...). A mí personalmente me gusta el de crawler, aunque ya se sabe que sobre gustos...
Desde la invención de estos artefactos, los responsables de los sitios Web se han afanado por conseguir dotar a sus Webs de una forma de protección contra la acción de los crawlers, pero como he dicho, hay crawlers malos que no respentan ninguna convención establecida.
Por favor no me sigas
El primer mecanismo que tenemos a nuestra disposición para poder protegernos o exponernos a los crawlers es sencillamente una de las formas que adopta la etiqueta <meta> de HTML:
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
Esta etiqueta previene a los crawlers de lo que pueden o no pueden hacer con nuestra página, pero queda en sus manos hacer un uso lícito de estas "indicaciones", ya que sólo son eso. Para que nos familiaricemos con este primer mecanismo indicaremos que existen cuatro posibles valores para el atributo content:
- INDEX: Permite a los crawlers indexar el contenido de nuestra página en su base de datos.
- NOINDEX: Indica a los crawlers que no deben indexar la página.
- FOLLOW: Permite a los crawlers seguir explorando en los enlaces que contiene nuestra página para recabar más información de otras páginas de nuestra Web.
- NOFOLLOW: Indica a los crawlers que no deben seguir los enlaces que contiene nuestra página.
Pero como no podemos combinar opciones contradictorias, básicamente se permiten las siguientes combinaciones:
- INDEX, FOLLOW: Opción por defecto. La página se indexa y se siguen sus enlaces.
- INDEX, NOFOLLOW: La página se indexa pero no se pueden seguir sus enlaces.
- NOINDEX, FOLLOW: La página no se indexa pero se siguen sus enlaces.
- NOINDEX, NOFOLLOW: Nada que hacer para los crawlers buenos. La página no se puede indexar ni tampoco seguir sus enlaces.
Bueno, al final tenemos algo para poner una primera barrera o permitir el paso a los "crawlers buenos", aunque nada podremos hacer con los más malvados.
Perdona, pero no me gustaría que pasaras
Existe un estandar admitido comúnmente por la comunidad de webmasters que permite ampliar el tipo de indicaciones o reglas que se le puede dar a un crawler a fin de que no fisgue en nuestro sitio Web más allá de lo que a nosotros nos gustaría. Por desgracia, nuevamente estamos al amparo de la buena fe del propio crawler, ya que a pesar de todo, seguimos condicionados por su libre albedrío. Este mecanismo, bien pensado y simple a la par, nos permite ofrecer unas indicaciones acerca de cómo los crawlers puede explorar el sitio web completo, independientemente de que interpreten los <meta> que pongamos en nuestras páginas y que consiste en algo tan sencillo como poner en la carpeta raíz del sitio Web un fichero llamado robots.txt.
Este fichero contiene una o más secciones que definen el comportamiento a la hora de buscar páginas que todos o algún crawler en especial debe adoptar al explorar nuestro sitio Web. Aquí tenemos un ejemplo:
# Ejemplo de robots.txt
User-Agent: *
Disallow: /legal.htm
Disallow: /config
Disallow: /img
Disallow: *.asp
Request-rate: 1/5
En este ejemplo, el fichero robots.txt indica a cualquier navegador que no podrá ver el fichero /legal.htm, nada que empiece por /config o por /img y ningún fichero que tenga la extensión .asp. Así mismo indica que sólo podrá descargar 1 fichero cada 5 segundos. La siguiente lista muestra todos los especificadores admitidos generalmente:
- User-Agent: Un * indica que las reglas que vienen a continuación se aplican a cualquier crawler. Si se desea aplicar reglas específicas para un crawler en especial se pondrá aquí el nombre del crawler. Si se especifican varias líneas User-Agent seguidas, las reglas que aparezcan tras la última línea se aplicarán a todos los crawlers que se hayan enumerado.
- Disallow: indica que lo que viene a continuación de los ':' es contenido prohibido para el crawler.
- Allow: indica que lo que viene a continuación es contenido permitido. Se puede utilizar esta regla para enumerar una lista de todas las páginas que puede visitar el crawler.
- Crawl-delay: tiempo en segundos que debe transcurrir entre descarga y descarga.
- Request-rate: ratio de descarga de ficheros (1/5 equivale a un fichero cada 5 segundos)
- Visit-time: periodo horario en el que está permitida la exploración de los crawlers.
- Sitemap: ubicación del fichero xml que define la especificación del protocolo Sitemaps.
Web oficial de robots.txt (en inglés)
Listado de todos los crawlers conocidos (en inglés)
Protocolo Sitemaps