Características de los robots de búsqueda I

Actualizado el 09/05/2007 < > 1 Comentario

Resúmen: Guía para hacer un archivo robots.txt de forma correcta y controlar el acceso de los robots de los buscadores a nuestra web.

Meneame Bitacoras

Indicando a los robots de búsqueda qué documentos de nuestra web deben indexar

Los robots de búsqueda de WWW (también llamados wanderers o spiders) son los programas que buscan las páginas en el World Wide Web indexándolas para los buscadores.

En 1993 y 1994 estos robots entraron en servidores de WWW e indexaron páginas que no debian : documentos personales, documentos confidenciales, duplicación de archivos, información temporal… Estos incidentes hicieron ver la necesidad de establecer los mecanismos necesarios para que los servidores de WWW pudiesen indicar a los robots de búsqueda las piezas a las que les estaba permitido acceder.

El 30 de de junio de de 1994 (robots-request@nexor.co.uk) se llegó a un consenso estándar para trata esta necesidad, alcanzándose una solución operacional.

Lo que sigue no es un estándar oficial promovido por una organización oficial. No es tampoco una obligación que se tenga que cumplir, por lo tanto no es seguro que todos los robots lo sigan. Se tiene que considerar como una facilidad a lo hora de proteger aquellos documentos y archivos que queremos que no indexen los motores de búsqueda.

Para hacer la exclusión se crea un archivo en el servidor que especifica a los robots de búsqueda a qué archivos no tienen acceso y se le llama robots.txt. El robots.txt es un documento sencillo de texto plano, no se debe escribir en HTML, ni incluir expresiones diferentes al estándar ya que los robots no las reconocerán. Un simple documento de texto redactado con el Bloc de Notas de Windows es lo correcto. Debe estar alojado en la raíz del sitio, justo dónde alojamos la página index. http://www.dominio.com/robots.txt

El formato del archivo está constituido por líneas que indican los valores para dos campos únicos: User-agent y Disallow

