Una introducción al robots.txt

Este artículo no es un análisis en profundidad de qué es el robots.txt. Se trata de una introducción al tema y aspira a ser, sobre todo, práctica. Se trata de ser capaz de entender qué es el robots.txt, entender cómo funciona, para qué sirve y para qué no sirve y cómo puede beneficiarnos para conseguir mejorar el posicionamiento orgánico. En esencia, la definición vendría ser algo como esto. El robots.txt es un archivo que indica a los robots que entran en una página qué páginas pueden visitar y cuáles no. Con él vamos a poder sugerir a distintos tipos de robots qué partes de la página no deberían visitar.

Creo que hay tres puntos esenciales que es importante entender sobre el robots.txt. Tres malentendidos esenciales que se siguen produciendo sobre el tema. La primera, que el archivo robots no es un sistema de seguridad. Como decíamos arriba, el archivo robots.txt sugiere a los robots cuáles son las rutas que pueden visitar y cuáles no. Pero esta sugerencia no implica una obligación para estos robots. Es decir, que no vamos a poder bloquear el acceso a los robots a menos que ellos estén dispuestos a aceptar la sugerencia. La segunda cosa que tenemos que entender es que el robots txt no sirve para evitar la indexación de una página, sino el rastreo. Este quizás sea el malentendido más popular: la idea de que con el robots.txt podemos evitar que una página aparezca en Google. El malentendido es mayor porque, en cierto sentido, esto puede funcionar. Si desde el robots.txt le pedimos a los robots de google que no visiten una página lo más probable es que esa página no llegue a indexarla. Pero, en realidad, no le estamos diciendo al robots que no indexe la página y sí, es posible que se encuentre la página de otra forma y llegue a incluirla en sus listados.

La tercera cosa que tenemos que saber del robots.txt es que funciona. Porque, aunque hemos visto que es sólo una sugerencia para los robots lo cierto es que el robot de Google (los robots de google, en realidad) están muy bien educaditos. Si desde el robots les decimos que no visiten las urls de una ruta determinada no la visitará, pero tenemos que tener en cuenta que eso incluye recursos que el robots podría necesitar para entender correctamente el contenido de una página. Si le pedimos que no visite esos contenidos puede que le estemos ofreciendo una versión de nuestro contenido muy diferente de la que nosotros pensamos

 

Pero entonces, qué es el robots.txt y para qué me sirve

Vamos a explicarlo desde el principio. para intentar que resulte claro.

Los motores de búsqueda utilizan programas automáticos para analizar el contenido de las páginas web: robots o bots. Hay todo tipo de robots por la red. Algunos son “buenos” y otros digamos que no tanto. Los bots no tan buenos se suelen llamar “maliciosos” y tienen todo tipo de fines. Por ejemplo, se utilizan para conseguir acceder al backend de una página, para escrapear información o incluso para robar datos.

Si estás leyendo esta introducción es posible que tengas poca experiencia montando páginas. Si es así puede que sea buena idea que te informes acerca de estos robots maliciosos y qué puedes hacer para evitarlos. No pienses que tu página es pequeña y nadie se va a interesar en ella. Estos robots atacan a discreción y, en muchos casos prefieren atacar páginas pequeñas, precisamente, porque estas no suelen tener sistemas de defensa muy sofisticados.

Los robots de los motores de búsqueda se conoces a veces como crawlers o también arañas. Son los robots que se encargan de analizar el contenido de las páginas web para ofrecer luego los resultados a los usuarios. Google, por ejemplo, utiliza un robot diferente para rastrear las páginas como si fuese un usuario trabajando en desktop y otro para mobile.

El archivo robots.txt da instrucciones a los robots acerca de qué páginas deberían visitar y cuáles no. En este punto y con la información que hemos visto hasta ahora es posible que tengas dos preguntas muy cabales: ¿Por qué iba a querer evitar que Google no vea algunas partes de mi página si no tengo nada que esconder? y ¿el archivo robots.txt me protegerá de esos bots maliciosos?

Robots.txt no es un sistema de protección

