< BACK X-Robots-Tag vs etiqueta meta robots: cuándo cada una le dice a Google que omita una página -- ilustración de arte lineal

X-Robots-Tag vs etiqueta meta robots: cuándo cada una le dice a Google que salte una página

Dos formas de decirle a Google que no indexe una página: la etiqueta meta robots en el HTML, o la X-Robots-Tag en el encabezado de respuesta HTTP. Hacen el mismo trabajo. No son intercambiables. Elegir la correcta depende de qué es el archivo (HTML vs PDF vs imagen), dónde puedes editar (plantilla vs configuración del servidor) y si la necesitas a escala (una página vs diez mil).

Conclusión clave: la etiqueta meta robots y X-Robots-Tag hacen el mismo trabajo; la versión de encabezado es la única forma de aplicar noindex a PDFs, imágenes y otros archivos que no son HTML.The robots meta tag and the X-Robots-Tag do the same job; the header version is the only way to noindex PDFs, images, and other non-HTML files.

Los dos mecanismos en una oración cada uno

etiqueta meta robots: <meta name="robots" content="noindex, nofollow"> en el <head> de un documento HTML. Funciona solo en páginas HTML porque no hay equivalente en PDF / imagen / metadatos JSON. Fácil de agregar a través de la plantilla de la página.

X-Robots-Tag: X-Robots-Tag: noindex, nofollow como encabezado de respuesta HTTP. Funciona en cualquier tipo de recurso que devuelva el servidor: HTML, PDF, imagen, video, JSON, cualquier cosa. Se configura en el servidor (Apache, Nginx, encabezados edge de Vercel, Cloudflare Workers) o a través de la API de respuesta del framework.Vercel edge headers, Cloudflare Workers) or via the framework's response API.

Cuándo la etiqueta meta robots es la opción correcta

  • Exclusión de una sola página: una página específica que quieres que no sea indexada. Agrega la etiqueta meta a la plantilla de esa página, despliega el cambio.
  • Páginas controladas por plantilla: cuando la decisión de noindex se toma por tipo de página (por ejemplo, todas las páginas /thank-you/ deben tener noindex). Añade la etiqueta meta dentro de la plantilla de diseño que usan esas páginas.
  • Decisiones dinámicas: cuando noindex depende de datos en tiempo de ejecución (por ejemplo, noindex en páginas con menos de 200 palabras). La etiqueta meta se renderiza condicionalmente en la plantilla.
  • Cuando no tienes acceso a la configuración del servidor: hosting compartido, CMS bloqueado, deploy de agencia donde puedes editar plantillas pero no htaccess. La etiqueta meta es tu única opción.

Cuándo X-Robots-Tag es la opción correcta

  • Recursos no HTML: PDFs, imágenes, endpoints JSON, sitemaps. No puedes añadir una etiqueta meta a un PDF. X-Robots-Tag en la respuesta HTTP es la única forma.
  • Exclusión basada en patrones: "noindex todo bajo /admin/*" o "noindex cada archivo .pdf". Configúralo una vez en el servidor, se aplica a cada URL coincidente para siempre. Mucho más limpio que editar 200 plantillas.
  • Exclusión a gran escala: 10,000 URLs generadas dinámicamente que no deben indexarse. Un único bloque location de Nginx supera un condicional a nivel de plantilla.
  • Cuando quieres defensa en profundidad: combina X-Robots-Tag en el servidor con robots meta en la plantilla. Cualquiera de las dos capas detecta el noindex; ambas capas significan que un bug en la plantilla no puede re-indexar accidentalmente la página.

Qué pueden establecer ambas

Ambos mecanismos aceptan el mismo conjunto de directivas. Las más comunes: noindex (no indexar), nofollow (no seguir enlaces desde esta página), none (= noindex, nofollow), noarchive (no mostrar versión en caché), nosnippet (no mostrar fragmento en SERP), max-snippet:N (limitar longitud de fragmento), max-image-preview:standard|large|none (controlar vistas previas de imágenes en AEO, relevante para trabajo GEO 2026), max-video-preview:N (limitar longitud de vista previa de video), unavailable_after:date (auto-noindex después de una fecha).

Google lee las mismas directivas sin importar qué mecanismo las entrega. La elección del mecanismo se trata de escala y tipo de recurso, no de soporte de directivas.

Cómo configurar X-Robots-Tag en plataformas comunes

Vercel (vercel.json)

Usa un bloque [[headers]] con un patrón source y una entrada values para X-Robots-Tag. Ejemplo: [[headers]] source = "/admin/(.*)" [[headers.values]] X-Robots-Tag = "noindex, nofollow". Se aplica a cada URL que coincida con el patrón.

Netlify (netlify.toml)

Bloque [[headers]] con un glob path y values.X-Robots-Tag configurado. Ejemplo: [[headers]] for = "/admin/*" [headers.values] X-Robots-Tag = "noindex, nofollow".

Apache (.htaccess)

