En general, los ad­mi­ni­s­tra­do­res de páginas web pro­fe­sio­na­les aspiran a aumentar la vi­si­bi­li­dad de su proyecto en los bu­s­ca­do­res. Para ello, uno de los pri­n­ci­pa­les re­qui­si­tos es, pre­ci­sa­me­n­te, la po­si­bi­li­dad de que todas las páginas re­le­va­n­tes puedan ser exa­mi­na­das por los robots y, por co­n­si­guie­n­te, incluidas en el índice. Sin embargo, es im­po­r­ta­n­te tener en cuenta que los robots raramente indexan una página al completo. Incluso en el caso del to­do­po­de­ro­so Google la capacidad de análisis y de al­ma­ce­na­mie­n­to de co­n­te­ni­dos está limitada, asi­g­ná­n­do­se a cada dominio un pre­su­pue­s­to es­pe­cí­fi­co de rastreo que determina cuántos URL han de ser ana­li­za­dos e indexados por día.  Es­pe­cia­l­me­n­te para proyectos am­bi­cio­sos, los ad­mi­ni­s­tra­do­res deberían, por esto, pensar es­tra­té­gi­ca­me­n­te y re­n­ta­bi­li­zar este pre­su­pue­s­to indicando a los robots qué páginas deberían ser ra­s­trea­das y cuáles ignoradas. Para ello, cuentan con he­rra­mie­n­tas como las in­di­ca­cio­nes en los meta tags, los canonical tags, las re­di­re­c­cio­nes de dominio y los archivos robots.txt, que pasamos a de­ta­llar­te a co­n­ti­nua­ción en este tutorial.

¿Qué es un archivo robots.txt?

El robots.txt es un documento de texto que se aloja en el di­re­c­to­rio raíz de un dominio y que permite a los ad­mi­ni­s­tra­do­res controlar el acceso de los bu­s­ca­do­res a una página web, blo­quea­n­do, si es necesario, ciertas partes para todos o para algunos ra­s­trea­do­res. A di­fe­re­n­cia de otros in­s­tru­me­n­tos como las in­di­ca­cio­nes meta robots y las re­di­re­c­cio­nes, que son válidas para un documento HTML en concreto, las in­di­ca­cio­nes en un fichero robots.txt se refieren al di­re­c­to­rio  completo.

No hay que olvidar, sin embargo, que las in­s­tru­c­cio­nes en un robots.txt son in­te­r­pre­ta­das por los ra­s­trea­do­res como re­co­me­n­da­cio­nes y no como obli­ga­cio­nes. Con este archivo no se puede forzar a un robot a ningún co­m­po­r­ta­mie­n­to. Google y otros grandes bu­s­ca­do­res admiten seguir estas in­di­ca­cio­nes, pero la única manera co­m­ple­ta­me­n­te segura de impedir el acceso a ciertas su­b­pá­gi­nas o a de­te­r­mi­na­dos archivos es la pro­te­c­ción con co­n­tra­se­ña, en especial si tenemos en cuenta la exi­s­te­n­cia de robots más agresivos que no se verán frenados en sus in­te­n­cio­nes (spam) por estas in­s­tru­c­cio­nes.

Crear un archivo robots.txt

Para comunicar a los robots ra­s­trea­do­res las re­co­me­n­da­cio­nes de in­de­xa­ción se ha de crear un archivo de texto, de­no­mi­nar­lo exac­ta­me­n­te robots.txt y subirlo a la raíz del dominio.

Si las re­co­me­n­da­cio­nes de rastreo se de­fi­nie­ran para el dominio ejemplo.es, el robots.txt debería en­co­n­trar­se en el mismo di­re­c­to­rio que www.ejemplo.es. En Internet, este archivo se en­co­n­tra­ría en "http://www.ejemplo.es/robots.txt". Si el alo­ja­mie­n­to elegido para el proyecto no permite ningún acceso a la raíz del dominio del servidor, sino ex­clu­si­va­me­n­te a una su­b­ca­r­pe­ta (como "http://www.ejemplo.es/usuario/"), no es posible crear un archivo robots.txt.

