X-Robots-Tag: controla la indexación por HTTP

X-Robots-Tag: controla la indexación por HTTP

Imagina un catálogo de fichas técnicas en PDF colgado en tu web, y una de ellas empieza a aparecer en Google con datos desactualizados. Quieres sacarla del índice, así que vas a añadir una etiqueta meta robots... pero un PDF no tiene una sección <head> donde pegarla. No es un archivo HTML, así que la herramienta habitual simplemente no tiene dónde vivir. Este es exactamente el problema que resuelve la X-Robots-Tag: una directiva de rastreo e indexación que, en vez de insertarse dentro del documento, viaja en la cabecera de la respuesta HTTP. Como esa cabecera acompaña a cualquier respuesta que entregue el servidor, la directiva funciona sobre PDFs, imágenes, vídeos, hojas de cálculo o cualquier otro archivo, no solo sobre páginas HTML.

La mayoría del contenido sobre SEO técnico se queda en robots.txt y en la etiqueta meta robots. Este artículo se centra en la pieza que casi nadie explica bien: la cabecera HTTP X-Robots-Tag, qué directivas acepta, cuándo usarla en lugar de la etiqueta meta, el error que la deja sin efecto por completo, y cómo comprobar que de verdad está saliendo en la respuesta del servidor, en vez de asumirlo porque así se configuró en algún sitio.

El límite que tiene la etiqueta meta robots

La etiqueta meta robots se coloca dentro del <head> de un documento HTML, y tanto navegadores como rastreadores la leen porque forma parte del propio documento que están procesando. Eso funciona perfectamente para páginas web normales, pero deja de funcionar en el momento en que el recurso no es HTML.

Un sitio típico no solo sirve páginas: sirve PDFs descargables, imágenes de producto, hojas de cálculo, archivos de audio o vídeo, e incluso respuestas en JSON. Ninguno de esos formatos tiene un <head> donde insertar una directiva de indexación. Un PDF puede tener metadatos propios (autor, título del documento), pero Google no los interpreta como una instrucción de robots. Si uno de esos archivos se indexa y quieres retirarlo, el método que usarías en una página HTML no tiene equivalente dentro del propio archivo.

Qué es la X-Robots-Tag y por qué existe

La X-Robots-Tag traslada la directiva fuera del documento y la coloca en la cabecera de la respuesta HTTP, la parte de la comunicación entre servidor y cliente que no se ve en el contenido pero que todo rastreador recibe siempre, sea cual sea el tipo de archivo solicitado. Como es el servidor quien decide qué cabeceras enviar en cada respuesta, puede aplicar la misma directiva de indexación a un PDF, una imagen, un vídeo o una página HTML normal: es el mismo mecanismo de fondo que la etiqueta meta, solo que operando en una capa distinta, antes de que el navegador o el rastreador lleguen siquiera a interpretar el contenido.

Un documento HTML puede llevar las dos cosas a la vez, X-Robots-Tag en la cabecera y una etiqueta meta robots en el <head>. Cuando ambas están presentes y no coinciden, se aplica la directiva más restrictiva de las dos. En la práctica no suele hacer falta duplicarlas: se elige una según el tipo de recurso y el punto del sistema donde resulte más simple aplicar la regla.

Las directivas que acepta

La X-Robots-Tag comparte exactamente el mismo vocabulario que la etiqueta meta robots; cambia dónde se declara, no qué se puede decir con ella.

  • noindex: no incluir esta URL en el índice; si ya estaba indexada, se retira en el siguiente rastreo.
  • nofollow: no seguir los enlaces salientes de este documento para descubrir nuevas URLs a partir de él.
  • none: equivale a combinar noindex y nofollow en una sola directiva.
  • noarchive: impide que el buscador muestre una copia en caché de ese recurso (Google retiró sus enlaces de caché en 2024, pero otros buscadores la siguen respetando).
  • nosnippet: evita mostrar texto o vista previa del contenido junto al resultado de búsqueda.
  • max-snippet:[número]: limita cuántos caracteres de texto pueden mostrarse en el fragmento.
  • max-image-preview:[none|standard|large]: controla el tamaño máximo de la miniatura de imagen mostrada.
  • unavailable_after:[fecha]: pide que el recurso deje de indexarse a partir de una fecha y hora concretas.

Casos de uso reales donde la etiqueta meta no llega

El hilo común de estos casos es que el recurso a controlar no es una página HTML gestionada desde un editor de contenido, así que la directiva tiene que aplicarse a nivel de servidor.

  • Desindexar PDFs: catálogos antiguos, fichas técnicas descontinuadas o informes descargables que ya no deberían aparecer en resultados; se aplica noindex a la ruta o a la extensión de archivo completa, sin tocar cada PDF a mano.
  • Mantener fuera entornos de staging o archivos internos: subdominios de pruebas, copias de seguridad accesibles por URL o documentos internos publicados por error; conviene aplicar noindex a todas las respuestas de ese entorno, no solo a las páginas HTML que contiene.
  • Expirar páginas con fecha de caducidad: entradas de eventos ya celebrados, promociones por tiempo limitado u ofertas de temporada; unavailable_after evita depender de acordarse de retirar la página manualmente el día que caduca.

El error que la deja completamente sin efecto

Aquí está el fallo más común y el que más vale la pena entender bien: si una URL está bloqueada en robots.txt, el rastreador nunca llega a solicitarla. Y si nunca la solicita, nunca recibe su respuesta HTTP, así que nunca lee la X-Robots-Tag que va en esa respuesta. La directiva puede estar perfectamente configurada y no servirá absolutamente de nada, porque el rastreador jamás la ve.

