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.
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.
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.
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.
Este archivo tiene una serie de lenguajes y comandos propios que debes conocer para poder interpretarlos primero, y manipularlos después. Son los siguientes:
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.
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:
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:
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:
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.
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.
Acabamos con un listado de las cosas básicas que debería tener un robots, en formato checklist:
¿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.
¿Tienes un proyecto en mente? Cuéntanoslo
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.