Archivo Robots.txt
09 / 04 / 2024

Archivo Robots.txt: qué es y cómo configurarlo

Bruno Díaz Marketing Manager
Bruno Díaz
Marketing Manager

El robots.txt es un archivo que creamos y alojamos en nuestra web, cuya funcionalidad es indicarle a los robots a qué URLs pueden acceder de nuestro sitio y a cuáles no. 

El archivo robots.txt es todo un mundo para los SEOs que tienen un componente técnico. Es un gran desconocido para el gran público, pero para nosotros es algo fundamental a revisar en nuestros proyectos SEO, y a consultar para aprender de proyectos ajenos. En este post conocerás con detalle muchos aspectos que quizá no conocías, y te familiarizarás con algo que quizás al principio da respeto por ser muy técnico y delicado, pero verás que finalmente todo pasa por unas reglas lógicas y previsibles.

Qué es y para qué sirve

El robots.txt es un archivo que creamos y alojamos en nuestra web, cuya funcionalidad es indicarle a los robots a qué URLs pueden acceder de nuestro sitio y a cuáles no. 

Al filtrar las consultas que pueden realizar los bots, su principal virtud es la de evitar solicitudes que sobrecarguen el servidor. Nos aseguramos así que la web siempre esté disponible y a un rendimiento óptimo.

Para qué NO sirve

A menudo muchos SEOs que están empezando piensan que es una herramienta que sirve para indexar o desindexar contenidos, y nada más lejos de la realidad. De hecho una URL bloqueada por robots puede perfectamente indexarse si, por ejemplo, está enlazada o en el sitemap. Y lo peor es que estará indexada sin contenido, pues Google no puede acceder a él.

Sin embargo, modelando el robots podemos condicionar parcialmente el proceso de rastreo e indexación de nuestras URLs. De modo que un buen bloqueo de robots, unido a otras implementaciones a nivel de enlazado, etiquetas noindex o canonicals, puede ayudar.

Cosas que debes saber sobre este archivo

  • Podría servir para bloquear la indexación de archivos de imágen, vídeo o PDFs, entre otros
  • Google va a hacer caso de nuestro archivo robots, pero no es de obligatorio cumplimiento para el resto de bots del planeta tierra
  • Si queremos indexar una URL (ojo, o desindexarla) no la deberíamos bloquear
  • Debe haber un robots por subdominio y protocolo
  • El robots es público y siempre se puede consultar en dominio/robots.txt. No sólo lo va a ver Google, lo va a hacer también tu competencia, y eso lleva a mucha gente a ocultar cosas, mientras que otros son 100% transparentes. Puedes consultar el nuestro en latevaweb.com/robots.txt y sacar tus propias conclusiones
robots.txt

El nuestro es un robots muy sencillo. Dejamos pasar a todos los robots, bloqueamos el acceso a determinadas carpetas (nos generaban un problema de rastreo por unas configuraciones de servidor), y le indicamos dónde puede encontrar nuestros sitemaps.

La sintaxis en los robots.txt

Este archivo tiene una serie de lenguajes y comandos propios que debes conocer para poder interpretarlos primero, y manipularlos después. Son los siguientes:

  • user-agent: le indicamos a quién aplica esta regla. Si ponemos * afecta a todos, mientras que si es específico, podemos indicar a los robots que nos estamos dirigiendo
  • Allow: por aquí, pasen y vean
  • Disallow: prohibido el paso
  • Sitemap: aquí encontrará usted señor Google todas las URLs que quiero que me indexe. Debes poner las URLs de los sitemaps completas, con su protocolo, www si es el caso, host y slug
  • #: comentarios para que lo lean los humanos, no es para robots
  • $: fin de una cadena
  • * : 1 o más repeticiones

La sintaxis de los robots es muy estricta y cualquier error hace que no funcione correctamente. Al loro con mayúsculas y de minúsculas, tienen impacto. 

En el caso de existir un conflicto entre dos reglas que son contradictorias, ojo, Google aplicará la menos restrictiva.

Mientras que en el caso de tener dos reglas en la misma dirección pero de profundidad diferente, tomará la más específica.

Casos de aplicación práctica

Qué hacemos con los parámetros

Este es un dilema importante. Vamos a suponer que tenemos un portal de clasificados, o un e-commerce. Cuando vamos a un listado de productos, podemos ordenar, filtrar o paginar resultados, y eso nos incorpora un montón de parámetros en las URLs. Y te preguntarás qué debes hacer con eso. 

Pues bien, la pregunta clave es si la aplicación de un parámetro cambia de forma relevante el contenido de la página. Si no cambian contenidos los llamamos parámetros pasivos, y los más clásicos son las UTMs o las ordenaciones. En cambio para los que alteran los contenidos, como te imaginarás ya los llamamos activos, y los más vistos son los de paginación o lengua.