Lo dijimos antes, pero conviene repetirlo: el archivo robots.txt no te protegerá de los robots maliciosos. El archivo sólo hace “sugerencias” a los robots y estos, por decirlo así, las seguirán si lo ven conveniente. Los robots de los buscadores y, en general, los robots interesados en no ir a donde no son bien recibidos leerán las instrucciones y se irán. Pero si un robot ha entrado para hacer fechorías en tu casa no esperes que se limpie los pies en el felpudo.

Por qué quiero que los robots de los buscadores no accedan a determinadas partes de mi página web

En realidad puede haber varias razones, pero aquí nos vamos a referir a la razón por la que, en SEO, a veces es buena idea que los robots no accedan a todas las partes de tu página. Para esto tienes que familiarizarte un poco con el concepto de crawl budget.

Llamamos crawl budget al tiempo que el robot dedica a examinar cada página web. Piensa que, aunque los buscadores dedican grandes cantidades de recursos a analizar la web esta sigue siendo inmensa y crece cada día. Por lo tanto, los buscadores dedicarán un tiempo determinado a cada página web. El concepto es un poco más complejo y quizás quieras informarte más a fondo, pero, en resumidas cuentas, se trata de facilitarle la vida a los buscadores y que estos no pierdan el tiempo visitando páginas que luego no acabarán mostrando en los resultados de búsqueda, como puede ser una página de login.

Pero este es sólo un ejemplo. Algunas otras razones por las que puedes querer bloquear robots en tu web son:

  • Ahorrar ancho de banda (no esperes milagros, pero todo ayuda) También puedes querer bloquear secciones enteras que no te interesa que estén disponibles para los buscadores
  • Bloquear un site en construcción o un site que utilices como versión pre de tu sitio.

Aquí Google da una descripción sobre el archivo y posibles usos de robots.txt

¿Cómo se crea un archivo robots.txt?

Robots.txt es un archivo extremadamente sencillo. Lo vamos a utilizar, simplemente, para indicar a qué páginas queremos vetar el acceso a los robots. Puedes contruir un archivo robots.txt utilizando, por ejemplo el bloc de notas de windows. Basta crear un archivo .txt y subirlo a la raiz de tu site. Lo único que tienes que tener en cuenta es que el editor que utilices tiene que ser capaz de crear archivos UTF-8 estándar. UTF-8 es un sistema de codificación de caracteres. Te dejo un enlace para que entiendas lo que eso significa, pero no te preocupes demasiado por ahora. Con el bloc de notas puedes crear el archivo sin problemas

 

Si estás trabajando con algún CMS, como WordPress o Drupal hay plugins que incluyen la creación de un archivo robots.txt perfectamente funcional que tu podrás editar después.

WordPress es el CMS más popular hoy en día y Yoast el plugin más popular para SEO. Con él podrás crear un archivo robots.txt, pero hay otras alternativas. Rankmath es cada vez más conocido y, en el fondo, te basta con un simple bloc de notas.

Crea un archivo robots.txt de cero

Empezaremos a trabajar con un editor de texto. Puedes utilizar el que tú quieras. Sólo recuerda que tienes que poder crear archivos UTF-8, pero eso no será problema, te lo aseguro. Personalmente me siento muy cómodo utilizando Notepad++, para este tipo de cosas. Es gratuito, es intuitivo, tiene muchas funcionalidades y una documentación bastante extensa, por si quieres profundizar. Hay otras opciones igualmente buenas por ahí, pero no te compliques. Bastará con utilizar el bloc de notas (si estás trabajando con windows).

Tenemos tres directivas básicas en robots.txt:

  • User-agent
  • Allow
  • Disallow.

Ya ves que no te lo podemos poner más fácil.

Con user-agent vamos a indicar para qué robots van a tenerse en cuenta las directivas que indiquemos a continuación con Allow y Disallow que, como te puedes imaginar, son las encargadas de vetar o permitir el acceso a los robots que hayamos mencionado.

Me explicaré mejor con un ejemplo

Digamos que tenemos un archivo robots.txt con las siguientes líneas

User-Agent: EsteRobot

Disallow:/