Los motores de búsqueda mirarán en la raíz del domino llamando a ese fichero especial "robots.txt" (http://www.dominio.com/robots.txt). El archivo le dice al robot de búsqueda qué archivos puede indexar, a este sistema se le denomina The Robots Exclusion Standard. En caso de que no exista el fichero robots.txt el robot considerá que no hay ninguna exclusión y rastreará cualquier página del web site sin excepción.

User-agent

El valor de este campo es el nombre del robot al que permitimos o no el acceso a determinado documento. Ejemplo:

User-agent: googlebot 

Se puede también utilizar el carácter comodín * para especificar que se excluyen todos los robots. Ejemplo:

User-agent: * 

Podemos comprobar los nombres de los User-agent que han visitado el dominio para saber si hay peticiones de ese buscador. La mayoría de los motores de búsqueda importantes tienen nombres cortos para sus spider. Incluiré una relación con sus características en el último capítulo de estas notas.

Si es necesario determinar una política de acceso para varios robots de búsqueda se incluirán tantas líneas cuantos robots necesitemos especificar. Nunca se agruparán en una sola línea. Ejemplo:

User-agent: googlebot
User-agent: lycos
User-agent: roverdog

Es necesario que exista al menos un registro en el documento para que sea correcto.

Disallow

Es la segunda parte del registro, especifica los documentos y/o directorios que no queremos que indexen los motores de búsqueda. La URL parcial que no debe ser visitada. Por ejemplo, la línea siguiente ordena que no se indexe el documento email.htm:

Disallow: email.htm 

También se pueden especificar directorios. Ejemplo: Para bloquear el directorio cgi-bin de manera que todos sus documentos permanezcan sin indexar en el motor de búsqueda.

Disallow: /cgi-bin/ 

Un archivo totalmente vacío para Disallow es exactamente igual cómo si no estuviera presente, por lo menos debe exisitir una línea de negación Disallow para que el directorio sea correcto.

Una línea en blanco para Disallow indica que todos los archivos puden ser indexados, se escribiría así:

Disallow: 

Si quisíeramos prohibir el acceso a todos los documentos "help" de nuestra web, tanto al http:www.dominio/cgi/help.htm como al http://www.dominio/help/index.html escribiríamos:

Disallow: /help 

En cambio, si quisiéramos prohibir el acceso a cualquier documento y fichero incluido en la carpeta "help" http://www.dominio/help pero permitir el acceso al documento "help.htm" del fichero "cgi"
http://www.dominio/cgi/help.htm , escribiríamos:

Disallow: /help/ 

Espacio y comentarios en blanco

Cualquier línea en el robots.txt que comience por # se considera un comentario . El estándar permite comentarios al final de líneas directivas, pero es un estilo poco aconsejable, por ejemplo si escribimos:

Disallow: email.html # recopilación del formulario

Algún spider no lo interpretaría correctamente e intentaría ignorar el documento email.html # recopilación del formulario

Lo mejor es poner los comentarios en líneas independientes, por ejemplo:

# recopilación del formulario
Disallow: email.html

Un espacio en blanco al principio de una línea se permite pero no se recomienda por los mismos motivos, puede que sea mal interpretado por el spider.

Ejemplos de archivo robots.txt

Para permitir que todos los robots visiten todos los archivos del sitio:

User-agent: *
Disallow:

Para prohibir que todos los spider indexen cualquier documento:

User-agent: *
Disallow: /

Para evitar que todos los spider indexen nuestros directorios cgi-bin e images:

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/

Para prohibir al spider Roverdog, específicamente, que indexe cualquier archivo del sitio:

User-agent: Roverdog
Disallow: /

Para prohibir a googlebot que indexe el archivo cheese.htm:

  User-agent: googlebot
 Disallow: cheese.htm

Para indicar que ningún robot debe visitar cualquier URL que comience con "/cyberworld/map/" o "/tmp/", o "/foo.html":

User-agent: *
Disallow: /cyberworld/map/
# direccion virtual
Disallow: /tmp/
# pronto los eliminaré
Disallow: /foo.html

Para indicar que ningún robot debe visitar cualquier URL que comience con" /cyberworld/map/ ", a menos que el robot se llame " cybermapper ":

User-agent: *
Disallow: /cyberworld/map/
# direccion virtual
User-agent: cybermapper
Disallow: 

Documentos inaccesibles a todos los robots

Se pueden indicar de dos maneras:

Enumerándolos:

User-Agent: *
Disallow: /borrador.html
Disallow: /prueba.html

O incluyendo estos documentos en una carpeta llamada "norobots" y redactando el robots.txt así:

User-Agent: *
Disallow: /norobots/

Los documentos quedarán inaccesibles si tomamos la precaución de asegurarnos que nuestro servidor no está generando un listado del directorio norobots. Sin embargo, configurar un archivo de este tipo no es una garantía de que los documentos no puedan ser alcanzados por atacantes. Y hay que tener claro que el robots.txt es una medida de exclusión para los robots de búsqueda, no una medida de seguridad.

Si los datos que contienen esos ficheros son sensibles: contraseñas de usarios, datos personales etc… lo más serio es usar además un sistema de autentificación o SSL que asegure la completa privacidad de los documentos.

Un ejemplo real de archivo robots.text es este: [http://www.google.com/robots.txt)

Errores al redactar el robots.txt

Uno de los errores más comunes es poner la sintaxis al revés:

Disallow: *
User-agent: scooter

Debe ser:

User-agent: scooter
Disallow: *

Otro error es hacer un rechazo múltiple en una línea poniendo en ella múltiples directorios como:

Disallow: /css/ /cgi-bin/ /images/

Porque la mayoría de los spider malinterpretarán esa línea . Algunos intentarán buscar el directorio /css//cgi-bin//images/ o tendrán en cuenta sólo un directorio olvidándose del resto.

La sintaxis correcta sería:

Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/

Línea Enders en DOS: Se tiene que editar el robots.txt en el modo de UNIX y y hacer upload siempre en ASCII. Muchos clientes del ftp harán la transformación a la línea enders de Unix automáticamente (seamlessly), pero otros no.

Un error que el estándar permite son los comentarios al final de la línea:

Disallow: /cgi-bin/ #directorio privado

Tiempo atrás han existido motores que buscaban la línea entera considerando # parte del nombre del directorio. Ahora no se tiene noticia de que alguno se equivoque o no pero ¿ merece la pena arriesgarse en un error semejante por ahorrarnos una línea de código?

El estándar no trata específicamente los espacios de más en las líneas lo considera un mal estilo de escritura, pero tendríamos que preguntarnos una vez más si merece la pena arriesgarnos a ser malinterpretados por algo tan nímio.

En ocasiones el spide interpreta la página de error 404 y las páginas de redireccionamiento como un documento HTML válido . Lo más aconsejable es indicar en el archivo .txt o en los metas tags que este documento no tiene que indexarse.

El estándar determina que solo el User-agent y el Disallow pueden ir con máyusculas, lo que sigue es incorrecto:

USER-AGENT: EXCITE
DISALLOW:

Otro error común es especificar cada archivo en un directorio como aquí:

Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html

Se tiene que especificar con la opción del directorio de esta manera:

Disallow: /AL
Disallow: /Az

La barra invertida indica al spider el límite del directorio.

No hay que poner nunca Allow sólo Disallow, se rechazar para no permitir. Esto es incorrecto:

User-agent: Excite
Disallow: /cgi/
allow: /imagen/

Esto es correcto:

User-agent: Excite
Disallow: /cgi
Disallow:

¿Qué hace un spider cuándo no hay barra invertida cómo aquí?

User-agent: Excite
Disallow: cgi

Pues que dejará de indexar cualquier extensión de archivos con el nombre cgi y cualquier directorio nombrado cgi. Otro error es poner palabras clave en el directorio robots. txt o editarlo en formato HTML.

Usar etiquetas meta para autorizar a los motores de búsqueda

Se está poniendo muy de moda utilizar las etiquetas META para decir a los spider si se acepta o no que indexen un documento. Es también útil cuando no se tiene acceso al directorio raíz. Algunos motores de búsqueda, tales como Inktomi, obedecen completamente las indicaciones de los Meta Tag. Escribiendo Index,Follow en el CONTENT seguirá todos los enlaces del index.

La etiqueta META se coloca en la sección HEAD del HTML. Un formato completamente simple sería ( si queremos que no indexen los enlaces del index).

<HTML>
 <HEAD>
 <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
 <META NAME="DESCRIPTION" CONTENT=" Esta página es......">
 <TITLE>...</TITLE>
 </HEAD>
 <BODY>
 ...

Opciones de las meta tags

La etiqueta CONTENT tiene cuatro opciones; el indice, noindex, follow, nofollow separados por comas.

INDEX especifica que se acepta incluir la web en el índice del buscador.

FOLLOW especifica que se acepta que se indexen también los enlaces existentes en nuestro documento index. No es cierto que los motores de búsqueda sigan los enlaces del index por defecto, Inktomi por defecto sigue la orden índice, nofollow .

Hay también dos órdenes globales que incluyen ambas acciones: all y none

ALL=INDEX, follow y NONE=NOINDEX, nofollow

Combinaciones posibles

<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,follow">
<meta name="robots" content="index,nofollow">
<meta name="robots" content="noindex,nofollow">
<meta name="robots" content="all">
<meta name="robots" content="none">

Visit-time

Se están intentando añadir nuevas directivas que permitan controlar el tiempo en el que los robots indexan las páginas, por ejemplo:

# Permitir trabajar a los botsde 2 am a 7:45 am
# Las horas son siempre Greenwitch
Visit-time: 0200-0745
# Un documento CADA 30 minutos
Request-rate: 1/30m
# Combinado: 1 doc cada 10 minutos
# y solo de una a 5 tarde
Request-rate: 1/10m 1300-1659

Meneame Bitacoras

Publicado el 09/05/2007, última actualización 09/05/2007.

Autor: t0m|ta, Pimienta y Amanda

URL: http://www.tomatoma.ws/

Añadir Comentario (Subir al texto)

1 Comentario

  1. Estructura de páginas web: Marcado semántico de contenidos

    [...] además de facilitar la lectura de los contenidos por parte de los usuarios, posibilita a los motores de búsqueda encontrar la información más relevante para clasificar y ordenar la página web, lo que tiene [...]

    Jueves, 18 de febrero 2010

(Subir al texto)

Añadir Comentario

* Campos obligatorios