Los robots son máquinas que pertenecen a entidades buscadoras en Internet, como son Google, Yahoo o Bing. Estos robots acceden a las páginas web para buscar información dentro de ella y añadir ésta información en los buscadores, lo que habitualmente conocemos como indexar o posicionar una web en Internet.

Si dispones de un archivo bien configurado puedes hacer que estos robots, escojan la información correcta más rápidamente, obteniendo una mejor navegabilidad en la web, un mejor posicionamiento en los buscadores y, además, reducir algunos inconvenientes que te pueden traer estos robots si no se controlan.

A estos robots también se les llama: "spiders", "crawlers", arañas, "bots" o Indexadores.

 

1.- Qué es el archivo robots.txt y para qué sirve

El archivo robots.txt es un archivo de texto plano creado por el usuario para controlar el acceso de los robots al alojamiento. Este archivo expone unas recomendaciones que los robots buscadores deben de cumplir. Es decir, le indicas que es lo que no quieres indexar. De esta manera, seleccionarán mejor la información de tu web y mejorará el posicionamiento.

 

El archivo robots.txt se ha de subir a la raíz del alojamiento para indicar a los robots qué paginas o directorios no te interesa indexar. Sólo tiene que haber un archivo robots.txt en cada sitio web.

La configuración de este archivo es importante, ya que aporta beneficios, por ejemplo:

  • Ayuda a hacer una indexación más fluida del contenido importante de la web, con lo que mejora el posicionamiento en Internet. Además puede agilizar el rastreo de los robots, mejorando el uso de la web.
  • Impide el acceso a determinados robots, ya que algunos de ellos sólo proporcionan problemas en la web porque no son buscadores, además de limitar la información que quieres mostrar, de manera que los datos personales privados no puedan ser encontrados en Google.
  • Reducen la sobrecarga del servidor, porque se puede controlar el tiempo de acceso de algunos robots. Algunos de estos robots se dedican a hacer una cantidad elevada de peticiones que pueden saturar el servidor y que el usuario real tenga una navegación más lenta por la página.


2.- Cómo se crea un archivo robots.txt

El archivo robots se crea utilizando dos comandos.


User-Agent: (Spider Name)
Disallow: (Ruta)


El "Spider Name" es el nombre del robot buscador. Si se quiere indicar que las prohibiciones afecten a todos los buscadores, hay que poner “*” en lugar del nombre del buscador.

La "Ruta", es el nombre del archivo o carpeta que no se quiere indexar. Para prohibir la indexación a todos los documentos de un directorio, en la ruta hay que incluir el carácter “/” al final del nombre del directorio. Es decir, el formato será:


Disallow: /directorio/


Ejemplos:

Disallow: / prohíbe la entrada a todo el alojamiento.
Disallow: /foro/ prohíbe la entrada al directorio foro.
Disallow: permite la entrada a todo el alojamiento.

 

3.- Como introducir comentarios en un archivo

Si lo que se deseas es introducir algún comentario en el fichero, hay que comenzar la línea con el signo “#”. Esto significa que esa línea es un comentario y no hay que tener en cuenta.


Ejemplo:

#Dejamos acceso total a Webcrawler, ya que Disallow está vacío.

User-agent: webcrawler
Disallow:

 

4.- Qué es el "Crawl-delay"

Si se comprueban estadísticas, se puede observar que a veces algunos robots que revisan la web, realizan multitud de peticiones al servidor hasta sobrecargarlo. Para evitar esta sobrecarga, se puede utilizar la directiva "Crawl-delay", que indica el tiempo entre cada acceso del robot.


Ejemplo:

User-agent: *
Crawl-delay: 60


Esto indica que los robots tienen que esperar 60 segundos entre cada acceso. El inconveniente que aporta esta directiva es que no afecta a todos los robots, algunos de los que si afecta, son: MSNBot, Slurp i Googlebot.

 

5.- Otras directiva para controlar el tiempo de acceso.

Para controlar el tiempo en el que los robots indexan las páginas se pueden utilizar alguna de estas directivas:


# Permitir trabajar a los buscadores de 2 am a 7:45 am (las horas son siempre en Greenwitch)
Visit-time: 0200-0745


# Un documento cada 30 minutos
Request-rate: 1/30m


# Combinado: 1 doc cada 10 minutos y entre la 1 y las 5 de la tarde
Request-rate: 1/10m 1300-1659


Es importante comprobar el archivo antes de subirlo al alojamiento, ya que si contiene algún error, puede ser que robots no deseados indexen la web de forma incorrecta . También podría pasar que ninguno de los robots que deseas que indexen la web lo haga correctamente.


6.- Cómo tiene que quedar un archivo robots.txt

Para permitir el acceso al alojamiento a todos los robots:


User-agent: *
Disallow:
Crawl-delay: 60


Para no permitir el acceso a ningún robot en el alojamiento:


User-agent: *
Disallow: /
Crawl-delay: 60


Para no permitir el acceso a los robots a una pagina en concreto:


User-agent: *
Disallow: /archivo.html
Request-rate: 1/10m 1300-1659


Para limitar el acceso a directorios específicos:
Esta configuración es la recomendada, ya que prohíbe a todos los robots el acceso a las carpetas que has señalado, y además restringes el tiempo de acceso de los robots para evitar saturaciones en el servidor.


User-agent: *
Disallow: /Carpeta1/
Disallow: /Carpeta2/
Crawl-delay: 60


En esta web aparece una lista de todos los robots: http://www.robotstxt.org/db.html

 

7.- Cómo configurar un archivo robots.txt en un CMS concreto

Es probable que muchos gestores de contenido como Joomla, Drupal, WordPress, etc., ya tengan su propio robots.txt que se instala junto con la aplicación. Lo único que se debe hacer es añadir la directiva “crawl-delay” para no sobrecargar la pagina y también indicar los directorios o artículos que tienen que ser indexados.


Ejemplos de robots.txt:


Para un Wordpress:


User-agent: *
Crawl-Delay: 60
Disallow: /wp-content/
Disallow: /wp-icludes/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /archives/
Disallow: /category/
Disallow: /tag/*
Disallow: /tag/
Disallow: /wp-*
Disallow: /login/
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.php$
User-agent: All
Allow:/
User-agent: Googlebot-Image
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: duggmirror
Disallow: /


Para un Drupal:


User-agent: *
Crawl-delay: 60
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /sites/
Disallow: /themes/
# Files
Disallow: /changelog.txt
Disallow: /cron.php
Disallow: /install.mysql.txt
Disallow: /install.pgsql.txt
Disallow: /install.php
Disallow: /install.txt
Disallow: /license.txt
Disallow: /maintaners.txt
Disallow: /update.php
Disallow: /upgrade.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=contact/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=search/
# Extras on drupal.org
# no access for table sorting paths or any paths that have parameters
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*?solrsort*
Disallow: /*&solrsort*
# no access to profiles that are often targeted by spammers.
Disallow: /profile/interest/*
Disallow: /profile/industries/*
Disallow: /profile/companies/*
# Disallow bogus aggregator pages
Disallow: /aggregator/*
# Disallow project search
Disallow: /project/issues/search/*
Disallow: /project/issues/*
# Disallow book export
Disallow: /book/export/*
# Disallow pift tests
Disallow: /pift/retest/*
# Disallow project subscription
Disallow: /project/issues/subscribe-mail/*


Para un Joomla:


User-agent: *
Crawl-delay: 60
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

 

Para más información, podéis contactar con nosotros.