Es un error muy habitual precisamente porque parece lógico hacer las dos cosas a la vez: bloquear la carpeta de PDFs en robots.txt Y añadirle un noindex, pensando en una doble protección. El resultado real es el contrario al buscado. Como Google no puede rastrear esos archivos, no puede confirmar que llevan noindex, y si existe algún enlace externo hacia ellos, puede llegar a mostrar la URL en resultados de todos modos, sin título ni descripción, con la etiqueta de que el contenido está bloqueado por robots.txt. Bloquear y aplicar noindex a la vez sobre el mismo recurso es contraproducente, y es el error que define este tema.

El orden correcto, cuando el objetivo es sacar algo del índice, es este:

  • Confirma que robots.txt permite el rastreo de esa URL o ruta; si está bloqueada, quita el bloqueo primero.
  • Confirma que la respuesta lleva X-Robots-Tag: noindex (o la directiva equivalente que necesites).
  • Espera a que el rastreador vuelva a pasar por la URL y la retire del índice; esto no es instantáneo.
  • Solo después de confirmar la retirada, si además quieres ahorrar rastreo sobre ese recurso a futuro, puedes bloquearlo en robots.txt.

Cómo se configura, en términos generales

La X-Robots-Tag se añade en la capa que genera la respuesta, no dentro de cada archivo. Hay dos formas habituales de hacerlo. La primera es a nivel de configuración del servidor web, definiendo una regla que añade la cabecera a todas las respuestas que coincidan con un patrón: una extensión de archivo concreta, un prefijo de ruta, o un tipo de contenido. La segunda es a nivel de aplicación, cuando el propio backend construye la respuesta y añade la cabecera de forma condicional según la lógica de negocio, por ejemplo cuando una página se marca internamente como despublicada.

En ambos casos, la ventaja frente a la etiqueta meta es que la regla se define una sola vez y se aplica a cientos o miles de archivos sin tener que editar ninguno de ellos individualmente. Eso sí, la directiva solo cuenta si llega efectivamente en la respuesta pública: si hay una capa intermedia (un proxy, una CDN, una caché) que sirve una versión antigua de la respuesta o que no propaga esa cabecera, el rastreador seguirá sin verla aunque la configuración del origen sea correcta.

Detalles que se pasan por alto con frecuencia

El nofollow dentro de una X-Robots-Tag no impide que la propia página se indexe ni que otros la enlacen; solo le dice al rastreador que no siga los enlaces que salen de ese documento concreto para descubrir páginas nuevas a partir de ahí. Es fácil confundirlo con un bloqueo general, y no lo es.

El noindex tampoco actúa al instante. Aplicar la cabecera no borra la URL del índice en ese mismo momento; el buscador tiene que volver a rastrear esa dirección, leer la nueva cabecera y procesar la retirada, lo que puede tardar desde días hasta varias semanas según la frecuencia de rastreo del sitio. Si necesitas confirmar que ya salió, hay que revisarlo más adelante, no dar por hecho que fue inmediato.

Quitar una URL del sitemap tampoco equivale a desindexarla. El sitemap es solo una lista de sugerencias de rastreo; una URL puede seguir indexada durante mucho tiempo aunque ya no aparezca en él, porque el sitemap no lleva ninguna directiva de indexación en sí mismo.

Cómo verificarla

La X-Robots-Tag es invisible en el código fuente de la página. Si abres "ver código fuente" o inspeccionas el HTML, no vas a encontrarla ahí, porque no forma parte del documento: vive en la cabecera de la respuesta, un nivel por debajo del contenido que se renderiza. Es habitual comprobar el código fuente, no ver nada, y concluir erróneamente que la directiva no está aplicada, cuando en realidad se está mirando en el sitio equivocado.

Para verla de verdad hace falta inspeccionar las cabeceras de la respuesta HTTP, no el documento:

  • Con las herramientas de desarrollador del navegador: pestaña de red (Network), seleccionar la petición al recurso en cuestión y revisar la sección de cabeceras de respuesta.
  • Con un cliente HTTP de línea de comandos que permita pedir solo las cabeceras de una URL, sin descargar el cuerpo completo de la respuesta.
  • Con la herramienta de inspección de URLs de Search Console, que muestra si Google detectó alguna directiva de indexación en la respuesta rastreada.

Preguntas frecuentes

¿La X-Robots-Tag sustituye al archivo robots.txt?

No. robots.txt controla si el rastreador puede acceder a una URL; la X-Robots-Tag controla si, una vez rastreada, esa URL puede indexarse. Son mecanismos distintos y complementarios, no intercambiables entre sí.

¿Se pueden combinar varias directivas en la misma cabecera?

Sí, se separan por comas dentro del mismo valor, por ejemplo noindex, nofollow. También se pueden repetir cabeceras dirigidas a robots distintos, como Googlebot o Bingbot, si necesitas un comportamiento diferente según el buscador.

¿Funciona igual en imágenes y vídeos que en páginas HTML?

Sí, ese es precisamente su propósito. Como opera a nivel de respuesta HTTP y no de documento, cubre cualquier tipo de archivo que el servidor devuelva, imágenes y vídeos incluidos, algo que la etiqueta meta robots no puede hacer.

Si ya bloqueé una URL en robots.txt, ¿cómo la desindexo ahora?

Primero quita el bloqueo de robots.txt para que el rastreador pueda volver a acceder al recurso, confirma que la respuesta lleva X-Robots-Tag: noindex, y espera a que Google la rastree de nuevo y la retire del índice. Solo después, si quieres, puedes volver a bloquear el rastreo de esa ruta.

Actualizado: 1 octubre 2026

Todos los artículos