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.
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.
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.
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/
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.
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:
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)
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.
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> ...
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
<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">
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
Publicado el 09/05/2007, última actualización 09/05/2007.
Seguir @laweberaAutor: t0m|ta, Pimienta y Amanda
Añadir Comentario
Últimas Novedades
2006 - 2012 © LaWebera.es
Aviso Legal - Privacidad
Alojado en CyberNETicos
1 Comentario
[...] 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