robots.txt y noindex resuelven problemas distintos. La regla que conviene recordar es: robots.txt decide si un crawler puede solicitar una URL; noindex indica a un sistema compatible que esa URL no debe mantenerse en su índice.
Google explica que robots.txt no es el mecanismo adecuado para impedir que una página web normal aparezca en Google Search. Una URL bloqueada puede descubrirse desde enlaces, sitemaps, redirecciones o datos históricos y llegar a mostrarse incluso sin rastrear el contenido actual.
Diferencia entre los controles
| Control | Objetivo | Ubicación | ¿Debe cargarse la página? |
|---|---|---|---|
Disallow | Limitar rastreo | /robots.txt | No |
meta robots noindex | Evitar indexación de HTML | <head> | Sí |
X-Robots-Tag: noindex | Evitar indexación, también en recursos no HTML | Cabecera HTTP | Sí |
| Autenticación | Proteger acceso | Servidor/aplicación | No debe haber acceso público |
El punto crítico es que un crawler no puede leer un noindex de página si robots.txt le impide solicitarla.
La combinación que suele fallar
User-agent: *
Disallow: /members-preview/
más:
<meta name="robots" content="noindex">
La intención parece lógica, pero Googlebot no puede leer la etiqueta si no puede rastrear la URL. Si descubre el enlace por otra vía, esa URL puede seguir apareciendo como resultado sin fragmento.
Para una página pública que debe quedar fuera del índice, normalmente es más claro permitir el rastreo y servir noindex.
Cuándo usar robots.txt
Úsalo cuando el problema sea el gasto de rastreo o una zona que no necesita ser solicitada: búsqueda interna, carritos, sesiones, facetas o rutas de aplicación.
User-agent: *
Disallow: /busqueda-interna/
Disallow: /cart/
Allow: /
Sitemap: https://example.com/sitemap.xml
Antes de bloquear una carpeta amplia, prueba URLs importantes para asegurarte de que no quedan atrapadas.
Cuándo usar noindex
noindex es apropiado cuando la URL puede ser pública y rastreable, pero no quieres que aparezca en resultados. Para HTML:
<meta name="robots" content="noindex">
Para PDF u otros recursos puede usarse:
X-Robots-Tag: noindex
Ambos requieren que el crawler pueda acceder a la respuesta.
“Indexada, aunque bloqueada por robots.txt”
No es una contradicción. Rastreo e indexación son sistemas separados. El buscador puede conocer una URL sin obtener su contenido actual.
Si realmente debe desaparecer de resultados, pregunta primero si es seguro permitir el acceso del crawler. Si es pública, retira el bloqueo y devuelve noindex; si es privada, usa autenticación.
No uses Noindex dentro de robots.txt
Todavía circulan ejemplos como:
Noindex: /ejemplo/
Google no admite noindex como directiva de robots.txt. La indexación debe controlarse con meta robots o X-Robots-Tag.
La misma lógica se aplica a la búsqueda con IA
OpenAI también diferencia el bloqueo de OAI-SearchBot de noindex. Si un sistema conoce la URL por otra fuente, puede mostrar título o enlace aunque el contenido esté bloqueado. Para pedir que no se muestre, noindex debe poder ser leído por el crawler.
Secuencia de decisión
- ¿Es información privada? Usa autenticación.
- ¿Es pública pero no debe aparecer en búsqueda? Permite rastreo y usa
noindex. - ¿Es pública e indexable pero desperdicia rastreo? Evalúa robots.txt.
- ¿Quieres controlar solo un crawler? Crea un grupo User-agent específico.
- ¿El problema son duplicados? Revisa canonical, redirecciones y arquitectura antes de bloquear.
Después de cambiar la configuración, comprueba el /robots.txt publicado, la etiqueta o cabecera noindex, el sitemap y las herramientas de inspección del buscador. robots.txt controla rastreo, noindex controla indexación y la autenticación controla el acceso.