Lo que estaríamos diciéndole a los robots es que, en nuestro site, el robot “EsteRobot” está vetado para todo el site. Ten en cuenta que la directiva diferencia entre mayúsculas y minúsculas, por lo que no estaríamos bloqueando a un supuesto bot llamado “Esterobot”.

Qué robots bloquear

Existen listas de robots maliciosos y algunos SEO prefieren bloquear a todos los robots que consideren que no tienen nada que hacer en su sitio web. Lo cierto es que, como hemos dicho, los robots maliciosos no tienen por qué cumplir con lo indicado en el robots.txt, pero es una posibilidad que algunos prefieren incluir.

Una advertencia. Los robots no dan nada por hecho y distinguen entre mayúsculas y minúsculas así que, en el ejemplo anterior, el robot Esterobot no se daría por aludido con las lineas anteriores.

Si todavía tienes algunas dudas aquí se explican muy bien las directivas que puedes aplicar en robots.txt

 

Cómo bloquear rutas con robots.txt

Con frecuencia no querrás utilizar el archivo robots para bloquear una url, sino carpetas enteras o un patrón de url.

La directivas disallow te permite bloquear rutas, es decir, carpetas enteras. Ten en cuenta que, cuando bloqueas una ruta bloquearás también las carpetas incluidas dentro de ella. Si lo que quieres es bloquear una carpeta, pero permitir el acceso a carpetas internas tendrás que jugar con las directivas Allow Disallow.

 

Por ejemplo, digamos que tengo quiero bloquear mi carpeta llamada “vocales” pero dentro de ella quiero que los robots todavía tengan acceso a la carpetas “A”

user-agent:*

Disallow:/vocales/

Allow:/vocales/a

 

Los robots.txt se crean por grupos como este. Estos grupos constan de líneas. Cada directiva está en una línea diferente. Cuando un robot llega al archivo empieza a leerlo por orden, de arriba abajo y cumplirá la primera orden que le afecte de forma concreta. Esto quiere decir que, si autorizamos a un robot a acceder en el segundo grupo pero lo hemos bloqueado en el grupo anterior cumplirá con las órdenes recibidas en primer lugar.

Cada grupo está formado, al menos, por una línea indicando el user-agent y otra línea con Allow o disallow (o ambas).

Además de habilitar o deshabilitar robots el archivo robots.txt se utiliza a menudo para indicar la ubicación del sitemap o para incluir la directiva crawl-delay.

¿Tengo que añadir la directiva crawl-delay?

No. Al menos si lo haces para ponerle las cosas fáciles al robot de Google. Aquí tienes un video de John Mueller explicando que te agradecen mucho el esfuerzo, pero que Google, en concreto, no lee esa directiva

Pon mucha atención a esto cuando configures tu robots.txt

Sí, tener un archivo robots.txt es una buena idea y aprender cómo funciona es importante porque seguro que lo vas a utilizar en algún momento. Pero antes de subir tu archivo ten en cuenta estos puntos que te pueden librar de un buen susto:

  1. La diferencia entre permitir todos los robots y bloquear todos los robots es sólo un /. Ten mucho cuidado con no confundirte porque te puedes cargar la indexación de tu página.
  2. Si vas a utilizar robots.txt para bloquear tu página en pre antes de subirla a pro comprueba siempre que en la subida no se incluye el robots.txt que bloquea el site. Lo creas o no, esto pasa.
  3. Puedes incluir tantos sitemaps como quieras.
  4. Ten mucho cuidado de no bloquear archivos necesarios. Mi recomendación es que no hagas experimentos. Recuerda que el archivo robots.txt puede llegar a bloquear todo tu site para los robots.
  5. Utiliza el probador de robots.txt
Miguel Carreira López
Miguel Carreira López

Trabajo en análisis web y SEO desde hace diez años. Creo que no hay nada que se pueda decir sobre el tráfico de una página web que no se pueda explicar mejor con un gráfico. Trabajo sobre todo con las herramientas de Google (GSC, Looker, Analytics) pero hay vida más allá. En los ratos libres escribo sobre libros en https://www.enestadocritico.com/