Archivo robots.txt: cómo crearlo, comprobarlo y evitar errores habituales
SEOAudit8 min de lectura
El archivo robots.txt está en la raíz del sitio e indica a los rastreadores de los buscadores qué URL pueden solicitar. Escribirlo lleva unos minutos, pero una sola línea equivocada puede impedir el rastreo de todo el sitio. Por eso conviene redactarlo con cuidado y revisarlo tras cada cambio.
Aquí verás la sintaxis del estándar RFC 9309, cómo decide un rastreador entre Allow y Disallow, por qué Disallow no saca una página del índice, los errores más frecuentes y las formas más rápidas de comprobar tu archivo. También hablaremos de las reglas para los rastreadores de IA.
Qué es robots.txt y dónde debe estar
El Protocolo de exclusión de robots está estandarizado en el RFC 9309. El archivo es texto plano en UTF-8 y se sirve en /robots.txt, en la raíz del host. Cada combinación de protocolo, dominio y puerto tiene su propio archivo: https://example.com/robots.txt no gobierna blog.example.com, que necesita el suyo.
El archivo se compone de grupos. Un grupo empieza con una o varias líneas User-agent, seguidas de reglas Allow y Disallow. Los nombres de las directivas no distinguen mayúsculas, pero las rutas sí: /Admin/ y /admin/ son direcciones distintas.
Conviene recordar dos límites. Primero, robots.txt es una petición, no una protección. Los rastreadores respetuosos lo cumplen, pero el archivo es público y cualquiera puede leer lo que enumeras. No lo uses para ocultar URL sensibles; para eso hace falta autenticación, y el artículo sobre cabeceras de seguridad y SEO trata medidas relacionadas. Segundo, Google solo lee los primeros 500 KiB del archivo y descarta el resto, así que una lista muy larga de reglas debe acortarse con patrones.
El archivo válido más pequeño lo permite todo y señala el sitemap:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xmlUn valor vacío tras Disallow: significa que no se bloquea nada. Si no existe el archivo y el servidor responde 404, los buscadores entienden que no hay restricciones.
Sintaxis y un ejemplo que funciona
Un sitio típico tiene una parte pública que debe rastrearse y algunas zonas de servicio que no lo necesitan: el carrito, el área de cuenta, la búsqueda interna. Un archivo para ese sitio se ve así:
User-agent: *
Disallow: /cart/
Disallow: /account/
Disallow: /search
Allow: /account/login
Sitemap: https://example.com/sitemap.xmlLínea por línea: User-agent: * se refiere a todos los rastreadores que no tienen un grupo propio. Disallow: /cart/ bloquea toda URL que empiece por /cart/. Allow: /account/login crea una excepción para la página de acceso dentro de una zona bloqueada. La línea Sitemap no depende de ningún grupo y puede ir en cualquier parte, pero su URL debe ser absoluta. La guía de sitemap.xml explica con detalle los requisitos de ese archivo.
Los comodines * y $
El estándar admite dos caracteres especiales. El asterisco equivale a cualquier secuencia de caracteres y el signo de dólar marca el final de la URL:
User-agent: *
Disallow: /*?sessionid=
Disallow: /*.pdf$La primera regla bloquea las URL con un parámetro sessionid en la cadena de consulta. La segunda bloquea toda URL que termine en .pdf. Sin el $, la segunda regla también afectaría a /file.pdf?download=1.
Grupos distintos para bots distintos
Cuando un rastreador encuentra un grupo con su nombre, sigue solo ese grupo e ignora el grupo *. Si añades un grupo específico para Googlebot, copia en él las reglas del grupo general que aún necesite.
Qué regla se aplica: la coincidencia más larga y Allow gana en empate
Cuando varias reglas coinciden con una URL, el rastreador elige la de ruta más larga. Si dos reglas coinciden con la misma longitud, gana Allow, es decir, el resultado menos restrictivo. Así actúa Google y así lee el archivo el escáner de SEOAudit.
| Reglas | URL /shop/sale/item |
|---|---|
Disallow: /shop/ | bloqueada |
Disallow: /shop/ y Allow: /shop/sale/ | permitida, la ruta de Allow es más larga |
Disallow: /shop/sale/ y Allow: /shop/sale/ | permitida, longitud igual, gana Allow |
Los buscadores pueden diferir en detalles menores, así que en las secciones críticas evita combinaciones ingeniosas. Un archivo corto con pocas líneas evidentes es más seguro que un montaje delicado que nadie recuerda.
Sobre Crawl-delay: Google lo ignora y gestiona por su cuenta la frecuencia de rastreo. Otros buscadores sí lo respetan, pero la mayoría de los sitios no lo necesita.
Piensa también en cómo se sirve el propio archivo. Un 404 en /robots.txt significa que no hay restricciones. Una respuesta 5xx puede hacer que Google pause el rastreo del sitio hasta que el archivo vuelva a estar disponible. Un robots.txt inestable es, por tanto, un riesgo para todo el sitio. Google describe cómo lo trata en la documentación de Search Central.
Por qué Disallow no elimina una página del índice
El malentendido más común dice: «bloquearé la página en robots.txt y desaparecerá de Google». No es así. Disallow detiene el rastreo, no la indexación. Si otras páginas enlazan a una URL bloqueada, el buscador puede mostrarla en los resultados sin descripción, porque no pudo leer su contenido.
Hay además una trampa inversa. Si bloqueas una página en robots.txt y le pones también noindex, el rastreador nunca verá la etiqueta, porque no llega a abrir la página. Google dejó de admitir una directiva noindex dentro del propio robots.txt en 2019, así que no cuentes con ella.
Para sacar una página del índice:
- Deja la página rastreable.
- Añade una metaetiqueta robots con el valor
noindex(ejemplo abajo) en la sección head, o envía la cabeceraX-Robots-Tag: noindex(la cabecera es la opción adecuada para PDF y otros archivos que no son HTML). - Espera a que el rastreador vuelva a visitar la página y solo después, si quieres, bloquéala en robots.txt.
<meta name="robots" content="noindex">Google explica las opciones en su página sobre cómo bloquear la indexación. El escáner de SEOAudit avisa de un conflicto entre robots.txt y una directiva noindex, porque esa combinación suele indicar un error. Una confusión parecida surge con las URL canonical mal puestas: es otro mecanismo y no sustituye ni a robots.txt ni a noindex.
Errores habituales en robots.txt
La mayoría de los problemas se repiten de un sitio a otro. Estos son los que más se ven.
Un resto del entorno de pruebas
Los entornos de prueba suelen bloquearse por completo:
User-agent: *
Disallow: /Si este archivo viaja a producción con una versión, el rastreo se detiene. Es el error clásico del lanzamiento y por eso la revisión de robots.txt forma parte de toda lista de comprobación de SEO técnico. El escáner de SEOAudit marca un archivo que bloquea todo el sitio.
Estilos, scripts e imágenes bloqueados
Reglas como Disallow: /assets/ o Disallow: /static/ impiden que Googlebot renderice la página como la ve un visitante. Para el rastreador puede parecer vacía o rota. No bloquees los recursos necesarios para el renderizado. El escáner avisa cuando esos archivos están prohibidos.
Bloquear una página que quieres indexar
Una regla amplia como Disallow: /blog bloquea /blog/ y también /blog-archive, porque la coincidencia se hace con el inicio de la ruta. Comprueba qué captura exactamente cada patrón. El escáner verifica si la página que analizas está bloqueada.
Otros errores
- El archivo no está en la raíz, por ejemplo
/files/robots.txt. No se leerá. - Falta la línea
Sitemapo usa una URL relativa. El escáner indica si no hay sitemap declarado en el archivo. - Mayúsculas incorrectas en una ruta:
/Admin/no bloquea/admin/. - Caracteres sueltos, como una marca de orden de bytes, que no todos los analizadores toleran.
- Una página HTML en lugar del archivo. Si el servidor devuelve una página 404 con estado 200, es un soft 404. El escáner de SEOAudit ignora esas respuestas HTML en
/robots.txty no las trata como reglas.
robots.txt y los rastreadores de IA
Las empresas publican los nombres de sus rastreadores y puedes permitirlos o bloquearlos con los mismos grupos User-agent. Ejemplos de identificadores son GPTBot, ClaudeBot, PerplexityBot y Google-Extended. El propietario de cada rastreador documenta su función, así que consulta la documentación vigente de la empresa antes de añadir una regla.
Un grupo que bloquea un rastreador y deja el resto como está:
User-agent: GPTBot
Disallow: /
User-agent: *
Disallow: /cart/Bloquear es una decisión de negocio, no técnica. Si bloqueas a los rastreadores de IA, puedes reducir la probabilidad de aparecer en las respuestas de esos sistemas; si los permites, dejas que lean tus textos. No hay una única respuesta correcta. Lo importante es decidir a conciencia y no bloquear algo por accidente con una regla demasiado amplia.
Esto es lo que hace realmente el escáner. Avisa cuando los bots de búsqueda con IA están prohibidos en robots.txt. Los bots que se usan para entrenar modelos no se señalan. El escáner lee las reglas del archivo, pero no evalúa cada rastreador de IA por separado contra una lista completa. Para el tema general, consulta la página sobre la preparación para la búsqueda con IA.
Cómo comprobar tu robots.txt
La comprobación lleva unos minutos y no requiere herramientas especiales.
- Abre el archivo en el navegador. Ve a
https://tu-dominio/robots.txt. Debes ver texto plano, no una página del sitio ni un error. - Revisa la respuesta. En una terminal ejecuta
curl -i https://example.com/robots.txt. Espera el estado 200 y el tipotext/plain. Un estado 5xx hay que corregirlo de inmediato. - Consulta el informe de Google Search Console. El informe de robots.txt muestra qué archivo obtuvo Google, cuándo, y si hubo problemas de análisis.
- Prueba URL clave. Toma la página de inicio, algunas categorías, un artículo y una página que hayas bloqueado a propósito, y confirma que el resultado coincide con tu intención.
- Ejecuta el escáner. El escáner gratuito lee el archivo, aplica las reglas a la URL que envías y muestra conflictos, recursos bloqueados y si hay un sitemap declarado.
El escáner es pasivo: abre la URL que le das y unos pocos archivos públicos de apoyo, y no rastrea todo el sitio. No sustituye la revisión de cada sección. Para ver el conjunto, que incluye robots.txt, consulta la auditoría SEO, y para las cuestiones de protección la comprobación de seguridad.
Un buen robots.txt es corto, legible y se prueba tras cada cambio. Bloquea solo lo que los buscadores no necesitan, no mezcles rastreo e indexación y no olvides la línea Sitemap. Para ver cómo lee un escáner tu archivo, ejecuta una comprobación gratuita de tu sitio.
Preguntas frecuentes
- ¿Es obligatorio tener un archivo robots.txt?
No. Si no hay archivo y el servidor responde 404, los buscadores asumen que no hay restricciones. Aun así es útil para bloquear zonas de servicio y declarar la URL del sitemap. Solo asegúrate de que nunca devuelva un error 5xx, porque Google podría pausar el rastreo.
- ¿Disallow elimina una página de los resultados de búsqueda?
No necesariamente. Disallow solo detiene el rastreo. Si otras páginas enlazan a la URL bloqueada, puede seguir en el índice sin descripción. Para eliminar una página, déjala rastreable y añade noindex mediante una metaetiqueta o la cabecera X-Robots-Tag.
- ¿Puedo ocultar áreas privadas en robots.txt?
No. El archivo es público, así que una lista de rutas bloqueadas indica a los lectores dónde mirar. Protege los datos privados con autenticación en el servidor y usa robots.txt solo para orientar el rastreo.
- ¿Cómo sé si he bloqueado todo el sitio por error?
Abre /robots.txt y busca la línea Disallow: / bajo User-agent: *. Revisa también el informe de robots.txt en Google Search Console. El escáner de SEOAudit marca un archivo que bloquea todo el sitio y una página bloqueada para la URL que analizas.