<FilesMatch "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch> para coincidencia de patrones de archivo. O usa <Location /admin> Header set X-Robots-Tag "noindex, nofollow" </Location> para coincidencia de rutas.

Nginx

location ~ /admin/ { add_header X-Robots-Tag "noindex, nofollow"; } dentro del bloque server. El location ~ coincide por regex; usa location ^~ para coincidencia solo por prefijo.

Cloudflare Workers / Edge

Modifica los encabezados de respuesta en el script del worker: response.headers.set('X-Robots-Tag', 'noindex, nofollow'). Útil para sitios donde el servidor de origen no puede emitir fácilmente el encabezado.

Verificar que el encabezado está configurado

curl -I https://example.com/page devuelve todos los encabezados de respuesta incluyendo X-Robots-Tag. Busca la línea X-Robots-Tag en la salida. Si falta, el encabezado no está siendo configurado.

Para la verificación en Search Console: la herramienta de Inspección de URL muestra las directivas que Google detectó tanto de la meta etiqueta como del encabezado HTTP. Si cualquiera de las dos capas establece noindex, Google no indexa nada. Vale la pena verificar ambas capas porque un CDN mal configurado puede eliminar encabezados silenciosamente.

El patrón de defensa en profundidad

La configuración de producción más sólida usa ambas. X-Robots-Tag a nivel de servidor para el patrón de ruta (por ejemplo, /admin/*) más meta robots a nivel de plantilla en el <head> de la página para las mismas páginas. Dos capas significa que un error en la plantilla o una configuración incorrecta del CDN no pueden reindexar accidentalmente páginas que deberían ser privadas.

Así es como está configurada la sección de administrador de este sitio: vercel.json establece X-Robots-Tag: noindex, nofollow en /admin/*, Y la plantilla AdminLayout emite <meta name="robots" content="noindex, nofollow"> en el head. A prueba de todo.

Errores comunes

  • Agregar noindex a una página que ya está bloqueada por robots.txt. Disallow en robots.txt impide que Googlebot obtenga la página en absoluto, por lo que nunca ve la directiva noindex. La página puede terminar indexada sin fragmento porque Google vio la URL en otro lugar pero no puede obtenerla. Elimina la regla Disallow para que el bot pueda obtener + ver el noindex.
  • Establecer noindex a través de meta tag en HTML renderizado con JavaScript. Algunos bots ejecutan JS, otros no. La opción segura es renderizar noindex del lado del servidor, O un X-Robots-Tag en el encabezado HTTP que no requiera ejecución de JS.
  • Establecer noindex en una página que tiene backlinks. Google respetará noindex pero el link equity de esos backlinks se desperdicia. Es mejor hacer un 301 de la página a una URL relacionada que absorba el equity.
  • Olvidar que X-Robots-Tag es por-respuesta, no por-servidor. Los cache hits de CDN a veces eliminan encabezados personalizados; verifica con curl después de desplegar.

El resumen

robots meta tag: por-página, en el HTML, edita a nivel de template. X-Robots-Tag: por-respuesta, en el encabezado HTTP, edita a nivel de servidor. Ambos funcionan para HTML; solo X-Robots-Tag funciona para no-HTML. Usa ambos cuando noindex es crítico.

Lectura relacionada: 410 vs 404 cubre el caso de retiro (URLs que desaparecen); 301 vs 302 vs 307 vs 308 cubre el caso de redirección (URLs que se mueven). Junto con noindex son las tres herramientas principales para decirle a Google qué hacer con una URL.

Preguntas frecuentes

¿Cuál es la diferencia entre X-Robots-Tag y la etiqueta meta robots?

Ambas controlan la indexación, pero la etiqueta meta robots vive en el head HTML de una página, mientras que X-Robots-Tag se envía como encabezado HTTP. La versión de encabezado puede controlar archivos no HTML como PDFs e imágenes, algo que la etiqueta meta no puede hacer. Ambas admiten las mismas directivas, como noindex y nofollow.

¿Cuándo debo usar X-Robots-Tag en lugar de la etiqueta meta?

Usa X-Robots-Tag cuando necesites controlar la indexación de archivos no HTML como PDFs e imágenes, o cuando quieras establecer directivas a nivel de servidor en muchas URLs a la vez. Usa la etiqueta meta para páginas HTML individuales donde editar el head es más sencillo.

¿Puede X-Robots-Tag poner noindex en un PDF?

Sí, esa es su ventaja principal. Una etiqueta meta robots no puede vivir dentro de un PDF, pero un encabezado HTTP X-Robots-Tag puede aplicar noindex a un PDF, imagen o cualquier archivo no HTML. Es la forma correcta de mantener documentos fuera de los resultados de búsqueda.

¿robots.txt hace lo mismo que noindex?

No. robots.txt bloquea el rastreo; noindex bloquea la indexación. Una página bloqueada en robots.txt aún puede aparecer en los resultados sin ser rastreada. Para eliminar una página del índice, déjala ser rastreada y sirve un noindex; no la bloquees en robots.txt.

< BACK