Qué es el archivo robots.txt
El archivo robots.txt es un fichero de texto plano que se coloca en el directorio raíz de un sitio web para indicar a los rastreadores (bots o arañas web) qué páginas o secciones pueden o no pueden visitar.
Cuando un bot como Googlebot, Bingbot o el rastreador de Facebook (Facebot) llega a un sitio, lo primero que hace es buscar este archivo en una ubicación fija: www.ejemplo.com/robots.txt.
Si no encuentra ningún archivo en esa ruta, asumirá que el sitio no tiene instrucciones de rastreo y procederá a indexar todo el contenido disponible. Si el archivo existiera en otra ubicación, el rastreador lo ignoraría por completo, por lo que siempre debes colocarlo en el directorio raíz del dominio.
Breve historia del protocolo de exclusión de robots
El archivo robots.txt nació en 1994, cuando Martijn Koster propuso el Robots Exclusion Protocol (REP) como respuesta a la proliferación de rastreadores automáticos que sobrecargaban los servidores web de la época. La idea era sencilla: crear un estándar voluntario que permitiera a los propietarios de sitios comunicar a los bots qué partes de su web podían visitar.
El protocolo fue adoptado rápidamente por los principales motores de búsqueda y sigue siendo un estándar fundamental en el ecosistema web, aunque con importantes matices que es necesario conocer antes de usarlo.
Por qué es importante el archivo robots.txt
Los motores de búsqueda tienen dos trabajos principales: rastrear páginas web y mostrar resultados relevantes a los usuarios. Para rastrear, siguen enlaces de un sitio a otro en un proceso que se conoce como spidering. Este proceso es continuo y afecta a miles de millones de páginas. El archivo robots.txt permite que los propietarios de sitios web influyan en ese proceso de varias formas:
- Evitar que se rastreen páginas duplicadas, de administración o de pruebas.
- Optimizar el presupuesto de rastreo (crawl budget) del sitio.
- Indicar a los rastreadores dónde encontrar el sitemap XML.
- Bloquear el acceso a recursos que no aportan valor en los resultados de búsqueda.
Gestión del presupuesto de rastreo (crawl budget)
Uno de los usos prácticos más importantes del robots.txt es la gestión del crawl budget. Cada sitio web recibe una cantidad limitada de visitas de rastreo por parte de Googlebot y otros bots. Si ese presupuesto se consume en páginas sin valor, como URLs de filtros de facetas, páginas de sesión o archivos internos, las páginas más relevantes pueden tardar más en rastrearse e indexarse.
Al bloquear con robots.txt las secciones que no necesitan ser rastreadas, diriges ese presupuesto hacia el contenido que realmente quieres posicionar. Esto es especialmente relevante en sitios con miles o millones de URLs, como tiendas de comercio electrónico o portales de noticias. Además, limitar el acceso de los rastreadores ayuda a reducir la carga sobre tu servidor, lo que fue precisamente la motivación original para crear el protocolo en 1994.
Cómo usar el archivo robots.txt
Después de llegar a un sitio web, el rastreador buscará el archivo robots.txt antes de procesar cualquier otra página. Si lo encuentra, leerá primero sus instrucciones y actuará en consecuencia. Si el archivo no contiene ninguna directiva que restrinja al agente de usuario, o si directamente no existe, el rastreador continuará con normalidad y visitará todo lo que pueda seguir desde los enlaces del sitio.
Directivas principales
La sintaxis del robots.txt puede entenderse como el "lenguaje" con el que le hablas a los rastreadores. Estas son las directivas más comunes:
- User-agent: especifica el rastreador al que se aplica la regla. El asterisco (*) se usa para referirse a todos los bots.
- Disallow: indica la ruta que el rastreador no debe visitar.
- Allow: permite el acceso a una ruta específica, incluso si su directorio padre está bloqueado.
- Sitemap: indica la ubicación del sitemap XML del sitio.
- Crawl-delay: algunos bots respetan esta directiva para esperar un número de segundos entre solicitudes, reduciendo la carga del servidor.
Ejemplo de robots.txt
Un archivo básico con las directivas más habituales tendría este aspecto:
User-agent: * Disallow: /admin/ Disallow: /carrito/ Allow: / Sitemap: https://www.ejemplo.com/sitemap.xml
Este ejemplo bloquea el acceso a las carpetas de administración y carrito de compra, permite el rastreo del resto del sitio y señala dónde está el sitemap.
Cómo afecta robots.txt según el tipo de archivo
Es un error pensar que robots.txt actúa de la misma forma sobre todos los tipos de contenido. El comportamiento del rastreador varía dependiendo de lo que estés bloqueando:
- Páginas HTML: si bloqueas una URL con Disallow, el rastreador no la visitará. Sin embargo, si otros sitios enlazan a esa página, Google puede saber que existe y mostrarla en los resultados sin título ni descripción.
- Imágenes: bloquear imágenes con robots.txt impide que aparezcan en Google Imágenes. Esto puede ser útil para imágenes internas, pero puede perjudicar el tráfico si las imágenes tienen valor de búsqueda.
- Vídeos: si bloqueas un archivo de vídeo o la página que lo contiene, Google no podrá indexar ese contenido multimedia ni mostrarlo en resultados de vídeo.
- PDFs y otros archivos: bloquear PDFs evita que aparezcan en los resultados de búsqueda. Si tienes documentos internos o borradores que no quieres que se indexen, esta puede ser una opción válida, aunque existen alternativas más seguras.
Cuando bloqueas recursos como archivos CSS o JavaScript, también puedes afectar negativamente cómo Google renderiza y entiende tu página, lo que puede perjudicar el posicionamiento.
Robots.txt no oculta páginas de los resultados de búsqueda
Este es uno de los malentendidos más comunes y puede provocar errores SEO graves. Bloquear una URL con robots.txt no garantiza que esa página desaparezca de los resultados de Google.
Google puede conocer la existencia de una URL a través de enlaces externos o internos, aunque nunca la haya rastreado. En ese caso, puede mostrarla en los resultados de búsqueda con información muy limitada (sin título ni descripción), pero sigue siendo visible para los usuarios.
Si tu objetivo es que una página no aparezca en los resultados de búsqueda, tienes dos alternativas más fiables:
- Directiva noindex: incluye la etiqueta
<meta name="robots" content="noindex">en el código HTML de la página. Google la rastreará pero no la incluirá en su índice. Ojo: para que funcione, el rastreador debe poder acceder a la página, así que no la bloquees con robots.txt al mismo tiempo. - Protección con contraseña: si el contenido es realmente privado, protege la página con autenticación. Esta es la forma más segura de impedir el acceso tanto a rastreadores como a usuarios no autorizados.
En resumen: robots.txt controla el rastreo, no la indexación. Son conceptos distintos y tratarlos como equivalentes lleva a errores que pueden afectar gravemente a la visibilidad de un sitio.
Limitaciones del archivo robots.txt
El robots.txt es una herramienta útil, pero tiene limitaciones importantes que todo webmaster debe conocer antes de confiar en él como solución de control de acceso.
Es un protocolo consultivo, no obligatorio
El robots.txt funciona por convención. Los rastreadores legítimos, como Googlebot, respetan sus directivas porque así lo han decidido voluntariamente. Sin embargo, ningún bot malicioso está obligado a seguirlo. Los scrapers, spammers y otros agentes con malas intenciones pueden ignorar completamente el archivo y rastrear cualquier URL del sitio. Esto significa que robots.txt es una herramienta para gestionar rastreadores de confianza, no un sistema de seguridad.
No garantiza privacidad real
Un error frecuente es creer que añadir una ruta al robots.txt protege su contenido. En realidad, ocurre lo contrario: el archivo robots.txt es completamente público. Cualquier persona puede acceder a él escribiendo tudominio.com/robots.txt en su navegador.
Si listas un directorio como /datos-privados/ o /documentos-internos/ en tu robots.txt, estás anunciando su existencia a cualquiera que consulte el archivo, incluyendo actores maliciosos que podrían intentar acceder directamente a esas rutas.
Implicaciones de seguridad del robots.txt
Las implicaciones de seguridad del robots.txt son a menudo subestimadas. Estos son los riesgos más relevantes que debes tener en cuenta:
- Exposición de rutas sensibles: listar directorios de administración, paneles internos o carpetas con datos en el robots.txt puede facilitar el trabajo a atacantes que exploren tu sitio.
- Acceso público garantizado: al estar siempre en la misma URL pública, cualquier herramienta de auditoría o actor externo puede leerlo sin necesidad de autenticación.
- Sin cifrado ni autenticación: el archivo es texto plano y no tiene ningún mecanismo de protección propio.
La recomendación es clara: no uses robots.txt como única medida de protección para contenido sensible. Combínalo con autenticación real, permisos de servidor o directivas de acceso cuando el contenido deba mantenerse privado. Si necesitas que ciertos directorios no sean rastreados pero tampoco quieres revelar su existencia, considera protegerlos a nivel de servidor y no mencionar esas rutas en el robots.txt.
Buenas prácticas para usar robots.txt correctamente
Conociendo tanto su utilidad como sus limitaciones, estas son las recomendaciones más útiles para aplicar el robots.txt de forma efectiva:
- Coloca siempre el archivo en el directorio raíz del dominio para que los rastreadores lo encuentren.
- Usa Disallow para bloquear páginas duplicadas, zonas de administración o recursos sin valor SEO.
- No bloquees archivos CSS o JavaScript que Google necesita para renderizar tu sitio correctamente.
- Incluye la URL de tu sitemap en el robots.txt para facilitar el rastreo del contenido importante.
- Si quieres evitar la indexación de una página, usa noindex, no Disallow.
- No listes rutas privadas o sensibles en el robots.txt, ya que el archivo es público.
- Revisa periódicamente el archivo para eliminar reglas obsoletas que puedan bloquear contenido valioso por error.
El robots.txt es una herramienta potente cuando se usa bien, pero requiere comprensión de sus límites. Combinarlo con otras técnicas, como noindex, canonical o protección con contraseña, te permite tener un control real y efectivo sobre cómo los motores de búsqueda interactúan con tu sitio.