Para crear un robots.txt hay que usar un editor de texto plano como vi para Linux o notepad.exe para Windows y cuidar que la tra­n­s­fe­re­n­cia del archivo por FTP tenga lugar en modo ASCII. En la red se puede usar un generador de archivos robots.txt como Mcanerin.

Para evitar los errores si­n­tá­c­ti­cos que podrían ocasionar graves co­n­se­cue­n­cias en la in­de­xa­ción del proyecto, se re­co­mie­n­da validar el archivo antes de subirlo. Google pone la he­rra­mie­n­ta llamada Probador de robots.txt a di­s­po­si­ción de los we­b­ma­s­te­rs en su Search Console.

Cómo se escribe un robots.txt

Un archivo robots.txt contiene registros (records) que están co­m­pue­s­tos por dos partes. La primera de ellas se dirige con la palabra clave User agent a un robot de búsqueda, al cual se le dictan las re­co­me­n­da­cio­nes incluidas en la segunda parte. Estas in­s­tru­c­cio­nes son ge­ne­ra­l­me­n­te prohi­bi­cio­nes que comienzan con la palabra clave Disallow, siguiendo a co­n­ti­nua­ción el nombre del di­re­c­to­rio o de los archivos que se dejarán fuera del examen. Este sería el esquema básico:

User-agent: Googlebot
Disallow: /temp/ 
Disallow: /news.html
Disallow: /print

Este ejemplo va dirigido al robot de Google ex­clu­si­va­me­n­te (Googlebot) y le prohíbe examinar el di­re­c­to­rio  /temp/ y el archivo news.html. También se bloquean todos los archivos y di­re­c­to­rios cuya ruta comienza por print. Aquí es im­po­r­ta­n­te tener en cuenta que Disallow: /temp/ y Disallow: /print solo se di­fe­re­n­cian por la barra / al final de la línea, una di­fe­re­n­cia que en la sintaxis del robots.txt tiene una gran re­le­va­n­cia.

Añadir co­me­n­ta­rios

De ser necesario, se pueden añadir co­me­n­ta­rios a un archivo robots.txt (que no son leídos por los robots). Se escriben después del símbolo # y se pueden integrar en cualquier lugar.

# robots.txt para http://www.ejemplo.es
User-agent: Googlebot
Disallow: /temp/ # El directorio contiene archivos efímeros 
Disallow: /print/ # El directorio contiene documentos para imprimir
Disallow: /news.html # El archivo cambia diariamente

In­di­ca­cio­nes a varios crawlers

Si se desea dictar re­co­me­n­da­cio­nes a varios ra­s­trea­do­res a la vez, se puede construir un robots.txt con varios bloques de texto, uno para cada user agent, es­tru­c­tu­ra­dos según el esquema básico. Para di­fe­re­n­ciar­los, se deja una línea en blanco antes de cada nuevo user agent.

# robots.txt para http://www.ejemplo.es
    User-agent: Googlebot
    Disallow: /temp/ 
     
    User-agent: Bingbot 
    Disallow: /print/

Mientras que el crawler de Google no tiene permitido acceder al di­re­c­to­rio /temp/ de archivos te­m­po­ra­les, el robot de Bing no puede entrar en /print/.

In­s­tru­c­cio­nes a todos los crawlers

En el caso de querer bloquear di­re­c­to­rios y archivos a todos los robots ra­s­trea­do­res se usa un asterisco (*) como comodín para todos los user agents.

# robots.txt para http://www.ejemplo.es
User-agent: *
Disallow: /temp/
Disallow: /print/
Disallow: /pictures/

Este archivo robots.txt bloquea a todos los ra­s­trea­do­res el acceso a los di­re­c­to­rios /temp/, /print/ y /pictures/.

Excluir a todos los di­re­c­to­rios de la in­de­xa­ción

Si se quiere bloquear una página entera es su­fi­cie­n­te con escribir una barra inclinada (/) tras Disallow:

# robots.txt para http://www.ejemplo.es
User-agent: *
Disallow: /

Así indicamos a los ra­s­trea­do­res que deben ignorar la página entera. Esta re­co­me­n­da­ción sería útil en el caso, por ejemplo, de una web que se encuentra aún en la fase de prueba.

Permitir la in­de­xa­ción de todos los di­re­c­to­rios

Si un robot ha de tener acceso a la página entera se usa la palabra clave Disallow sin la barra detrás:

# robots.txt para http://www.ejemplo.es
    User-agent: Googlebot
    Disallow:
Tabla 1: Funciones básicas del robots.txt
In­s­tru­c­ción Ejemplo Función
User agent: User agent: Googlebot Se dirige a un de­te­r­mi­na­do crawler.
User-agent: * Se dirige a todos los robots.
Disallow: Disallow: Se permite la in­de­xa­ción de la página entera.
Disallow: / Se bloquea la in­de­xa­ción de toda la página.
Disallow: /di­re­c­to­rio/ Se bloquea el acceso a un de­te­r­mi­na­do di­re­c­to­rio.
Disallow: /archivo.html Se bloquea un de­te­r­mi­na­do archivo.

Funciones avanzadas

Además de las funciones básicas es­ta­ble­ci­das prá­c­ti­ca­me­n­te como estándar, algunos bu­s­ca­do­res soportan otros pa­rá­me­tros que permiten precisar las re­co­me­n­da­cio­nes de un robots.txt. Las si­guie­n­tes in­s­tru­c­cio­nes se pueden encontrar en las páginas de ayuda de Google y se apoyan en un acuerdo con Microsoft (Bing) y Yahoo!.

Definir ex­ce­p­cio­nes

Además de Disallow, Google también soporta Allow, una palabra clave que permite definir ex­ce­p­cio­nes para di­re­c­to­rios blo­quea­dos:

# robots.txt para http://www.ejemplo.es
User-agent: Googlebot
Disallow: /news/ 
Allow: /news/index.html

En este ejemplo, a pesar de que Disallow bloquea el acceso dell robot al di­re­c­to­rio /news/, Allow permite acceder al archivo index.html dentro de /news/ "http:// www.ejemplo.es/news/index.html".

Bloquear tipos es­pe­cí­fi­cos de archivo

Si se quiere prohibir la exa­mi­na­ción de archivos con una te­r­mi­na­ción de­te­r­mi­na­da, se usa un registro que sigue este esquema:

# robots.txt para http://www.ejemplo.es
User-agent: Googlebot
Disallow: /*.pdf$

Con Disallow, la in­s­tru­c­ción afecta a todos los archivos te­r­mi­na­dos en .pdf, pro­te­gié­n­do­los de la in­de­xa­ción del robot. El asterisco actúa como comodín para todos los nombres de archivo antes de esta te­r­mi­na­ción. El signo del dólar señaliza el final de la línea (se ide­n­ti­fi­can así todos los lugares donde pdf acabe una línea)

Señalizar el mapa del sitio al robot

Además de dirigir el co­m­po­r­ta­mie­n­to de los crawlers, robots.txt también puede indicar al robot donde puede encontrar el mapa del sitio (sitemap) para que la in­de­xa­ción sea mucho más rápida y efectiva. Esto podría rea­li­zar­se así:

# robots.txt para http://www.ejemplo.es
User-agent: *
Disallow: /temp/
Sitemap: http://www.ejemplo.es/sitemap.xml
Tabla 2: Funciones avanzadas del robots.txt
In­s­tru­c­ción Ejemplo Función
Allow: Allow: /ejemplo.html El archivo indicado (ejemplo.html) puede ser rastreado
Disallow: /*…$ Disallow: /*.jpg$ Se bloquea el acceso a archivos con una te­r­mi­na­ción es­pe­cí­fi­ca (.jpg).
Sitemap: Sitemap: http://www.ejemplo.es/sitemap.xml El mapa del sitio en XML se encuentra en la dirección pro­po­r­cio­na­da.
Ir al menú principal