robots.txt vs Meta Noindex: Cuál Usar y Cuándo
Seo Tools

robots.txt vs Meta Noindex: Cuál Usar y Cuándo

Dos Mandos Que Hacen Cosas Distintas

Casi todos los tickets de "¿por qué sigue esta página en Google?" nacen de una misma confusión de raíz: tratar robots.txt y la directiva noindex como intercambiables. No lo son. Controlan dos etapas diferentes del pipeline de búsqueda. robots.txt gobierna el rastreo — si un crawler educado tiene permiso para descargar la URL. noindex (entregado como etiqueta meta o como cabecera HTTP) gobierna la indexación — si una URL que Google ya descargó puede aparecer en resultados. El rastreo ocurre primero; la indexación ocurre después, y solo si el crawler pudo leer la página.

La consecuencia práctica es contraintuitiva y confunde a desarrolladores con experiencia: si bloqueas una URL en robots.txt, Google todavía puede indexarla. La propia documentación de Google sobre cómo bloquear la indexación es explícita en que una regla Disallow no es un mecanismo de desindexación. Cuando una URL bloqueada se descubre por un enlace externo, un enlace interno desde una página rastreable o una entrada de sitemap, Google puede listarla en resultados sin haber descargado nunca su contenido — produciendo el conocido estado Indexada aunque bloqueada por robots.txt en Search Console. El listado no tiene título real ni snippet, porque Google nunca pudo leer la página, pero está en el índice igualmente.

Así que la respuesta a "robots.txt vs meta noindex — ¿cuál uso?" depende por completo de qué mando necesitas realmente. Si el objetivo es mantener una página fuera de los resultados, necesitas noindex. Si el objetivo es evitar que un crawler gaste crawl budget en una sección, necesitas robots.txt. La trampa es que ambos requisitos suelen aparecer juntos, y las directivas interfieren entre sí de un modo que arruina la combinación ingenua.

Por Qué Bloquear y Aplicar Noindex a la Vez Falla

El error más común es escribir ambas cosas a la vez: una regla Disallow en robots.txt y una etiqueta meta noindex en la misma página. Esto no duplica tu protección — la anula. La instrucción noindex vive dentro de la página (o en su respuesta HTTP). Para que Google la obedezca, Googlebot tiene que descargar la página y leerla. Pero la regla Disallow de robots.txt le dice a Googlebot que no descargue la página. El crawler nunca ve el noindex, así que nunca lo respeta. La URL sigue siendo elegible para indexación y suele caer en el cubo "Indexada aunque bloqueada por robots.txt".

Este comportamiento está descrito en el estándar IETF del Protocolo de Exclusión de Robots, RFC 9309, que define robots.txt estrictamente como un protocolo de acceso al rastreo — no acarrea semántica de indexación alguna. Las directivas de indexación son una convención separada servida a nivel de página, formalizada por Google en la especificación "Robots meta tag, data-nosnippet y X-Robots-Tag". Las dos capas se diseñaron de forma independiente, y combinarlas mal es la causa raíz de la mayoría de páginas atascadas en el índice.

La regla mnemónica correcta: para eliminar una página del índice, debe ser rastreable y llevar una directiva noindex al mismo tiempo. De forma contraintuitiva, tienes que permitir el rastreo de una página que quieres fuera, al menos lo suficiente para que Google la vuelva a descargar, vea el noindex y la elimine.

Dónde Vive el noindex — Etiqueta Meta vs X-Robots-Tag

La directiva noindex tiene dos mecanismos de entrega, y ambos son igual de autoritativos para Google.

La etiqueta meta robots

Para documentos HTML, coloca <meta name="robots" content="noindex"> en el <head>. Puedes apuntar a un crawler concreto sustituyendo robots por su token de producto, por ejemplo <meta name="googlebot" content="noindex">. Combina directivas con comas: content="noindex, nofollow" detiene la indexación y le dice a Google que no siga los enlaces de esa página. Una sutileza frecuente es que noindex implica que los enlaces aún se pueden seguir salvo que añadas nofollow — y durante una transición de desindexación normalmente quieres que los enlaces sigan siendo seguibles para que el equity fluya mientras la página se drena del índice.

La cabecera HTTP X-Robots-Tag

La etiqueta meta solo funciona para HTML. Para desindexar un PDF, una imagen, una exportación CSV o cualquier recurso no HTML, necesitas la cabecera de respuesta X-Robots-Tag — por ejemplo X-Robots-Tag: noindex. Al ser una cabecera HTTP, se configura en el servidor o en el edge del CDN y se aplica sin importar el tipo de archivo. También acepta las mismas directivas que la etiqueta meta, más extras útiles como unavailable_after: 1 Jul 2026 00:00:00 GMT para contenido con caducidad. Es la única forma fiable de mantener archivos generados como los PDF de informes trimestrales fuera del índice, y es el mecanismo que la especificación X-Robots-Tag de Google documenta para exactamente este propósito.

Ambos mecanismos comparten la misma dependencia fatal: el crawler debe poder descargar el recurso para ver la cabecera o la etiqueta. Un PDF bloqueado en robots.txt ignorará su propio X-Robots-Tag por la misma razón por la que una página HTML ignora su etiqueta meta.

robots.txt vs Meta Noindex: Cuál Usar y Cuándo

Un Flujo Seguro de Desindexación