Por lo general, para los parámetros activos no debemos hacer nada, pues al tener contenido original queremos indexarlo, aunque no siempre será así. En cambio los pasivos pueden representar un problema de indexación y rastreo. Podemos controlar la indexación con canonicals y noindex, pero si detectamos con análisis de logs que las URLs con parámetros pasivos reciben muchas consultas, entonces mejor bloquearlas por robots con un Disallow. De esta forma ayudamos a Google a priorizar, y sólo consultará URLs buenas.

Aquí tenéis un ejemplo real de un robots nuestro en un e-commerce definido manualmente. Verás que aquí lo perseguido es bloquear acceso a URLs con filtros aplicados, listados con ordenaciones distintas, parámetros de lengua o el uso del buscador interno:

robots.txt disallow

Robots para Wordpress y otros CMS

Para los que usáis Wordpress, hay que tener unas cosas en cuenta pues tiene particularidades.

Aunque puedes generar un robots manual, lo ideal es hacerlo a partir de alguna herramienta SEO como Rank Math o Yoast, que te darán un documento base en función de los ajustes SEO que tengas, que después podrás editar. Y a partir de aquí, cosas que deberías revisar y ajustar, que son razonables para la mayoría de proyectos:

  • Allow a los archivos SCC, JS i Ajax, por lo menos en el front
  • Disallow al wp admin (backoffice), archivos de plugins i themes
  • Allow al feed del blog, pero bloquear acceso a urls de postblog/feed
  • Disallow a las paginaciones de los tags
  • Disallow a las consultas en el buscador interno
  • Disallow a las URLs con parámetros, ya sean todas o unas tipologías concretas
  • Allow a recursos como PDFs, imágenes o vídeos

Todas estas movidas se deben a que Wordpress genera miles de URLs que no necesitas para nada, y es mejor que Google no pierda el tiempo consultándolas.

Veamos un ejemplo de robots de un Wordpress con Woocommerce sencillo, generado por Rankmath y editado por nosotros:

robots.txt woocommerce rankmath

Aquí lo buscado era dejar pasar a todos los robots al front, no al backoffice. Bloqueamos parámetros específicos de URLs que se generan al añadir productos al carrito, filtros por atributos, ordenación de listados y la caché. Sin embargo, dejamos que pase a un apartado del back que necesita para procesar los Ajax.

Para el caso de Presta, puedes consultar sus particularidades en nuestro post SEO para Prestashop. El CMS no ofrece un archivo muy completo, pero que no vamos a poder editar.

Testear los robots.txt

Como decíamos al inicio del post, el archivo robots.txt es algo tremendamente delicado, y una coma o punto mal puesto puede jodernos el SEO de una web en muy poco tiempo. Así que debe estar siempre controladísimo, tener muy pocas personas acceso a él, e incluso siendo un master del universo, hay que testear siempre las reglas antes y después de aplicarlas.

¿Cómo lo podemos hacer? Históricamente los SEOs usábamos el probador de robots.txt de Google, pero lo decidieron eliminar, que en paz descanse. Así que deberás conformarte con herramientas de terceros, como la de TechnicalSEO. Mediante esta herramienta podemos comprobar que un robots está disponible e inteligible a nivel general, pero lo más útil es que podemos ponerle la URL de una página o archivo de nuestra web, y nos indica si nuestro robots le deja acceder o no. Nos dirá además, en caso de bloqueo, qué regla está cerrando el paso y en qué línea la podemos editar.

Una alternativa, o incluso mejor como complemento, es instalarlos en nuestro Chrome la maravillosa extensión Robots Exclusion Checker. De forma muy intuitiva consultando una URL, vemos si está bloqueada por robots o no.

Checklist de un robots.txt válido

Acabamos con un listado de las cosas básicas que debería tener un robots, en formato checklist:

  1. Está ubicado en la raíz de la web
  2. Da respuesta 200 de servidor
  3. En formato UTF-8
  4. No pesa más de 500kb
  5. Usa sintaxis válida
  6. Pasa test Google Search Console
  7. No bloqueamos archivos CSS, JS
  8. Le indicamos dónde encontrar los Sitemaps

¿Añadiríais alguna cosa más? Diría que esos son los básicos y aplicables a todas las webs, luego aspectos más específicos dependerán de cada caso.

Bruno Díaz Marketing Manager
Sobre el autor/a
Bruno Díaz — Marketing Manager
Profesional de larga trayectoria como consultor de comunicación y marketing digital, y especializado en SEO, SEM y proyectos web. Como Marketing Manager de la agencia, coordino a un equipazo de técnicos de marketing digital del cual estoy muy orgulloso.

Noticias relacionadas

¿Tienes un proyecto en mente? Cuéntanoslo