|
Indicando a los robots de búsqueda que 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 robot .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 quisíeramos 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
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: [url]http://www.google.com/robots.txt
[/url] :)
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 otrosno .
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
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
Preguntas frecuentes
¿Qué es un WWW robot?
Usando nuestra terminología de "andar por casa" son robots que entran en
todos los servidores de todo el mundo, buscan los documentos que están
alojados en ellos, los incluyen en su index y luego nosotros podamos ir a
ese index a buscar lo que necesitamos
¿Qué diferencia hay entre un www robot y mi
navegador?
El www robot penetra en el servidor y recupera todos los documentos
alojados en él indexándolos para su Agente, nosotros con nuestro navegador
sólo podemos acceder a los documentos que el servidor quiere facilitarnos.
¿Qué es un Agente?
Podemos distinguir tres tipos de agentes
Agente autónomo: Es un programa que "viaja" entre los sitios web
decidiendo por él mismo qué hacer. Sólo puede viajar entre sitios ubicados
en servidores especiales. Este tipo de agentes no está muy difundido en el
área de internet.
Agente inteligente: Programas que ayuda al usuario, por ejemplo:
a elegir productos, a rellenar formularios o a encontrar determinada cosa.
Generalmente no tiene mucha tarea en la red.
Agente de usuario: Es un nombre técnico para programas que
ejecutan tareas para un usuario en la red. Un ejemplo de ellos son:
Netscape Navigator,Microsoft Internet Explorer, y Email User-agent como
Qualcomm Eudora etc.
¿Qué diferencia hay entre un www robot y un
directorio?
Los Directorios no poseen robots, están operados por humanos y no
recuperan automáticamente los enlaces incluídos en las páginas web, sino
que sólo se limitan a hallar lo que las personas manualmente incluyen en
ellos. Tienen una ventaja respecto a los robots , pueden clasificar por
secciones la temática de las web al hacerse mediante un proceso manual.
¿Cuántas clases de ww robots hay?
A los robots se les suele denominar "Web Wanderers", "Web Crawlers", o "Spiders"
hay quién piensa que son virus pero no es así, un robot simplemente visita
los sitios y extrae los enlaces que están incluídos dentro de estos.
Arañas (Spiders) Es un robot, pero otorga resultados más fríos.
Gusanos (Worms) Es lo mismo que un robot, aunque técnicamente un gusano es
una réplica de un programa, a diferencia de un robot que es un programa
original.
Orugas (Web crawlers) Es lo mismo que un robot, pero un tipo específico de
robot.
Hormigas (WebAnts) Cooperativa de robots
¿Qué es un Search Engine?
Un Search Engine es un programa que busca en una determinada base de
datos. En el contexto del Web la palabra "Search Engine" se utiliza para
denominar las formas de búsqueda que se realizan en una bases de datos de
documentos HTML recopilados por un determinado robot. Para entendernos, "search
engine" son Google, Altavista etc... y cada uno tiene su www robot de
búsqueda
Ventajas de la existencia de estos robots de
búsqueda
La principal ventaja es su capacidad de indexar documentos, ya no sólo por
el título o las palabras clave que queramos asignarles, si no por la
capacidad de buscar en TODO el documento cómo tienen algunos. Es fácil
hacer una prueba, vas a google cuál pitonis@ modern@, pones entre comillas
una frase de una canción que no sabes ni quién la canta ni cómo se llama,
pero de la que en algún momento escuchaste el estribillo, por ejemplo: "
baila morena" , y nuestro " Oráculo" , con enorme generosidad, informa de
todos los documentos en los que está incluida la frase:
http://www.google.es/search?q=%22baila+morena%22&ie
=ISO-8859-1&hl=es&btnG=B%FAsqueda+en+Google
2.860 resultados en 0, 14 segundos de búsqueda, ¿cómo no amarlo? :-'(
Desventajas de los robots de búsqueda
Evidentemente nadie es perfecto, algunas desventajas tenía que tener el
invento.
Los robots de búsqueda, con su afán de indexar, colapsaron ciertas redes
en el pasado ya que cuando un www robot investiga un servidor adopta la
apariencia de usuarios que visitan las web alojadas en él y cuanta más
información exista en el servidor, más usuarios creará el robot para
analizarla. Hoy en día existen mecanismos para que no se produzcan y la
información suficiente para diseñar robots más eficientes.
No hay que perder de vista que son máquinas, diseñadas con los conceptos
más pluscuamperfectos del momento, pero máquinas que no son capaces de
discernir entre un documento privado, un documento que sólo le interesa a
mi grupo de trabajo, un borrador de una tarea pendiente, un documento
temporal..... Lo indexan todo y este fué el motivo por el que se crearon
los archivos " robots.txt", para indicar a los robots de búsqueda qué
documentos tenían o no tenían que añadir a su base de datos.
¿Cómo decide un robot las webs qué va a
visitar?
Depende del robot y de su estrategia de búsqueda. Por lo general empiezan
con una lista histórica de URLs, especialmente de aquellos documentos con
muchos enlaces a otras webs y con aquellos sitios populares en el Web, es
decir, a los que apuntan muchos enlaces de otras webs.
La mayoría de los buscadores permiten también que se ingrese una dirección
manualmente de manera que después la visite el robot para su indexación
definitiva.
Usan también otros recursos como listas de correo, grupos de discusión,
etc. Todo esto les da un punto de partida para comenzar a seleccionar
url's para visitar, analizarlas y usarlas como recurso para incluirlas
dentro de su base de datos.
¿Cómo indexa un documento el robot de
búsqueda?
Depende también del robot: algunos ponen en su índice los títulos de los
documentos HTML, o los primeros párrafos del texto, o analizan el HTML
entero y ponen en un índice todas las palabras, otros analizan la etiqueta
del META, o los textos de las imágenes...
¿Cómo sé si un robot de búsqueda me ha
visitado?
Comprobando los registros del servidor: Si existen solicitudes de muchos
documentos en un cortísimo espacio de tiempo, imposible de realizar de
forma manual, seguramente será porque un robot ha visitado el sitio.
También se puede deducir cuantos robots nos han visitado comprobando las
solicitudes realizadas al archivo robots.txt.
¿Por qué las solicitudes al archivo
robots.txt orientan sobre las visitas realizadas por los robots de
búsqueda a mi sitio?
Los robots que van buscando páginas para indexar en la base de datos de su
Agente, lo primero que hacen al visitar un sitio es llamar al fichero
robots.txt. Lo primero que busca el robot cuando llega a nuestra web es el
fichero http//www.dominio.com/robots.txt. El número de peticiones que
reciba este fichero y que constará en las estadísticas, nos indicará el
número de veces que hemos sido visitados por un robot de búsqueda .
Un robot me ha visitado ¿qué tengo que
hacer?
Nada, déjate querer :-). él trabaja de manera automática y sabe
perfectamente qué tiene que hacer.
¿Cómo evito que un robot indexe mi sitio?
Creando un archivo llamado robots.txt y alojándolo en la raiz del sitio,
ahí mismo dónde situamos la página index. En él se especifican las zonas
del sitio que los robots NO TIENEN que indexar, no se especifican NUNCA
las zonas que sí queremos que aparezcan en la base de datos de los
buscadores, sólo indicaremos lo que NO QUEREMOS que un robot determinado o
todos los robots de búsqueda indexen. Mucho ojo con este dato.
Pero si hago una relación de los archivos
que no quiero que un robot añada a su índice, le estoy diciendo al resto
de la gente qué documentos privados tengo. Los hago invisibles a los
robots de búsqueda pero accesibles tecleando la dirección.
La manera óptima de organizar un sitio es incluir en un directorio
secundario todos los documentos y archivos que no queremos que indexen los
buscadores, prohibir la entrada de los robots en ese directorio y
configurar el servidor con unas buenas medidas de seguridad en el caso de
tener documentación sensible. El robots.txt no es una medida de seguridad
que garantiza la privacidad de los documentos, para eso existen otros
métodos, el robots.txt es el resultado de un consenso para evitar que los
robots añadan automáticamente a sus índices esos documentos
Mi proveedor no me dá esa posibilidad
¿Existe otra manera para indicar a los robots qué zonas pueden indexar de
mi sitio?
Si, en los META de los documentos.
¿Por qué encuentro llamadas /robots.txt en
mis ficheros ?
Ya he comentado que lo primero que hace un robot cuando entra en nuestro
sitio siguiendo el estándar de exclusión, es hacer una llamada al fichero
robots.txt. Seguramente esas llamadas, son los robots que intentan ver si
se ha especificado alguna norma para el acceso a los ficheros. |