Aprender a crear un archivo robots.txt toma unos diez minutos, y la mayor parte del tiempo se dedica a decidir qué bloquear, no a escribir la sintaxis. Un archivo robots.txt es un archivo de texto plano en la raíz de tu dominio que indica a los rastreadores de motores de búsqueda qué URL pueden solicitar. Si lo haces bien, diriges el presupuesto de rastreo hacia las páginas que importan. Si te equivocas en una barra, puedes ocultar accidentalmente todo tu sitio a Google.
Esta guía recorre todo el trabajo de principio a fin: las cuatro directivas que realmente necesitas, la regla de la coincidencia más larga que casi todos malinterpretan, ejemplos reales de allow y disallow, exactamente dónde subir el archivo y cómo probarlo antes de que un rastreador lo vea. Sin plantillas vagas, sin copiar la documentación de Google palabra por palabra.
Lo que realmente hace un archivo Robots.txt#
Un archivo robots.txt es un conjunto de instrucciones para los rastreadores web, servido desde https://tudominio.com/robots.txt. Cuando un bot bien comportado como Googlebot visita tu sitio, primero lee este archivo y obedece las reglas que encuentra antes de solicitar cualquier otra URL.
La palabra clave es "bien comportado". Robots.txt es una solicitud, no un muro. Google, Bing y otros motores principales lo respetan. Los raspadores y bots maliciosos pueden ignorarlo por completo. Así que trata robots.txt como una guía de rastreo, nunca como un control de seguridad.
Importante: robots.txt controla el rastreo, no la indexación. Bloquear una URL aquí no garantiza que se mantenga fuera de los resultados de búsqueda. Si Google encuentra enlaces a una página bloqueada en otro lugar, aún puede listar la URL (sin descripción). Para mantener una página fuera de los resultados, necesitas una etiqueta noindex, que es un mecanismo separado que cubrimos al final.
Las cuatro partes que realmente usas#
La mayoría de los archivos reales se construyen con solo cuatro directivas:
- User-agent: a qué rastreador se aplican las siguientes reglas.
*significa todos los rastreadores. - Disallow: una ruta URL que el rastreador no debe solicitar.
- Allow: una ruta URL que el rastreador puede solicitar, usada para crear excepciones dentro de un Disallow más amplio.
- Sitemap: la URL completa de tu sitemap XML, para que los rastreadores encuentren todas tus páginas más rápido.
Hay un par de extras (Crawl-delay, directivas de host) que mencionaremos, pero esas cuatro cubren el 95% de los sitios.
Cómo crear un archivo robots.txt paso a paso#
Aquí tienes el procedimiento completo, desde un archivo en blanco hasta un robots.txt probado y en funcionamiento. Sigue el orden y no te meterás en un callejón sin salida.
Paso 1: Mapea lo que debe y no debe ser rastreado#
Antes de escribir una sola línea, enumera tus patrones de URL. Abre la estructura de tu sitio y clasifica las páginas en dos grupos.
Lo que normalmente quieres que se rastree: tu página de inicio, publicaciones del blog, páginas de productos o servicios, páginas de categorías y tu sitemap. Lo que a menudo quieres mantener fuera del rastreo: áreas de administración (/admin/, /wp-admin/), resultados de búsqueda interna (/search?), páginas de carrito y pago, páginas de agradecimiento, URL de staging o duplicadas, y URL de filtros por facetas que crean miles de combinaciones casi duplicadas.
Este mapa es el trabajo real. La sintaxis es trivial una vez que conoces tu intención.
Paso 2: Escribe el bloque de user-agent#
Comienza con la regla más amplia que se aplica a todos los rastreadores:
User-agent: *
Cada directiva después de esta línea, hasta la siguiente línea User-agent o el final del archivo, se aplica a todos los rastreadores. Si necesitas una regla para un bot específico, agrega un bloque separado. Por ejemplo, para darle a Googlebot un tratamiento diferente al de los demás:
User-agent: Googlebot
Disallow: /private/
User-agent: *
Disallow: /private/
Disallow: /tmp/
Un rastreador solo lee el bloque más específico que coincida con su nombre. Googlebot aquí obedece el primer bloque e ignora el segundo por completo. Eso sorprende a la gente, así que recuerda: un bot sigue un grupo, no la combinación.
Paso 3: Agrega tus reglas Disallow y Allow#
Ahora traduce tu mapa del Paso 1 a directivas. Cada Disallow toma una ruta de URL que comienza con /. Algunos patrones que usarás constantemente:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search
Allow: /search/help
Disallow: /*.pdf$
Leyendo eso línea por línea:
Disallow: /admin/bloquea todo lo que está debajo de la carpeta admin.Disallow: /searchbloquea cualquier ruta que comience con/search, incluyendo/search?q=zapatos.Allow: /search/helpcrea una excepción para que esa página permanezca rastreable.Disallow: /*.pdf$usa un comodín (*) y un ancla de final de URL ($) para bloquear todos los PDF.
Un Disallow: vacío (nada después de los dos puntos) significa "no bloquear nada", que es cómo permites explícitamente el rastreo completo.
Paso 4: Agrega la línea del sitemap#
Indica a los rastreadores dónde está tu sitemap. Usa la URL absoluta, no una ruta relativa, y colócala en cualquier parte del archivo (por convención, al final):
Sitemap: https://tudominio.com/sitemap.xml
Puedes listar más de un sitemap en líneas Sitemap: separadas. Si aún no has creado uno, genéralo con el generador de sitemaps XML gratuito y coloca la URL resultante aquí. La línea del sitemap funciona independientemente de los bloques User-agent que existan, porque es global.
Paso 5: Genera, guarda y valida el archivo#
Puedes escribir el archivo a mano en cualquier editor de texto plano (guárdalo como UTF-8, con el nombre exacto robots.txt, sin doble extensión .txt.txt). Si prefieres no arriesgarte a un error tipográfico, el generador de robots.txt gratuito construye un archivo sintácticamente válido a partir de tus elecciones de permitir y bloquear, y muestra una vista previa de cómo Googlebot lee cada regla. Ese paso de vista previa es donde detectas los errores de precedencia cubiertos en la siguiente sección.
Paso 6: Súbelo a la raíz de tu dominio#
El archivo debe ser accesible exactamente en https://tudominio.com/robots.txt. Solo funciona en la raíz de un host. Un archivo en https://tudominio.com/blog/robots.txt se ignora.
La forma de subirlo depende de tu plataforma:
- WordPress: usa un plugin SEO (Yoast, Rank Math) que exponga un editor de robots.txt, o súbelo vía FTP al directorio raíz.
- Sitio estático o personalizado: coloca
robots.txten tu carpeta raíz pública o web (a menudopublic/,www/ohtdocs/). - Subdominios: cada subdominio necesita su propio archivo.
blog.tudominio.comytudominio.comno comparten uno.
Después de subirlo, visita la URL en tu navegador. Deberías ver tu texto plano, no un 404 ni tu página de inicio.
Paso 7: Prueba antes de confiar#
Abre Google Search Console y usa el informe de robots.txt (muestra el archivo que Google obtuvo por última vez y señala errores de sintaxis). Luego prueba URL específicas: pega una ruta que pretendías bloquear y una que pretendías mantener, y confirma que cada una devuelve el resultado esperado. Probar una URL bloqueada y una permitida detecta la gran mayoría de errores antes de que te cuesten tráfico.
La regla de la coincidencia más larga (donde los sitios fallan)#
Esta única regla causa más bloqueos accidentales que cualquier otra cosa, y la mayoría de los tutoriales la omiten. Cuando varias reglas Allow y Disallow pueden aplicarse a la misma URL, Google no lee de arriba a abajo. Aplica la regla con la ruta coincidente más larga. Si dos reglas empatan en longitud, gana Allow.
Imagina este archivo:
User-agent: *
Disallow: /blog/
Allow: /blog/public/
Para la URL /blog/public/post-1, dos reglas coinciden. Disallow: /blog/ coincide con 6 caracteres; Allow: /blog/public/ coincide con 13 caracteres. La regla más larga gana, por lo que esta página es rastreable, aunque una lectura de arriba a abajo podría sugerir que está bloqueada.
Ahora inviértelo y observa la trampa:
User-agent: *
Allow: /products/
Disallow: /products/secret/
Para /products/secret/item, la ruta Disallow es más larga, por lo que esa URL está correctamente bloqueada mientras que el resto de /products/ permanece abierto. Las reglas hacen exactamente lo que dictan las longitudes.
Aquí está la comparación que importa cuando depuras un misterio de "por qué esta página está bloqueada":
| URL solicitada | Reglas coincidentes | Ganador | Resultado |
|---|---|---|---|
/blog/public/post | Disallow: /blog/ (6), Allow: /blog/public/ (13) | Allow (más larga) | Rastreada |
/products/secret/x | Allow: /products/ (10), Disallow: /products/secret/ (18) | Disallow (más larga) | Bloqueada |
/page | Allow: /page (5), Disallow: /page (5) | Allow (empate va a Allow) | Rastreada |
Advertencia: el error más dañino es un
Disallow: /suelto debajo deUser-agent: *. Una sola barra bloquea todo tu sitio de todos los rastreadores. Si tu tráfico orgánico alguna vez se desploma después de un despliegue, revisa robots.txt primero en busca de esa línea.
Ejemplos reales de robots.txt que puedes adaptar#
Las plantillas concretas superan a las reglas abstractas. Aquí tienes tres puntos de partida honestos. Cambia el dominio y ajusta las rutas a tu estructura.
Un sitio simple que quiere que todo sea rastreado#
User-agent: *
Disallow:
Sitemap: https://tudominio.com/sitemap.xml
El Disallow: vacío permite todo el rastreo. Este es el valor predeterminado correcto para un blog pequeño o un sitio folleto. No lo compliques demasiado.
Un sitio WordPress o CMS#
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://tudominio.com/sitemap_index.xml
La línea Allow para admin-ajax.php es importante: muchos temas y plugins necesitan ese endpoint, y bloquear toda la carpeta /wp-admin/ sin ella puede romper la funcionalidad del front-end de la que dependen los rastreadores.
Un sitio de comercio electrónico que gestiona el presupuesto de rastreo#
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*&color=
Allow: /products/
Sitemap: https://tudominio.com/sitemap.xml
Las reglas con comodín bloquean las URL de filtros por facetas (combinaciones de orden, filtro, color) que de otro modo generan un sinfín de páginas casi duplicadas y desperdician el presupuesto de rastreo en catálogos grandes. El Allow: /products/ mantiene abiertas tus URL de productos limpias.
¿Deberías usar Crawl-delay?#
Crawl-delay pide a un rastreador que espere un número determinado de segundos entre solicitudes. Google lo ignora por completo (controla la tasa de rastreo de Googlebot en Search Console). Bing y Yandex lo respetan. Solo agrégalo si un bot específico está saturando un servidor pequeño, y aun así, prefiere arreglar el servidor. Una línea como Crawl-delay: 10 bajo un agente de usuario específico es el caso raro en que vale la pena.
Rastreo vs Indexación: La Diferencia Que Te Salva#
El error conceptual más grande es tratar robots.txt como una forma de eliminar una página de Google. No lo es. Bloquear una URL impide que Google la rastree, pero una página bloqueada puede aparecer en los resultados de búsqueda si otros enlaces apuntan a ella, mostrada como una URL desnuda sin fragmento.
Peor aún, hay una combinación que nunca debes usar. Si agregas una etiqueta meta noindex a una página y también bloqueas esa página en robots.txt, Google nunca podrá rastrear la página para ver la etiqueta noindex. El resultado es que la página permanece indexada indefinidamente, lo opuesto a lo que querías.
La regla general:
- Para mantener una página fuera de los resultados de búsqueda: usa una etiqueta meta robots
noindex(o el encabezado HTTPX-Robots-Tagpara PDFs y otros archivos no HTML), y deja la página rastreable para que Google pueda leer esa etiqueta. - Para mantener a los rastreadores fuera de una sección por completo (y aceptar que aún puede aparecer como una URL desnuda): usa
Disallowen robots.txt. - Para contenido sensible: no confíes en ninguno de los dos. Usa autenticación.
Si estás decidiendo qué mecanismo se adapta a una página determinada, nuestro explicador sobre cómo bloquear rastreadores de IA con robots.txt recorre la misma lógica de rastreo versus indexación para la nueva ola de bots de entrenamiento de IA, que es una razón cada vez más común para editar este archivo en 2026.
Errores comunes y cómo evitarlos#
Una lista breve de los errores que cuestan tráfico real:
- Un
Disallow: /olvidado del entorno de pruebas. Los sitios en desarrollo suelen bloquear todo. Olvidar eliminarlo tras el lanzamiento aniquila tu visibilidad. - Bloquear CSS y JavaScript. Google renderiza las páginas para entenderlas. No permitir
/assets/o/js/puede romper el renderizado y perjudicar el posicionamiento. Deja que los rastreadores accedan a tus recursos. - Ubicación incorrecta del archivo. Debe estar en la raíz del host, en minúsculas
robots.txt, servido comotext/plain. - Confiar en él para la privacidad. Listar
/admin-secreto/en un archivo público es una guía para cualquier curioso. Usa controles de acceso reales. - Sensibilidad a mayúsculas. Las rutas distinguen mayúsculas y minúsculas.
/Blog/y/blog/son reglas diferentes.
Ante la duda, cambia una regla a la vez y vuelve a probar en Search Console. Lento y verificado vence a rápido y roto.
Para terminar#
Ahora ya sabes cómo crear un archivo robots.txt que haga exactamente lo que deseas: un conjunto limpio de directivas user-agent, disallow, allow y sitemap, colocado en la raíz de tu dominio y probado antes de publicarlo. Las dos ideas que vale la pena recordar son la regla de precedencia de la coincidencia más larga y la línea divisoria entre rastreo (robots.txt) e indexación (noindex). Domínalas y nunca ocultarás un sitio por accidente.
Cuando estés listo para crear el archivo sin escribir la sintaxis a mano, el generador de robots.txt convierte tus opciones de allow y disallow en un archivo válido y muestra una vista previa de cómo lo lee Googlebot. Combínalo con el generador de sitemaps XML para que la línea Sitemap: apunte a algo real y tendrás la configuración completa de control de rastreo en minutos.
Preguntas Frecuentes#
¿Dónde coloco el archivo robots.txt?
En la raíz de tu dominio, accesible exactamente en https://tudominio.com/robots.txt. Debe estar en minúsculas, llamarse robots.txt y servirse como texto plano. Un archivo en una subcarpeta se ignora, y cada subdominio necesita su propio archivo separado.
¿Realmente necesito un archivo robots.txt? No es estrictamente necesario. Si estás de acuerdo en que los motores de búsqueda rastreen todo, puedes omitirlo y los rastreadores asumirán acceso completo. La mayoría de los sitios agregan uno para señalar su mapa del sitio y evitar que los rastreadores accedan a áreas de administración, carrito, búsqueda y URLs duplicadas que desperdician el presupuesto de rastreo.
¿Bloquear una página en robots.txt la eliminará de Google? No. Robots.txt detiene el rastreo, no la indexación. Una página bloqueada aún puede aparecer en los resultados como una URL simple si otras páginas enlazan a ella. Para eliminar una página de los resultados de búsqueda, usa una metaetiqueta noindex y mantén la página rastreable para que Google pueda leer esa etiqueta. Nunca bloquees una página con noindex en robots.txt, porque entonces Google no podrá ver la etiqueta noindex.
¿Qué significa el asterisco en User-agent?
User-agent: * aplica las reglas que siguen a todos los rastreadores. Si agregas un bloque para un bot específico como User-agent: Googlebot, ese bot sigue solo su propio bloque e ignora el comodín. Un rastreador obedece un solo grupo, no una combinación de todos los grupos coincidentes.
¿Cómo pruebo mi robots.txt antes de publicarlo? Usa el informe de robots.txt en Google Search Console, que muestra el archivo que Google obtuvo y señala errores de sintaxis. Prueba URLs específicas verificando una ruta que pretendías bloquear y otra que pretendías mantener rastreable. También puedes previsualizar el comportamiento de las reglas en un generador de robots.txt antes de subirlo, lo que detecta errores de precedencia de coincidencia más larga de forma temprana.
¿Puedo usar comodines en robots.txt?
Sí, dentro de ciertos límites. * coincide con cualquier secuencia de caracteres, y $ ancla una regla al final de una URL. Así que Disallow: /*.pdf$ bloquea todos los PDF, y Disallow: /*?sort= bloquea cualquier URL que contenga un parámetro de ordenación. Estos dos símbolos son los únicos patrones de coincidencia que admite el estándar.



