Una introducción al robots.txt

Lo primero: 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 e instalar un archivo robots.txt en un site sin caer en los errores típicos.

Además este es el primer posts de esta web, así que he escogido un tema facilito para irme soltando 🙂

Qué es el robots.txt

Robots.txt es el nombre de un archivo que se utiliza para bloquear a los robots que visitan una página web. 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. La 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 a una página.

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 y no muy bien defendidas.

Los robots de los motores de búsqueda se suelen llamar 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

No, 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 archivos de búsqueda 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++, porque es el editor que he utilizado durante años. 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 lineas

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 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 y 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 lineas. Cada directiva está en una linea 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 linea indicando el user-agent y otra linea con Allow o disallow (o ambas).

Además de habilitar o desahabilitar 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

Un comentario

Deja un comentario