Cuando una URL ya está indexada y la quieres fuera, el orden importa. Hacer los pasos al revés es lo que deja páginas atascadas.

  1. Elimina cualquier bloqueo en robots.txt sobre la URL. Si la ruta está actualmente bloqueada, Google no puede volver a rastrearla para descubrir el noindex. Abre primero el acceso al rastreo.
  2. Añade la directiva noindex. Usa la etiqueta meta robots para HTML, o X-Robots-Tag: noindex para no-HTML. Verifica que la directiva se sirve de verdad inspeccionando la respuesta en producción, no la plantilla de origen — las capas de caché y los CDN a veces eliminan o sobrescriben cabeceras.
  3. Espera al re-rastreo. Google debe volver a descargar la página para respetar la directiva. Puedes acelerar el descubrimiento enviando la URL a inspección en Search Console, pero la desindexación no es instantánea; sigue al siguiente rastreo exitoso.
  4. Confirma la eliminación. Cuando la URL desaparece del índice y el estado "Indexada" se limpia, la página ya no está en resultados.
  5. Solo ahora plantéate volver a bloquear en robots.txt — y normalmente no deberías. Una vez que una página lleva un noindex permanente, volver a añadir un Disallow impediría que Google reconfirme el noindex en futuros rastreos, arriesgando que la página reaparezca si resurge una señal obsoleta. Mantén la página rastreable y deja que el noindex haga su trabajo. Reserva el bloqueo de robots.txt para secciones que de verdad nunca quieres que se descarguen y que no tienen exposición de indexación.

Para eliminaciones urgentes — un borrador filtrado, una página de precios publicada antes de tiempo — combina este flujo con la herramienta de Eliminaciones temporales de Search Console, que oculta una URL de los resultados durante unos seis meses mientras tu noindex permanente se asienta. La herramienta de Eliminaciones es un parche, no un sustituto: si nunca añades el noindex, la URL vuelve cuando expira el bloqueo temporal.

Entonces, ¿Cuál Usas?

Una guía de decisión breve que resuelve la gran mayoría de casos:

  • Mantener una página fuera de los resultados: usa noindex (etiqueta meta para HTML, X-Robots-Tag para archivos). Mantén la URL rastreable.
  • Dejar de malgastar crawl budget en espacios de URL infinitos o inútiles — explosiones de parámetros de navegación facetada, páginas de resultados de búsqueda interna, paginaciones de calendario: usa Disallow en robots.txt. Estas normalmente no deberían indexarse de todos modos, y sobre todo proteges al crawler. Si alguna de esas URL ya está indexada, desindéxala primero con noindex y luego bloquea.
  • Proteger recursos privados o sensibles: no uses ninguno de los dos como control de seguridad. robots.txt es de lectura pública y listar una ruta allí la anuncia; noindex solo afecta a los listados de búsqueda. La protección real es autenticación, una lista blanca de IP o un guard de ruta. RFC 9309 es un protocolo de bots educados y no ofrece ninguna garantía contra scrapers.
  • Gestionar contenido duplicado: a menudo ninguno — un enlace rel="canonical" es la señal de consolidación correcta, porque quieres que los duplicados pasen señales al canónico en lugar de desaparecer.

Verificar Antes de Publicar

Ambas capas son fáciles de equivocar de formas invisibles hasta que el tráfico se mueve. El lado de robots.txt es testeable: pega tu archivo y tus URL candidatas en el Comprobador de robots.txt, elige el crawler que te interesa y confirma que las URL que pretendes desindexar tienen permiso para ser rastreadas — porque un Disallow perdido es exactamente lo que rompería tu noindex en silencio. El comprobador implementa el algoritmo longest-match de RFC 9309 que usa Googlebot y se ejecuta enteramente en tu navegador.

El lado de la indexación se verifica en la capa HTTP: descarga la URL en producción e inspecciona la respuesta buscando la etiqueta meta en el head renderizado o la cabecera X-Robots-Tag. Hazlo contra producción, no staging, porque las cachés de edge y los proxies de seguridad son célebres por eliminar cabeceras. Cuando reorganizas un sitio, comprueba además que las URL que estás desindexando también se eliminan de tus sitemaps XML — una URL desindexada todavía listada en un sitemap envía a Google señales contradictorias. El Comparador de Sitemaps hace evidentes esas discrepancias en una sola pasada, y para sitios internacionales el Verificador de hreflang detecta la trampa relacionada de aplicar noindex a un idioma mientras su clúster hreflang sigue apuntándole.

Para profundizar en cómo se evalúan las reglas de rastreo — la precedencia longest-match, la directiva obsoleta Noindex dentro de robots.txt y el panorama de crawlers de IA — consulta nuestra guía complementaria, robots.txt Sin Mitología.

En Resumen

robots.txt y meta noindex no son dos formas de hacer lo mismo — son dos controles sobre dos etapas distintas. robots.txt decide si una página se descarga; noindex decide si una página descargada aparece en resultados. Como el noindex vive dentro de la página, bloquearla en robots.txt oculta la misma instrucción que querías que se obedeciera, y por eso la combinación ingenua de "bloquéala y ponle noindex" deja páginas atascadas en el índice. Para desindexar, permite el rastreo y sirve noindex; para conservar crawl budget en espacios de URL inútiles, usa disallow; para cualquier cosa sensible, usa control de acceso real. Testea la capa de rastreo con el Comprobador de robots.txt, verifica la capa de indexación en la respuesta HTTP, mantén tus sitemaps coherentes, y los tickets de "¿por qué sigue esto en Google?" dejan de llegar.

← Volver al Blog