He visto webs enormes, de esas que facturan millones, caer en picado en Google por una sola línea mal puesta en su archivo `robots.txt`. Y casi siempre, el culpable es el mismo: un mal uso de la directiva Disallow. Parece algo técnico y aburrido, pero te aseguro que entender cómo y cuándo usarla es una de las habilidades más rentables en SEO. Llevo más de 10 años auditando webs y los errores con el `robots.txt` son el pan de cada día.
Mucha gente cree que `Disallow` sirve para ocultar páginas de Google, y ese es el primer paso hacia el desastre. En este artículo voy a contarte, sin tecnicismos absurdos, qué es exactamente esta directiva, cómo usarla como un profesional para optimizar tu presupuesto de rastreo y, lo más importante, cuándo debes mantenerte alejado de ella. Vamos al lío.
Lo que aprenderás en este artículo:
- La diferencia CLAVE entre Disallow y noindex – Te explicaré de una vez por todas por qué confundirlas puede hundir el SEO de tu web.
- Ejemplos prácticos y reales de robots.txt – Reglas que uso con mis clientes para bloquear directorios, parámetros de URL y archivos que no aportan valor.
- Los 3 errores garrafales con Disallow – Te mostraré los fallos que veo constantemente en auditorías y que te están costando visibilidad y dinero.
- Tabla comparativa definitiva – Una chuleta visual para saber cuándo usar Disallow, noindex o canonical sin dudarlo.
¿Qué es exactamente la directiva Disallow y para qué sirve?
Vamos a empezar por lo básico, pero te lo digo claro: si entiendes bien este punto, tienes el 80% del trabajo hecho. La directiva `Disallow` es una regla que pones dentro de un archivo llamado `robots.txt` en la raíz de tu servidor. Su única función es decirle a los robots de los buscadores (como Googlebot) que no quieres que accedan a ciertas URLs o directorios de tu web.
Imagina que tu web es un edificio. El archivo `robots.txt` es el conserje en la entrada. La directiva `Disallow` es la orden que le das al conserje: «Oye, a la sala de calderas y al almacén del sótano, no dejes pasar a nadie». El robot llega, habla con el conserje y obedece (normalmente).
La función real: gestionar tu presupuesto de rastreo
Aquí está la clave de todo. Google no tiene tiempo infinito para revisar tu web. Asigna un «presupuesto de rastreo» (o crawl budget), que es la cantidad de URLs que rastreará en un periodo de tiempo. Si tienes una web grande, con miles de páginas de filtros, búsquedas internas, versiones para imprimir o zonas de administración, no quieres que Google pierda su tiempo ahí.
Usas `Disallow` para decirle: «Google, ignora estas zonas que no son importantes y céntrate en mis páginas de producto, mis artículos del blog y mis categorías principales, que es donde está la chicha». Al optimizar por dónde pasa Googlebot, te aseguras de que tus páginas más importantes se rastreen e indexen más rápido. Es pura eficiencia.
Una cosa que debes tener clarísima: Disallow NO es noindex
Este es el error que más dinero cuesta. Grábatelo a fuego: bloquear una URL con Disallow NO garantiza que se elimine del índice de Google.
¿Por qué? Porque si esa URL bloqueada tiene enlaces desde otras webs (backlinks) o incluso desde otras partes de tu propia web, Google puede descubrirla e indexarla sin haberla rastreado. El resultado es horrible: la URL puede aparecer en los resultados de búsqueda, pero como Google no ha podido leer su contenido, mostrará un snippet poco atractivo como «No hay información disponible sobre esta página» o usará el texto de los enlaces que apuntan a ella.
Si quieres que una página NO aparezca en Google, la herramienta correcta es la metaetiqueta `noindex`. `Disallow` es para gestionar el rastreo, `noindex` es para gestionar la indexación.
Cómo usar Disallow en tu archivo robots.txt: ejemplos prácticos
El archivo `robots.txt` tiene una sintaxis muy estricta. Un carácter mal puesto y puedes liar una buena. Se encuentra siempre en `tudominio.com/robots.txt`.
La sintaxis básica que no admite errores
La estructura siempre es la misma. Primero indicas a qué robot te diriges (`User-agent`) y luego le das las órdenes (`Disallow` o `Allow`).
- User-agent: Define el bot. `User-agent: *` se aplica a todos los bots. `User-agent: Googlebot` se aplica solo al bot de Google.
- Disallow: Indica la ruta de la URL o directorio que quieres bloquear. Siempre empieza con una barra `/`.
Ojo, el archivo se procesa de arriba abajo y el bot se queda con la regla más específica que encuentre.
Ejemplos de Disallow que uso con mis clientes
Aquí tienes algunas reglas que suelo implementar en casi todos los proyectos:
1. Bloquear un directorio completo: Muy útil para zonas de administración, carritos de la compra o archivos internos.
User-agent: *
Disallow: /wp-admin/
Disallow: /carrito/
2. Bloquear un tipo de archivo específico: Si no quieres que Google indexe tus PDFs o documentos.
User-agent: *
Disallow: /*.pdf$
(El `$` al final significa que la URL debe terminar exactamente en «.pdf», es más preciso).
3. Bloquear URLs con parámetros: Brutal para e-commerce con filtros y ordenaciones que generan miles de URLs duplicadas.
User-agent: *
Disallow: /*?sort=
Disallow: /*&price-range=
(El `*` actúa como comodín para cualquier valor que siga al parámetro).
4. Bloquear todas las URLs de búsqueda interna: Las páginas de resultados de tu buscador interno no suelen aportar valor SEO.
User-agent: *
Disallow: /search?q=
Disallow vs. Noindex vs. Canonical: la tabla definitiva para no liarla
Para que quede meridianamente claro, he creado esta tabla que resume cuándo usar cada directiva. Es la chuleta que deberías tener siempre a mano.
| Directiva | Qué le dice a Google | ¿Evita la indexación? | Mejor para… |
|---|---|---|---|
| Disallow (en robots.txt) | «No rastrees esta URL, no pierdas tiempo aquí». | NO, no lo garantiza. La URL puede ser indexada si tiene enlaces. | Optimizar el crawl budget en zonas sin valor SEO (admin, filtros, carritos). |
| Meta Noindex (en el <head>) | «Puedes rastrear esta página, pero no la incluyas en tu índice». | SÍ, es su función principal. Es la orden directa para no aparecer en Google. | Páginas de «gracias», contenido de poco valor, landing pages de PPC, archivos de autor con pocos posts. |
| rel=»canonical» (en el <head>) | «Esta página es una copia de otra. Dale toda la fuerza SEO a la original». | Indirectamente. Ayuda a Google a consolidar señales en una única URL, evitando la canibalización. | URLs con parámetros, versiones de impresión, contenido sindicado, versiones HTTP/HTTPS o con/sin www. |
Los errores más comunes con Disallow que he visto (y cómo evitarlos)
En mis auditorías SEO he visto de todo. Estos son los tres errores más peligrosos y frecuentes relacionados con el `Disallow`.
Bloquear CSS y JavaScript: un error de novato
Antiguamente se recomendaba bloquear las carpetas de CSS y JS para «ahorrar» crawl budget. Hoy en día, eso es un suicidio SEO. Google necesita renderizar las páginas como lo haría un usuario para entenderlas completamente. Si le bloqueas el acceso a estos recursos, verá una versión «rota» de tu web y podría no entender el contenido ni la estructura, afectando gravemente a tu posicionamiento.
Solución: Asegúrate de que no tienes ninguna regla tipo `Disallow: /css/` o `Disallow: /js/` en tu `robots.txt`.
Intentar desindexar contenido con Disallow
Ya lo he dicho, pero lo repito. Un cliente me llegó desesperado porque no conseguía eliminar unas URLs antiguas del índice. ¿Qué había hecho? Añadirlas al `robots.txt` con `Disallow`. El problema es que al hacer eso, le impidió a Google volver a rastrear esas páginas para ver la nueva directiva `noindex` que también había añadido. Fue un círculo vicioso.
Solución: Si quieres desindexar una página, primero quita cualquier `Disallow` que la afecte, luego añade la etiqueta `noindex` y espera a que Google la rastree. Una vez desindexada, si quieres, ya puedes añadir el `Disallow` para que no vuelva a gastar presupuesto en ella.
Confundir Disallow con una medida de seguridad
La directiva `Disallow` es una petición, no una orden inquebrantable. Y, sobre todo, no es una barrera de seguridad. Cualquier persona puede ver tu archivo `robots.txt` y descubrir las rutas que intentas «ocultar». Los bots maliciosos ignoran por completo este archivo. Nunca, jamás, uses `Disallow` para proteger contenido sensible o privado.
Solución: Protege las zonas privadas de tu web con contraseñas, autenticación de usuario o restricciones a nivel de servidor. El SEO aquí no pinta nada.
Mi consejo final: cuándo SÍ y cuándo NO usar Disallow
Si te tienes que quedar con algo de todo este artículo, que sea esto. La directiva `Disallow` es una herramienta de precisión, como un bisturí. Usada bien, optimiza tu web de forma brutal. Usada mal, puede desangrar tu tráfico.
Usa `Disallow` SIN MIEDO para:
- Zonas de administración o login (`/wp-admin/`, `/mi-cuenta/`).
- Resultados de búsqueda interna (`/search?q=…`).
- URLs generadas por filtros y ordenaciones que no aportan valor SEO.
- El carrito de la compra y el proceso de checkout.
- Cualquier sección técnica o de archivos internos que no deba ser pública.
NUNCA uses `Disallow` para:
- Desindexar una página (para eso está `noindex`).
- Ocultar contenido sensible (para eso está la protección por contraseña).
- Bloquear páginas que quieres que Google valore, aunque no las indexe (por ejemplo, para que siga los enlaces).
- Bloquear archivos CSS o JavaScript.
Mi recomendación final es que siempre que hagas un cambio en tu `robots.txt`, lo pruebes con el Probador de robots.txt de Google Search Console. Es gratis y te dirá al instante si has bloqueado algo que no debías. No te fíes de tu instinto, comprueba siempre.
Dudas que siempre me preguntan sobre el Disallow
¿Qué pasa si no tengo un archivo robots.txt?
No pasa nada grave. Si no existe, los buscadores asumirán que tienen permiso para rastrear toda tu web. Sin embargo, es una buena práctica tener uno, aunque solo sea para indicar la ubicación de tu sitemap. WordPress, por ejemplo, crea uno virtual por defecto.
¿Puedo bloquear a un bot específico como Ahrefs o Semrush?
Sí, puedes. Simplemente usas su `User-agent` específico. Por ejemplo, para bloquear a Ahrefs sería: `User-agent: AhrefsBot` y debajo la regla `Disallow: /`. Aunque yo no soy muy fan de hacerlo, estas herramientas necesitan rastrear tu web para darte datos útiles.
He añadido un Disallow a una página, pero sigue apareciendo en Google, ¿por qué?
Como te comentaba, es el error clásico. Probablemente esa URL tiene enlaces externos (backlinks). Google la conoce por esos enlaces y la indexa aunque no pueda rastrearla. La solución es quitar el `Disallow` y poner una etiqueta `meta noindex` en la página. Una vez Google la procese y la elimine del índice, ya podrás volver a poner el `Disallow` si quieres ahorrar crawl budget.
¿Un Disallow en una página afecta a los enlaces que contiene?
Sí, y es un punto importante. Si bloqueas una página con `Disallow`, Google no la rastreará, y por lo tanto, no seguirá ninguno de los enlaces que haya en ella. No podrá traspasar autoridad (PageRank) a través de esos enlaces. Tenlo muy en cuenta al planificar tu enlazado interno.