Robots.txt: cómo funciona, ejemplos y cómo probarlo
robots.txt decide qué URL pueden descargar los rastreadores, y una sola línea equivocada puede ocultar todo un sitio. Esta guía explica cómo leen el archivo Google y la RFC 9309, qué hace cada código de estado, ejemplos listos para copiar, la trampa de robots.txt frente a noindex y cómo solucionar cada problema que detecta un verificador de robots.txt.
Searvia · 24/10/2026 · Lectura de 16 min

En resumen: robots.txt es un archivo de texto plano en
/robots.txtque indica a los rastreadores qué URL pueden descargar. Las reglas se agrupan porUser-agent; un rastreador usa el grupo que lo nombra, o el grupo*si ninguno lo hace, y gana la rutaAllowoDisallowcoincidente más larga. Controla el rastreo, no la indexación: para mantener una página fuera de Google, usanoindex. Un 404 significa "rastrea todo"; un 5xx significa "detente". La mayoría de los daños vienen de una sola línea,Disallow: /, heredada de un sitio de pruebas (staging).
robots.txt es el archivo más corto de la mayoría de los sitios web y el que tiene mayor radio de impacto. Un solo Disallow: / bajo User-agent: * oculta todo el sitio a Google, Bing, Apple y a todos los rastreadores de búsqueda con IA. Una barra olvidada, una regla en el grupo equivocado o un error del servidor en el propio archivo pueden causar casi el mismo daño, y nada en el sitio visible parece roto.
Esta guía explica cómo leen el archivo los rastreadores según la RFC 9309 y la especificación de Google, incluye ejemplos listos para copiar, cómo prueba tu archivo nuestro verificador de robots.txt gratuito y cómo solucionar cada problema que informa.
Qué hace robots.txt y qué no hace
La introducción de Google lo dice claramente: un archivo robots.txt "indica a los rastreadores de los buscadores a qué URL pueden acceder en tu sitio", y su función principal es gestionar el tráfico de rastreo. No es "un mecanismo para mantener una página web fuera de Google". Una URL bloqueada "podría seguir" indexándose "si hay enlaces hacia ella desde otros lugares de la web", normalmente mostrada sin descripción.
Tres límites más de las mismas fuentes:
- Es una petición, no un candado. La RFC 9309 dice que las reglas "no son una forma de autorización de acceso". Los rastreadores respetables obedecen; otros pueden no hacerlo. Protege el contenido privado con autenticación.
- Se aplica por host, protocolo y puerto.
https://www.example.com/robots.txtno cubrehttps://shop.example.comnihttp://www.example.com. Cada uno necesita su propio archivo, y Google no busca archivos robots.txt en subdirectorios. - Distintos rastreadores interpretan la sintaxis de forma diferente. Si te limitas a los campos estándar y a patrones sencillos, todos los rastreadores principales los leerán igual.
La sintaxis
Un archivo robots.txt es una lista de grupos. Cada grupo empieza con una o más líneas User-agent seguidas de reglas Allow y Disallow. Las líneas Sitemap pueden aparecer en cualquier parte.
# Comments start with a hash
User-agent: Googlebot
User-agent: Bingbot
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
| Campo | Compatible con Google | Qué hace |
|---|---|---|
user-agent | Sí | Nombra el rastreador al que se aplica el grupo; * significa todos los demás |
disallow | Sí | Un prefijo de ruta que el rastreador no debe descargar; vacío significa que no se bloquea nada |
allow | Sí | Un prefijo de ruta que el rastreador puede descargar, usado para crear excepciones |
sitemap | Sí | La URL absoluta de un sitemap; no está ligada a ningún grupo |
crawl-delay | No | Google lo ignora; lo leen otros rastreadores, como el de Anthropic |
noindex y cualquier otro | No | Se ignoran |
Los nombres de campo no distinguen mayúsculas de minúsculas; las rutas sí, así que Disallow: /Admin/ no bloquea /admin/. Se admiten dos caracteres especiales: * coincide con cualquier secuencia de caracteres y $ marca el final de la URL. Disallow: /*.pdf$ bloquea todas las URL que terminan en .pdf; Disallow: /*? bloquea todas las URL con parámetros (query string).
Qué grupo se aplica a un rastreador
Esta es la regla que más se malinterpreta. Según Google, "solo un grupo es válido para un rastreador concreto": el grupo con el user agent coincidente más específico. Los grupos que nombran al mismo agente se fusionan, pero un grupo con nombre no se combina con el grupo *. La RFC 9309 dice lo mismo: los rastreadores comparan su product token sin distinguir mayúsculas, combinan los grupos coincidentes y recurren a * solo "si no existe ningún grupo coincidente".
Así, en el archivo anterior, Googlebot sigue únicamente su propio grupo. Puede rastrear /admin/, porque el grupo * no se le aplica. Si una regla debe valer para todos, repítela en cada grupo con nombre.
Hay dos detalles específicos de rastreadores que conviene conocer. El token Googlebot de Google abarca Search, Discover, Imágenes, Vídeo y Noticias; tokens más específicos como Googlebot-Image te permiten controlar un solo producto (rastreadores comunes de Google). Y Apple indica que, si robots.txt no menciona a Applebot pero sí a Googlebot, Applebot sigue las instrucciones de Googlebot (About Applebot).
Qué regla gana
Dentro de un grupo se aplica la regla más específica, es decir, la de la ruta coincidente más larga. Cuando una regla allow y una disallow coinciden por igual, gana la menos restrictiva, allow. El orden en el archivo no importa.
| Reglas | URL | Resultado |
|---|---|---|
Disallow: /shop/ y Allow: /shop/sale/ | /shop/sale/boots | Permitida (coincidencia más larga) |
Disallow: / y Allow: /$ | / | Permitida; el resto de URL, bloqueadas |
Disallow: /*.php y Allow: /index.php | /index.php | Permitida |
Disallow: /page | /pages/about | Bloqueada (coincidencia por prefijo) |
Disallow: (vacío) | cualquiera | Permitida |
Cómo los códigos de estado lo cambian todo
Los rastreadores piden /robots.txt antes que cualquier otra cosa, y su estado HTTP importa tanto como su contenido. Según la especificación de Google y la RFC 9309:
| robots.txt responde | Comportamiento de Google | RFC 9309 |
|---|---|---|
| 2xx | Procesa el archivo tal como se sirve | Usar las reglas |
| 3xx | Sigue al menos cinco saltos y luego lo trata como un 404; no sigue meta refresh ni JavaScript | Seguir al menos cinco redirecciones |
| 4xx salvo 429 | Como si no existiera robots.txt: sin restricciones | Se puede acceder a cualquier recurso |
| 429, 5xx, tiempos de espera agotados | Deja de rastrear durante 12 horas mientras reintenta y luego usa la última copia válida hasta 30 días; si no hay ninguna, asume que no hay restricciones | Se debe asumir bloqueo total |
La consecuencia práctica: un 404 en robots.txt es inofensivo, pero un firewall o un servidor que responde 500 o 503 para el archivo puede detener el rastreo de todo el sitio. Google también advierte de que no se usen 401 ni 403 para limitar la frecuencia de rastreo.
Dos límites completan el cuadro: Google guarda el archivo en caché hasta 24 horas, por lo que los cambios no son instantáneos, e ignora el contenido que supere los 500 KiB. El archivo debe estar en UTF-8.
robots.txt frente a noindex
La documentación de noindex de Google describe la trampa: si robots.txt bloquea una página, el rastreador nunca ve su regla noindex, y la página puede seguir apareciendo en los resultados. La herramienta correcta depende del objetivo:
| Objetivo | Usa |
|---|---|
| Mantener una página fuera de los resultados de búsqueda | Etiqueta meta noindex o cabecera X-Robots-Tag: noindex, con el rastreo permitido |
| Evitar que los rastreadores malgasten peticiones en filtros infinitos o búsqueda interna | Disallow en robots.txt |
| Mantener privado el contenido privado | Autenticación; robots.txt es público y cualquiera puede leerlo |
| Eliminar una página que ya está indexada | noindex o un 404/410, y dejar que Google vuelva a rastrearla |
Ejemplos de robots.txt listos para copiar
Permitir todo e indicar el sitemap (el archivo adecuado para la mayoría de los sitios pequeños):
User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap.xml
Una tienda online típica:
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://www.example.com/sitemap.xml
Un sitio de pruebas (staging) (y solo un sitio de pruebas; protégelo también con contraseña):
User-agent: *
Disallow: /
Búsqueda con IA permitida, entrenamiento de IA bloqueado:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
Bloquear Google-Extended no afecta a la Búsqueda de Google; Google afirma que "no influye en la inclusión de un sitio en la Búsqueda de Google ni se usa como señal de posicionamiento". Los AI Overviews y el Modo IA funcionan con Googlebot (AI features and your website). OpenAI indica que excluirte de OAI-SearchBot te deja fuera de las respuestas de búsqueda de ChatGPT, así que no lo bloquees a menos que sea lo que quieres (OpenAI crawlers). Nuestra guía de rastreadores de IA cubre todos los tokens de IA.
No bloquees el CSS, el JavaScript ni las imágenes que las páginas necesitan para renderizarse. Google dice que puedes bloquear recursos poco importantes si las páginas "no se verán afectadas de forma significativa por su ausencia", pero bloquear archivos que aportan tu contenido o tu diseño impide que Google entienda la página.
Cómo funciona el verificador de robots.txt de Searvia
El verificador de robots.txt usa el mismo motor que nuestro verificador SEO de sitios web: introduces un dominio o la dirección de una página y lee esa página (tu página de inicio si solo indicas un dominio) y los archivos del sitio que la rodean, ejecuta 38 comprobaciones en unos 20 segundos y muestra primero las cuatro comprobaciones de esta herramienta. Esto es lo que hace cada una.
robots.txt (prioridad media). El verificador sigue la página hasta su dirección final y luego pide /robots.txt en ese mismo host, siguiendo las redirecciones. Interpreta el código de estado como la tabla anterior: un 404 u otro 4xx significa que no hay archivo; un 5xx, un 429 o la ausencia de respuesta significan que el archivo es inaccesible; y un 200 que devuelve una página HTML no es un robots.txt válido. Analiza el archivo como describe la RFC 9309: grupos User-agent (varias líneas pueden compartir un mismo conjunto de reglas), grupos duplicados fusionados, el comodín de respaldo *, Allow y Disallow con los comodines * y $, comentarios, coincidencia más larga con los empates a favor de allow y líneas Sitemap. Después comprueba si Googlebot puede descargar la ruta de la página de inicio / y, si indicaste una página interna, la ruta de esa página.
- Correcto: el archivo existe y Googlebot puede rastrear
/y la página que indicaste. - Error: el archivo bloquea a Googlebot en
/(en la práctica, todo el sitio) o en la página que indicaste, o robots.txt es inaccesible. - Advertencia: no se encontró ningún archivo (un 4xx) o el archivo es una página HTML.
Acceso de rastreadores de IA (prioridad alta). El mismo analizador se ejecuta para 10 tokens de rastreadores: OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot, Claude-User, Googlebot y Bingbot (etiquetados como búsqueda con IA), y GPTBot, ClaudeBot y CCBot (etiquetados como entrenamiento de IA), además de Google-Extended y Applebot-Extended, que se etiquetan como tokens de exclusión del entrenamiento de IA porque no son rastreadores. También envía una petición que se identifica como GPTBot para ver si un firewall la rechaza con 401, 403, 429 o 503; como la petición no procede de las direcciones de OpenAI, un rechazo es una advertencia, no una prueba. La comprobación falla si algún token de búsqueda está bloqueado o si robots.txt es inaccesible; los tokens de entrenamiento bloqueados se listan, pero se consideran una decisión tuya.
Sitemap XML (prioridad media). Prueba todas las líneas Sitemap: de tu robots.txt, luego /sitemap.xml y /sitemap_index.xml (hasta cuatro direcciones), y se da por superada con la primera que responde 200 con un <urlset> o un <sitemapindex>, mostrando el número de URL.
Indexación permitida (prioridad alta). Busca noindex en una etiqueta meta robots o googlebot de la página y en la cabecera de respuesta X-Robots-Tag. Cualquiera de las dos hace fallar la comprobación, porque mantiene la página fuera de los resultados diga lo que diga robots.txt.
Qué no comprueba
- Una página por análisis. Googlebot se prueba para
/y la página que introduces. Una regla comoDisallow: /blog/solo se señala si introduces una página dentro de/blog/. Lee el archivo para ver las reglas de nivel de sección, o prueba URL concretas con la Inspección de URLs de Search Console. - Reglas de otros hosts. Solo se lee el robots.txt del host en el que termina tu página.
Cómo leer el resultado
| Mensaje | Significado | Prioridad |
|---|---|---|
| robots.txt is present and lets search engines in. | Existe; Googlebot puede rastrear / | Ninguna |
| robots.txt blocks Google from the whole site. | El grupo de Googlebot, o *, bloquea / | Corregir hoy |
| robots.txt blocks Google from this page. | El grupo de Googlebot, o *, bloquea la página que introdujiste | Corregir hoy |
| robots.txt answers with status N. / robots.txt could not be reached. | Un 5xx o 429, o ninguna respuesta: Google pausa el rastreo | Corregir hoy |
| robots.txt returns an HTML page instead of crawl rules. | Se sirve una página web en /robots.txt con estado 200 | Esta semana |
| No robots.txt file was found, so crawlers may visit every page. | Un 404 u otro 4xx | Opcional |
| robots.txt blocks N AI search crawlers. | Un token de IA de búsqueda o de consulta de usuario no puede leer la página | Corregir si quieres citas de IA |
| No XML sitemap was found in robots.txt or at /sitemap.xml. | No hay sitemap en las ubicaciones habituales | Esta semana |
| A noindex meta tag blocks indexing. / An X-Robots-Tag header blocks indexing. | La página pide quedar fuera de la búsqueda | Corregir hoy |
El informe asigna una nota de A+ a F para las 38 comprobaciones, ponderadas por prioridad (alta 10, media 5, baja 2; las advertencias valen la mitad), una lista "Fix these first" y un enlace para compartir. Cada comprobación también muestra qué porcentaje de los sitios auditados la supera.
Cómo solucionar cada problema que informa el verificador
robots.txt bloquea a Google en todo el sitio
- Abre el archivo en producción y busca el grupo que se aplica a Googlebot: un grupo
User-agent: Googlebotsi existe; si no,User-agent: *. - Busca
Disallow: /o un patrón comoDisallow: /*en ese grupo. Elimínalo o sustitúyelo por las rutas concretas que querías bloquear. - Averigua de dónde procede el archivo antes de editarlo: un archivo estático, un ajuste del CMS, un plugin de SEO, una regla de CDN o un script de despliegue. En Shopify, edita la plantilla de tema
robots.txt.liquid. - Carga
https://yourdomain.com/robots.txten una ventana privada para confirmar que el cambio está activo y vuelve a ejecutar el verificador de robots.txt. - En Search Console, abre el informe de robots.txt y elige Request a recrawl para el archivo. De lo contrario, Google lo guarda en caché hasta 24 horas.
- Revisa en los días siguientes el informe de indexación de páginas para ver cómo baja el número de "Blocked by robots.txt".
robots.txt no existe, es inaccesible o es una página HTML
El mensaje te indica qué caso tienes; confirma el código de estado con:
curl -I https://yourdomain.com/robots.txt
- 404: inofensivo, pero publica igualmente un archivo sencillo para poder indicar tu sitemap. Usa el ejemplo de "permitir todo" de arriba.
- 200 con
Content-Type: text/html: tu aplicación devuelve una página web para las URL desconocidas. Sirve un archivo de texto real antes de la ruta comodín de la aplicación. - 403: una regla de seguridad bloquea el archivo. Permite
/robots.txtpara todos. - 5xx o tiempo de espera agotado: corrígelo primero. Google deja de rastrear durante 12 horas cada vez que lo detecta, y la RFC 9309 indica a los rastreadores que asuman que todo el sitio está bloqueado.
robots.txt bloquea a los rastreadores de búsqueda con IA
Busca el grupo que usa cada token bloqueado (el suyo propio, o *) y decide tu política token por token. Permite OAI-SearchBot, Claude-SearchBot y PerplexityBot si quieres que te citen en las respuestas de ChatGPT, Claude y Perplexity; bloquea los tokens de entrenamiento por separado si lo deseas. Recuerda que un grupo con nombre no hereda las reglas de *. Si la prueba del firewall dio una advertencia, la solución está en la configuración de tu CDN o WAF, no en robots.txt; consulta la guía de rastreadores de IA.
No se encontró ningún sitemap XML
- Genera un sitemap con tus URL canónicas e indexables. La mayoría de los CMS lo hacen: el núcleo de WordPress sirve
/wp-sitemap.xml, y Yoast SEO y Rank Math sirven/sitemap_index.xml; en Next.js, añadeapp/sitemap.ts. - Añade la URL absoluta a robots.txt:
Sitemap: https://www.example.com/sitemap.xml. - Envíalo en Google Search Console y en Bing Webmaster Tools.
- Mantenlo dentro de los límites de Google de 50.000 URL o 50 MB sin comprimir por archivo (Build and submit a sitemap); divide los sitios más grandes con un índice de sitemaps.
Una etiqueta noindex o una cabecera X-Robots-Tag bloquea la indexación
- Mira el código fuente de la página y busca
noindex. Si está en una etiqueta meta, localiza el ajuste que la añade: una opción por página de un plugin de SEO, un ajuste del tema o una marca de staging. En WordPress, revisa Ajustes › Lectura › Visibilidad en los motores de búsqueda, que a menudo se queda activada tras un lanzamiento. - Si el código fuente está limpio, comprueba las cabeceras con
curl -I https://yourdomain.com/. Una cabeceraX-Robots-Tag: noindexsuele venir del servidor, de una regla de CDN o de un modo "staging" del hosting. - Elimínala y solicita la indexación de la página de inicio con la Inspección de URLs de Search Console.
Ejemplo práctico (hipotético)
El siguiente es un ejemplo hipotético, no son datos reales. Oakridge Dental, una clínica inventada, relanza su sitio y pierde la mayor parte de su tráfico de Google en dos semanas. El verificador de robots.txt informa:
| Comprobación | Resultado |
|---|---|
| robots.txt | Error: "robots.txt blocks Google from the whole site." |
| Acceso de rastreadores de IA | Error: "robots.txt blocks 7 AI search crawlers." |
| Sitemap XML | Correcto: índice de sitemaps encontrado |
| Indexación permitida | Correcto |
El archivo solo contiene User-agent: * y Disallow: /, copiados del servidor de staging por el script de despliegue. La solución llevó diez minutos: el equipo sustituyó el archivo por el ejemplo de "permitir todo" más la línea del sitemap, excluyó robots.txt de la sincronización con staging, solicitó un nuevo rastreo en Search Console y volvió a ejecutar el verificador, que dio todo correcto. Como el archivo también bloqueaba a Bingbot y a los rastreadores de búsqueda con IA, la misma corrección devolvió a la clínica la elegibilidad en Bing, Copilot y las respuestas de IA.
Una lista de verificación de robots.txt de 15 minutos
- Ejecuta el verificador de robots.txt gratuito y anota cada comprobación fallida.
- Confirma que
/robots.txtresponde 200 como texto plano, no 5xx ni HTML. - Lee cada grupo: qué rastreador nombra y si bloquea por error
/o secciones clave. - Repite las reglas importantes en cada grupo con nombre; no heredan
*. - Indica tu sitemap con una URL absoluta.
- Asegúrate de que nada que quieras fuera de la búsqueda dependa de robots.txt en lugar de
noindex. - Tras los cambios, solicita un nuevo rastreo en Search Console y vuelve a comprobar.
Cómo ayuda Searvia
El verificador de robots.txt gratuito prueba tu archivo para Googlebot, otros 9 rastreadores de IA y de búsqueda y 2 tokens de exclusión del entrenamiento de IA, encuentra tu sitemap y revisa las señales de noindex en un único informe que se puede compartir. Para el resto del sitio, la auditoría del sitio de una cuenta de Searvia rastrea tus páginas como lo hace un buscador, respeta tu robots.txt y señala cada semana las páginas noindex incluidas en el sitemap, las páginas rotas y las redirecciones, de modo que un mal despliegue se detecta en días y no tras una caída de tráfico. Conecta Search Console para ver "Blocked by robots.txt" y las tendencias de indexación junto a la auditoría, y lee nuestra guía de auditoría de SEO técnico para ver dónde encaja robots.txt en la lista de verificación completa.
Preguntas frecuentes
- ¿Qué es robots.txt?
- robots.txt es un archivo de texto plano en la raíz de un host, por ejemplo https://www.example.com/robots.txt, que indica a los rastreadores qué URL pueden descargar. Está definido por la RFC 9309, el Protocolo de Exclusión de Robots. Las reglas se agrupan por user agent, como Googlebot o GPTBot, y usan líneas Allow y Disallow con rutas de URL. Los rastreadores que se portan bien lo respetan, pero no es un control de acceso.
- ¿robots.txt impide que una página aparezca en Google?
- No. Google afirma que robots.txt no es un mecanismo para mantener una página web fuera de Google: una URL bloqueada aún puede indexarse si otras páginas enlazan a ella, normalmente mostrada sin descripción. Para mantener una página fuera de los resultados, permite el rastreo y añade una etiqueta meta noindex o una cabecera X-Robots-Tag, o protege la página con contraseña.
- ¿Qué pasa si mi sitio no tiene robots.txt?
- Si /robots.txt devuelve un 404 u otro estado 4xx (salvo 429), Google y la RFC 9309 lo tratan como si no hubiera restricciones, de modo que se puede rastrear todo el sitio. Para la mayoría de los sitios eso es correcto. Un error 5xx o un tiempo de espera agotado es distinto: Google deja de rastrear durante 12 horas y luego usa su última copia en caché, y la RFC 9309 dice que los rastreadores deben asumir bloqueo total.
- ¿Google admite crawl-delay o noindex en robots.txt?
- No. Google solo admite cuatro campos en robots.txt: user-agent, allow, disallow y sitemap. Ignora crawl-delay y cualquier otra línea. Algunos otros rastreadores sí leen crawl-delay; Anthropic, por ejemplo, dice que sus bots lo admiten. Para mantener páginas fuera del índice de Google, usa en su lugar una etiqueta meta noindex o una cabecera X-Robots-Tag.
- ¿Cómo pruebo mi archivo robots.txt?
- Ejecuta un verificador de robots.txt para ver si el archivo existe, si bloquea a Googlebot y a los rastreadores de IA en el sitio y si indica tu sitemap. Después usa el informe de robots.txt de Google Search Console para ver qué archivos descargó Google y los problemas de análisis, y la herramienta de Inspección de URLs para comprobar si una URL concreta está bloqueada.
Fuentes
- RFC 9309: Robots Exclusion Protocol – IETF
- How Google interprets the robots.txt specification – Google Search Central
- Introduction to robots.txt – Google Search Central
- Block Search indexing with noindex – Google Search Central
- robots.txt report – Search Console Help
- Google's common crawlers – Google Search Central
- About Applebot – Apple Support
- Overview of OpenAI Crawlers – OpenAI
- Does Anthropic crawl data from the web, and how can site owners block the crawler? – Claude Help Center
- Build and submit a sitemap – Google Search Central
- AI features and your website – Google Search Central