robots.txt: qué es y cómo funciona
robots.txt es un archivo de texto plano en la raíz de un sitio que indica a los rastreadores qué rutas de URL pueden o no pueden descargar.
robots.txt es un archivo de texto plano que se sirve en la raíz de un host —https://example.com/robots.txt— y que indica a los rastreadores qué rutas pueden descargar. Tras casi tres décadas como convención informal, se estandarizó en 2022 como Protocolo de exclusión de robots en el RFC 9309.
La sintaxis en un ejemplo
User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: GPTBot
Disallow: /
Sitemap: https://example.com/sitemap.xml
Cada grupo empieza con una o varias líneas User-agent seguidas de reglas. Un rastreador obedece solo el grupo más específico que lo nombra, así que GPTBot, en el ejemplo, ignora por completo el grupo *. Las rutas distinguen mayúsculas de minúsculas y coinciden desde el inicio de la ruta de la URL; * equivale a cualquier secuencia de caracteres y $ marca el final de la URL.
Cómo resuelve Google los conflictos
Google aplica la regla de coincidencia más larga. Para /search/help, Allow: /search/help gana al más corto Disallow: /search. Cuando un Allow y un Disallow coinciden con la misma longitud, gana el Allow, que es el menos restrictivo. Google ignora crawl-delay y lee solo los primeros 500 KiB del archivo; consulta cómo interpreta Google el archivo robots.txt.
Rastrear no es indexar
Este malentendido es el que más daño causa. robots.txt bloquea la descarga, no la indexación. Una URL bloqueada que otros sitios enlazan puede seguir apareciendo en los resultados, normalmente sin descripción. Para mantener una página fuera del índice, deja que se rastree y usa noindex; Google dejó de respetar las líneas noindex dentro de robots.txt en 2019.
robots.txt y la búsqueda con IA
La mayoría de las empresas de IA publican user-agents distintos según su finalidad, de modo que puedes excluirte del entrenamiento de modelos y seguir siendo visible en las respuestas de IA. Puedes bloquear GPTBot (entrenamiento de OpenAI) pero permitir OAI-SearchBot (búsqueda de ChatGPT), o bloquear ClaudeBot y permitir Claude-SearchBot. Google-Extended controla el uso de tu contenido para el entrenamiento y el grounding de Gemini; no afecta a la Búsqueda de Google ni a los AI Overviews. Más detalles en rastreador de IA.
Errores frecuentes
- Un
Disallow: /heredado de un sitio de pruebas (staging) que llega a producción. - Bloquear las carpetas de CSS y JavaScript, de modo que Google no puede renderizar bien la página.
- Usar robots.txt para ocultar zonas privadas. El archivo es público y señala justo lo que quieres esconder: usa autenticación.
- Suponer que un solo archivo cubre todos los subdominios. Cada host y cada protocolo necesitan el suyo.
- Un robots.txt que devuelve un error del servidor. Google trata una respuesta 5xx como «no rastrear nada» durante un tiempo, y el rastreo se detiene.
Prueba tu archivo
El probador de robots.txt descarga y analiza tu archivo, prueba cualquier URL frente a Googlebot, Bingbot y los bots de IA con la lógica de coincidencia más larga de Google, y resalta la regla exacta que ha coincidido, además de los errores de sintaxis y las líneas de sitemap. Para entender quién lee el archivo en primer lugar, consulta rastreador web.
Preguntas frecuentes
¿Elimina robots.txt una página de Google?
No. Solo impide el rastreo. Una URL bloqueada puede seguir indexada si otras páginas la enlazan. Usa una etiqueta meta noindex o la cabecera X-Robots-Tag, y deja la URL rastreable para que los buscadores puedan ver esa instrucción.
¿Todos los bots obedecen robots.txt?
Los buscadores de confianza y la mayoría de las empresas de IA lo hacen, pero el cumplimiento es voluntario. Algunos agentes que actúan a petición del usuario, como Perplexity-User, pueden no seguirlo, y los bots maliciosos lo ignoran, así que usa autenticación o reglas de firewall para todo lo que deba seguir siendo privado.
¿Dónde debe colocarse el archivo robots.txt?
En la raíz de cada host, por ejemplo https://www.example.com/robots.txt. Un archivo en una subcarpeta se ignora, y cada subdominio y cada protocolo necesitan su propio archivo.