Guía de uso del archivo robots.txt, que nos permite decirle a Google cómo debe interactuar con nuestro contenido, y que páginas puede indexar.
¿Qué es robots.txt?
En realidad es un simple archivo de texto que está colocado en la raíz de nuestra web, o sea que lo podemos encontrar en:
- https://la-web-de-turno.com/robots.txt
Este archivo le "sugiere" a los buscadores (o sea, al Sr. Google), cómo debe interactuar con el contenido de nuestra web, qué URLs puede indexar y qué URLs no, ya que por defecto Google nos indexará TODO el contenido que encuentre, a lo loco. Pero ojo, porque como he dicho, en realidad le estamos "sugiriendo", pero luego el buscador hará lo que le de la gana si quiere, o sea que tampoco os fiéis mucho.
De todos modos, los buscadores suelen respetarlo y usarlo. De hecho incluso Google tiene un apartado y una herramienta para el archivo robots.txt en Google Webmaster Tools. Si queréis saber más sobre esto, os aconsejo el curso de Webmaster Tools.
¡Por otra parte, mucho ojo, porque ese archivo es público! O sea que si por ejemplo tenemos una página privada que no queremos que se indexe, por ejemplo:
- https://la-web-de-turno.com/url-secreta-dificil-de-encontrar
Si la ponemos en robots.txt, cierto es que no la va a indexar, pero también es cierto que la estamos colocando en un archivo que cualquiera puede ver. De hecho, muchos hackers empiezan echando un vistazo ahí, a ver si encuentran algo interesante que atacar. O sea que no usemos robots.txt para esconder información, sino simplemente evitar que se indexe contenido inútil.
User agents (o sea, robots)
Lo primero y más típico es indicar el "User Agent", o sea, el robot o buscador al que nos queremos dirigir, y lo que da sentido al nombre "robots.txt". Si nos queremos dirigir a cualquier robot, simplemente escribiremos esto:
User-agent: *
Y listos. Eso nos está diciendo que las normas que pongamos a continuación serán para todos los robots, ya sean de Google, de Bing, de Yahoo, o de lo que haga falta. Pero si queremos dirigirnos en alguno en especial, deberemos poner su nombre. En el caso de Google, es Googlebot.
User-agent: Googlebot
Ojo que hay muchos más bots de los que nos pensamos. Para que os hagáis una idea, ¡Google ya tiene nueve! Para móviles, para vídeos, para imágenes... en fin, aquí tenéis el listado. O sea que echadle un vistazo para ver a quien dejáis pasar :)
Bien, ya hora sí, ya podemos pedirle lo que queramos. Vamos a ver los dos comandos más típicos. Allow y Disallow.
Allow y Disallow en robots.txt
Por ejemplo, si queremos que NO indexe un directorio en concreto, lo hacemos tal que así:
User-agent: Googlebot Disallow: /directorio/
Con eso evitamos que se indexe esa URL y todo el contenido que dependa del mismo. Un caso muy típico es para desindexar las carpetas de administración:
User-agent: Googlebot Disallow: /wp-admin/ Disallow: /wp-includes/
Esas dos carpetas son las que van siempre con WordPress. En cambio, nunca pondremos la carpeta /wp-content/, ya que normalmente ahí se guardan las imágenes, y esas si queremos que se indexen. Por cierto, si queréis saber como cambiar el directorio de imágenes en WordPress, aquí tenéis el tutorial.
Las dos formas más radicales del uso de "Disallow" son las de permitir acceso a todo:
User-agent: * Disallow:
Y la de no permitir acceso a NADA (ojo que esto nos hace desaparecer de Google:
User-agent: * Disallow: /
Por otra parte, también tenemos el comando Allow, que nos permitirá permitir la indexación de un cierto subdirectorio o archivo dentro de un directorio que habíamos prohibido indexar. Así pues, si tenemos:
User-agent: * Disallow: /directorio-no-permitido/
Podemos crear una excepción puntual, como por ejemplo:
User-agent: * Disallow: /directorio-no-permitido/ Allow: /directorio-no-permitido/excepcion/
Así pues, dentro del directorio no permitido, podemos crear una excepción que si se indexe, en el caso que queramos.
Jerarquía de instrucciones
Hay una cierta jerarquía de instrucciones que depende del nivel de especificidad de cada User Agent. Así pues, si tenemos varias instrucciones que pueden cumplirse en función de este parámetro, la más específica gana. Por ejemplo:
User-agent: * Disallow: /directorio/ User-agent Googlebot Allow: /directorio/
En este caso, Google podría seguir tanto la primera instrucción, ya que tiene un asterisco que indica que esa norma se dirige a todos los robots, pero también la segunda, que es específica para el. Como las normas se contradicen, gana la segunda, por ser más específica.
Alternativa: Meta etiqueta robots
Una interesante alternativa al archivo robots es la meta etiqueta robots, que en lugar de ir en ese archivo, va a nivel de página:
<meta name="robots" content="noindex">
Al contrario del archivo robots.txt, esto no está listado en ningún sitio, sino que está en el código de cada página. Además, aprarte de poder indicar el parámetro "noindex", también podemos usar "nofollow", para que no se sigan los enlaces de esa página. Si queréis saber más sobre cómo poner esta etiqueta y el uso dela misma, os recomiendo la SEO en el editor de posts y páginas del Curso de SEO para WordPress.
Crawl-delay en robots.txt
Otro parámetro muy útil es Crawl-delay, que dice "cada cuanto" debería pasarse ese robot, para buscar nuevo contenido. Funciona tal que así:
User-agent: * Crawl-delay: 3600
Aquí le estamos diciendo a todos los robots que se pueden pasar cada 3600 segundos, o sea, cada hora. Sería recomendable para periódicos o sites que actualizan contenidos varias veces al día.
Aunque para eso Google ya tiene una herramienta de crawling en Google Webmaster Tools, que recomiendo usar antes que toquetear el archivo robots.txt:

Mejor usaremos la herramienta de Webmaster Tools en lugar de tocar robots.txt
Comodines
Otra opción muy interesante del archivo robots.txt es la posibilidad de usar carácteres comodín. Por ejemplo, si queremos bloquear todas las URLs que contengan un interrogante, lo haremos así:
User-agent: * Disallow: /*?
Esto es útil si no queremos que se indexen URLs con parámetros, como por ejemplo búsqueda, comentarios, campañas personalizadas, etc. En el caso concreto de búsquedas en WordPress se usa el parámetro "s", con lo que podríamos detallar más:
User-agent: * Disallow: /?s=
Así nos aseguramos que no se indexa ninguna página de búsqueda, aunque la tengamos en un enlace interno o externo, y así nos evitamos problemas de contenido duplicado.
Otro parámetro comodín es el símbolo de dólar $, que te permite afectar a cualquier URL que contenga una cierta cadena. Por ejemplo, si queremos desindexar todos los archivos acabados en .php se lo diremos así:
User-agent: Googlebot Disallow: /*.php$
Evidentemente, esto lo podríamos hacer con cualquier extensión o cadena, y nos permite asegurarnos que no se indexa ningún archivo que no nos interese.
Conclusión
El archivo robots.txt es muy cómodo y práctico, e incluso está considerado dentro de Webmaster Tools, o sea que es aconsejable tenerlo activo, aunque sea con el mínimo de información básica, y luego completarlo con otras herramientas como las etiquetas.
Pero sobretodo es importante asegurarnos que no estamos bloqueando ningún contenido que queramos indexar, pues en ocasiones ciertos plugins pueden modificar ese archivo, y si lo hacen mal se puede liar parda.
O sea que al menos comprobemos que lo tenemos, que existe, que Google Webmaster Tools lo valida, y sigamos con nuestras vidas ;)