robots.txt
robots.txt es un archivo de texto plano ubicado en la raíz de un host (https://dominio.com/robots.txt) que sigue el Robots Exclusion Protocol e indica a los crawlers qué URLs pueden o no pueden rastrear. Controla el rastreo, no la indexación: bloquear una URL en robots.txt no garantiza que quede fuera del buscador.
Qué es
robots.txt es un archivo de texto plano, codificado en UTF-8, que vive en la raíz de cada host (https://dominio.com/robots.txt). Sigue el Robots Exclusion Protocol e indica a los crawlers qué rutas pueden o no pueden rastrear, mediante grupos de reglas agrupadas por user-agent.
Su alcance es el rastreo, no la indexación ni el posicionamiento. Es la distinción más confundida del SEO técnico: dentro del ciclo de Rastreo e indexación, robots.txt opera solo en la primera fase. Google lo dice de forma literal: «it is not a mechanism for keeping a web page out of Google». Una URL bloqueada en robots.txt puede seguir apareciendo en resultados si recibe enlaces externos, normalmente sin descripción ni título descriptivo.
Google soporta cuatro campos: user-agent, allow, disallow y sitemap. No soporta crawl-delay ni noindex dentro del archivo. Es un estándar voluntario: los bots legítimos lo respetan; los maliciosos lo ignoran, así que no es una medida de seguridad.
Por qué importa
robots.txt es la única URL que decide qué pueden rastrear los bots. Una línea mal puesta no es un detalle menor: puede frenar el rastreo de la web o, combinada con otras directivas, dejar páginas fuera de control. En sitios grandes es además una palanca de Crawl budget (presupuesto de rastreo): bloquear rutas de bajo valor concentra el rastreo donde importa, algo que se confirma con el Análisis de logs, la lectura directa de cómo entran los bots de verdad.
El error más caro nace de confundir rastreo con indexación. Si quieres sacar una página del índice con noindex y además la bloqueas en robots.txt, el buscador nunca rastrea la página, nunca lee el noindex y la URL puede quedarse indexada. La directiva correcta para cada objetivo importa más que la cantidad de reglas. Este matiz se cruza también con la Canonicalización y duplicados: bloquear una URL canónica o sus duplicados en robots.txt impide que el buscador procese la señal y puede romper la consolidación.
En la búsqueda con IA, robots.txt gana peso como puerta de entrada o bloqueo de los crawlers de IA, y por tanto como primera palanca de GEO · Generative Engine Optimization: si bloqueas a esos bots, te quedas fuera de su corpus. Pero permitir un bot en robots.txt no garantiza acceso real: el mismo bot puede estar bloqueado a nivel de CDN o firewall. Por eso lo tratamos como una palanca crítica y de alto riesgo: se revisa con método y se monitoriza, no se toca a ciegas.
En profundidad
robots.txt frente a noindex: por qué son incompatibles
La regla de decisión es simple. ¿Quieres evitar que un crawler rastree una página? robots.txt. ¿Quieres evitar que el buscador la indexe o la muestre? noindex, vía meta etiqueta robots o cabecera HTTP X-Robots-Tag, o protección por contraseña.
No se combinan. El noindex solo se lee si el buscador puede rastrear la página. Si la bloqueas en robots.txt, nunca ve la directiva y la URL puede quedarse indexada. Google confirma que el noindex va en la meta etiqueta o en la cabecera, nunca dentro del robots.txt. Esta separación entre rastreo e indexación es la misma que rige todo el ciclo de Rastreo e indexación: cada palanca actúa en una fase distinta y no son intercambiables.
Qué pasa cuando el robots.txt devuelve 4xx o 5xx
El código de estado del propio archivo decide el comportamiento. Un 2xx se procesa con normalidad. Un 4xx (salvo 429) se trata como si el robots.txt no existiera: el rastreo queda permitido.
Un 5xx es el caso delicado. Google detiene el rastreo durante las primeras horas y reintenta; si el error persiste, usa la versión en caché durante unos 30 días y, pasado ese plazo, actúa según la disponibilidad general del sitio. Un robots.txt que responde 5xx puede frenar todo el rastreo de forma temporal, así que su disponibilidad importa tanto como su contenido. Es un punto a vigilar en cualquier Redirecciones 301 y migraciones, donde un cambio de servidor o de configuración puede dejar el archivo devolviendo 5xx sin que nadie lo note.
| Código del robots.txt | Cómo lo interpreta Google | Efecto sobre el rastreo |
|---|---|---|
| 2xx | Archivo válido, se procesan sus reglas | Rastreo según directivas |
| 4xx (salvo 429) | Como si no existiera robots.txt | Rastreo permitido sin restricciones |
| 5xx / 429 | Servidor no disponible | Detiene el rastreo y reintenta; usa caché ~30 días |
| 5xx persistente >30 días | Cae la caché | Actúa según disponibilidad general del sitio |
Ámbito, formato y sintaxis del archivo
robots.txt vive en la raíz del host y sus reglas aplican solo al host, protocolo y puerto exactos donde reside. http y https, cada subdominio y cada puerto son ámbitos distintos, con su propio archivo. Esa granularidad por host importa en Hreflang y SEO internacional, donde cada subdominio o dominio de país necesita su propio robots.txt coherente.
Es texto plano UTF-8. Google ignora lo que exceda 500 KiB. Los nombres de campo no distinguen mayúsculas (User-agent equivale a user-agent), pero el valor de la ruta sí es case-sensitive y debe empezar por /. Google admite los comodines * (cualquier secuencia) y $ (fin de URL); ante reglas en conflicto aplica la menos restrictiva, ganando la de ruta más específica. Los comodines son la herramienta para domar la Navegación facetada, donde combinaciones de filtros generan infinitas URLs que conviene mantener fuera del rastreo. El campo sitemap, además, es el puente declarativo hacia el Sitemap XML, la lista de URLs que sí quieres que rastreen.
robots.txt y los crawlers de IA
robots.txt es la palanca para permitir o bloquear los crawlers de IA, como GPTBot, ClaudeBot o PerplexityBot. Sigue siendo el mismo mecanismo voluntario: lo respetan los bots que quieren respetarlo. Aquí se decide buena parte de la Citabilidad en respuestas de IA: si bloqueas a esos bots, tu contenido no entra en el corpus que alimenta sus respuestas.
El llms.txt es un archivo distinto y no validado por Google. No sustituye al robots.txt ni a un buen SEO técnico. Conviene tratarlo como lo que es hoy: una propuesta sin respaldo del buscador, no un reemplazo.
| Aspecto | robots.txt | llms.txt |
|---|---|---|
| Función | Permitir o bloquear crawlers, incluidos los de IA | Propuesta para guiar a los LLM |
| Bots afectados | GPTBot, ClaudeBot, PerplexityBot… | Sin adopción garantizada |
| Respaldo de Google | Mecanismo reconocido | No validado por Google |
| Cumplimiento | Voluntario: lo respeta quien quiere | Voluntario y sin estándar |
| ¿Sustituye al SEO técnico? | No, es complementario | No reemplaza robots.txt ni el SEO técnico |
En vídeo y audio
Qué observar
Las señales que importan.
Intención real de las reglas allow/disallow
Cada regla allow/disallow bloquea o expone rutas concretas, que no siempre coinciden con lo que se pretendía. Una ruta mal escrita deja fuera más de lo previsto o abre lo que debía quedar cerrado.
Conflictos entre rastreo e indexación
Una página con noindex bloqueada a la vez en robots.txt entra en conflicto: el rastreador no puede leer la etiqueta noindex, así que nunca se aplica y la URL puede quedar indexada sin control.
Recursos CSS y JS bloqueados
El renderizado depende del CSS y el JS de la página. Si robots.txt bloquea esos recursos, el rastreador no puede leerlos y la página puede no analizarse ni renderizarse bien.
Código de estado del propio robots.txt
El archivo robots.txt debe responder con 2xx. Un 4xx se interpreta como inexistente y habilita el rastreo completo; un 5xx puede pausar todo el rastreo temporalmente.
Acceso real de los crawlers de IA
Lo permitido en robots.txt para GPTBot, ClaudeBot o PerplexityBot no basta si el CDN o el firewall bloquean a la vez a esos agentes. Lo determinante es el acceso real, no solo la regla declarada.
Conceptos clave
El vocabulario del término.
- Robots Exclusion Protocol
- Estándar voluntario que define cómo un sitio comunica a los crawlers qué URLs pueden o no pueden rastrear mediante el archivo robots.txt.
- user-agent
- Campo que identifica al crawler al que se dirige un grupo de reglas en robots.txt, como Googlebot, GPTBot o ClaudeBot.
- disallow
- Directiva que indica a un crawler qué rutas no debe rastrear; la ruta es case-sensitive y debe empezar por /.
- allow
- Directiva que permite rastrear una ruta concreta, útil para abrir una excepción dentro de una zona bloqueada por disallow.
- noindex
- Directiva que pide al buscador no indexar ni mostrar una página; se aplica vía meta etiqueta robots o cabecera HTTP X-Robots-Tag, nunca dentro de robots.txt.
- X-Robots-Tag
- Cabecera HTTP que aplica directivas de indexación como noindex a nivel de respuesta del servidor, útil para recursos que no son HTML.
- llms.txt
- Archivo distinto del robots.txt, no validado por Google, propuesto para orientar a modelos de IA; no sustituye al robots.txt ni al SEO técnico.
Dónde lo aplicamos
Aún no mostramos casos.
No inventamos resultados. Cuando tengamos casos reales —anonimizados y medibles— donde este concepto marcó la diferencia, vivirán aquí.
Una pieza del glosario.
Forma parte del glosario de SEO, analítica e IA de InnovaOrigen Tech: un mapa de conceptos definidos con criterio y fuentes. Si quieres llevarlo a tu caso, lo vemos sin compromiso.