- El referrer es la URL de la página de origen que el navegador envía en la cabecera
Referer. Se controla con la cabeceraReferrer-Policy, la metareferrer, el atributoreferrerpolicyyrel="noreferrer". - El valor por defecto de los navegadores modernos es
strict-origin-when-cross-origin: URL completa dentro de tu dominio, solo el origen hacia otros dominios y nada al pasar de https a http. - No he encontrado ninguna documentación de Google que use el referrer como señal de posicionamiento. Lo que cambia es lo que ven tu analítica y los sitios a los que enlazas.
noreferreren un enlace saliente no lo convierte en nofollow ni lo borra del HTML, pero el destino no sabrá que la visita viene de ti.- Un
no-referrero unsame-originglobal puede romper incrustaciones como YouTube, que exige elRefereren su reproductor. - Se comprueba en DevTools (Network), con
curl -Ipara la cabecera y concurl -epara simular de dónde llega una petición.
Cuando en GA4 aparece un pico de tráfico «directo» sin explicación, o un socio de afiliación dice que no ve tus visitas, la causa suele ser una política de referrer: alguien puso no-referrer en la cabecera, un enlace llevaba rel="noreferrer" o la visita pasó de https a http. Casi nada de lo que se publica en español sobre el tema llega a ese punto; se queda en listar los ocho valores.
Aquí explico qué viaja en el referrer, cómo se controla, qué tiene que ver (y qué no) con el SEO y cómo lo tengo yo configurado en cristofercruz.net. Los comportamientos de la tabla los he medido en Chromium 141 con servidores locales, no los doy por la documentación sola.

Qué es el referrer y qué contiene
Cada vez que el navegador pide un recurso (una página tras un clic, una imagen, un script, un iframe) puede añadir la cabecera Referer con la dirección de la página desde la que sale la petición. Así el servidor de destino sabe de dónde llega el visitante. La cabecera se escribe con una sola «r» en medio por una errata histórica del estándar; la cabecera de control, Referrer-Policy, se escribe bien.
Según MDN, el valor puede incluir origen, ruta y parámetros de consulta, pero nunca el fragmento (#seccion) ni las credenciales de la URL. Y es una cabecera de petición prohibida: desde JavaScript no puedes ponerla a mano, solo influir en ella con la política. En el navegador también existe document.referrer, que es lo que leen la mayoría de las etiquetas de analítica en el cliente.
Conviene separar dos cosas. El referrer lo decide la página que enlaza, no la que recibe. Y la política que importa es la de la página de origen: la que pongas tú gobierna lo que sale de tu web, y la de los demás gobierna lo que llega a ti.
Los cuatro mecanismos y cuál gana
Puedes fijar la política en cuatro sitios, de lo más general a lo más concreto.
| Mecanismo | Alcance | Ejemplo |
|---|---|---|
Cabecera HTTP Referrer-Policy | Toda la respuesta y sus subrecursos | Referrer-Policy: strict-origin-when-cross-origin |
Meta referrer | El documento | <meta name="referrer" content="origin"> |
Atributo referrerpolicy | Un elemento: a, area, img, iframe, script o link | <a href="…" referrerpolicy="origin"> |
rel="noreferrer" | Un enlace (a, area, link) | <a href="…" rel="noreferrer"> |
Hay una trampa de ortografía que MDN avisa expresamente: el valor de la meta lleva guion (no-referrer) y la relación del enlace no (noreferrer). Si te equivocas con un valor, el navegador lo ignora sin avisar y aplica el de por defecto; yo lo he visto con Referrer-Policy: noreferrer, que no impidió que se enviara el origen.
Sobre la precedencia, la especificación del W3C dice que cuando varias fuentes fijan política gana el último valor reconocido, y que la cabecera admite una lista separada por comas para dar un valor de reserva a navegadores antiguos. Lo he contrastado en Chromium 141, con una página en https y un destino en otro origen:
| Configuración | Referer que recibe el destino |
|---|---|
Cabecera no-referrer y atributo referrerpolicy="origin" en el enlace | El origen: gana el atributo |
Cabecera no-referrer y meta origin | El origen |
Cabecera origin y meta no-referrer | Ninguno |
Cabecera no-referrer, origin (lista) | El origen: el último valor reconocido |
rel="noreferrer" y atributo referrerpolicy="unsafe-url" | Ninguno: noreferrer pesa más |
rel="noopener" sin más | El origen: noopener no toca el referrer |

Los ocho valores y qué envía cada uno
MDN y el W3C coinciden en ocho valores. La tabla muestra qué recibió el destino en mi prueba con Chromium 141: la página de origen tenía una ruta y parámetros, y probé el clic a un enlace del mismo origen, a otro origen en https y a un destino en http. La última fila es lo que ocurre sin ninguna política declarada.
| Valor | Mismo origen | Otro origen, https a https | https a http |
|---|---|---|---|
no-referrer | Nada | Nada | Nada |
origin | Origen | Origen | Origen |
same-origin | URL completa | Nada | Nada |
strict-origin | Origen | Origen | Nada |
origin-when-cross-origin | URL completa | Origen | Origen |
strict-origin-when-cross-origin | URL completa | Origen | Nada |
no-referrer-when-downgrade | URL completa | URL completa | Nada |
unsafe-url | URL completa | URL completa | URL completa |
| Sin política declarada | URL completa | Origen | Nada |
«Origen» es esquema, dominio y puerto: https://cristofercruz.net/, sin ruta. «URL completa» incluye la ruta y los parámetros, nunca el fragmento. Las filas coinciden con las tablas de MDN, salvo un matiz: origin envía el origen incluso en una degradación a http, y por eso no es «estricto».

La degradación de https a http es el caso que más confunde. Si tu web enlaza a un destino en http (o te llega una visita a una variante http, algo que pasa mientras convivan las variantes http, https y www de un mismo sitio), los valores «strict» y no-referrer-when-downgrade no envían nada. Por eso un destino sin https pierde la fuente de todo el tráfico que le mandas, tengas la política que tengas.
El valor por defecto: de dónde sale y por qué fijarlo
El valor por defecto actual es strict-origin-when-cross-origin. MDN explica que se aplica cuando no hay política o el valor no es válido, y que antes era no-referrer-when-downgrade. En Chrome el cambio llegó con la versión 85, según el artículo de Chrome de julio de 2020, y solo afecta a los sitios que no declaran política propia.
La consecuencia práctica de aquel cambio es que, desde entonces, quien te enlaza ya no te manda la ruta completa de su página sino solo su dominio, salvo que declare otra política. Chrome lo avisó así: los registros del servidor y la analítica que dependan de la URL completa del referrer ven menos granularidad.
web.dev recomienda no depender del defecto y fijar de forma explícita una política que proteja la privacidad, como strict-origin-when-cross-origin o una más estricta, porque los valores por defecto varían entre navegadores y pueden cambiar. Yo la declaro por la cabecera, como verás más abajo.
Qué tiene que ver con el SEO y qué no
Sobre posicionamiento, lo que puedo afirmar es poco y conviene decirlo así: no he encontrado ninguna documentación de Google que presente el referrer, o Referrer-Policy, como señal de ranking. La página de Google sobre cómo calificar los enlaces salientes documenta tres valores de rel (nofollow, sponsored y ugc) y no menciona noreferrer ni noopener. Que no esté documentado no equivale a demostrar que no influya, pero no hay nada en lo que apoyar lo contrario, y yo no lo trato como palanca.
Tampoco tengo documentación que diga si Googlebot envía la cabecera Referer al rastrear. En los logs que he mirado suele aparecer vacía; compruébalo en los tuyos antes de dar nada por hecho (lo explico en el artículo de análisis de logs SEO).
| Qué | ¿Le afecta la política de referrer? |
|---|---|
| Ranking en Google | No documentado. No lo trato como factor |
| Que Google siga un enlace o lo cuente | No: depende del href y de rel, no del referrer |
| Atribución de tráfico en tu analítica | Sí, en cuanto el referrer llega vacío o recortado |
| Qué ven los sitios a los que enlazas | Sí: reciben tu dominio, tu URL o nada |
| Privacidad de tus URLs con parámetros | Sí: unsafe-url las filtra a terceros |
| Incrustaciones de terceros | Sí: algunas exigen el Referer |
Es decir, el efecto en SEO es indirecto y pasa por la medición. Si no puedes atribuir la visita, tomas peores decisiones sobre qué contenido funciona.
Analítica: por qué te aparece tráfico directo
La ayuda de GA4 define el canal Direct como el de los usuarios que llegan «mediante un enlace guardado o escribiendo tu URL», y Referral como el de los que llegan por enlaces no publicitarios desde otros sitios, con medio referral, app o link. Lo que esa ayuda no describe es qué pasa cuando el referrer se suprime. En la práctica, una visita sin Referer y sin parámetros de campaña no tiene nada a lo que atribuirse y acaba como directa. Esto último es una consecuencia habitual, no una frase de la documentación de Google.
Los escenarios en los que lo he visto o que están documentados:
- Quien te enlaza usa
rel="noreferrer"ono-referrer. Tu analítica no puede saber de dónde viene el clic. - El enlace salta de https a http. Con la política por defecto no viaja nada.
- El referrer llega recortado al origen. Es el efecto del cambio de Chrome: sigues viendo el dominio, no la página. Plausible lo resume así: la analítica «seguirá mostrando la fuente de tu tráfico pero solo a nivel de dominio»; el total de tráfico oscuro no cambia, pero ya no sabes qué hilo o qué entrada te enlazó.
- Tus propios dominios. GA4 no registra como referral el tráfico cuyo referrer coincide con el dominio de la página o con sus subdominios, y permite excluir hasta 50 dominios no deseados por flujo de datos. Esa exclusión no es retroactiva. Si cruzas dominios, mira cómo encaja con lo que cuento en el artículo sobre subdominios y SEO.
Hay una afirmación que circula sobre los enlaces de la respuesta generada por IA de Google: que llevarían noreferrer y por eso su tráfico aparece como directo. La encontré en un artículo de un proveedor de analítica que no cita ninguna fuente primaria de Google, y yo no la he verificado. Si te importa, la comprobación es sencilla: inspecciona el HTML de uno de esos enlaces y mira si lleva rel="noreferrer".

Dentro de tu propio sitio ocurre lo contrario: con la política por defecto, la URL completa viaja en los saltos internos, así que tus páginas se ven entre sí con su ruta. Es otra razón para no tocar el valor global a la ligera, y un detalle que importa cuando analizas cómo funciona tu enlazado interno con datos de recorrido.
Enlaces salientes: noreferrer, noopener y nofollow
Son tres cosas distintas que se confunden porque suelen ir juntas en el mismo atributo rel.
| Valor | Qué hace | Qué no hace |
|---|---|---|
noopener | La página abierta no recibe window.opener | No oculta el referrer (lo comprobé: el destino recibió el origen) |
noreferrer | No envía Referer y se comporta también como noopener | No cambia cómo trata Google el enlace |
nofollow, sponsored, ugc | Califican el enlace para los buscadores | No tocan el referrer |
Según MDN, target="_blank" ya aporta por sí solo el comportamiento de noopener, de modo que añadirlo es redundante en los navegadores actuales, aunque inofensivo. El efecto sobre backlinks es el que cabe esperar: el enlace sigue en el HTML con su href, y lo que no llega es tu dominio en la analítica del destino. Si el programa de afiliación al que enlazas atribuye por el referrer, un noreferrer te puede costar comisiones. Si marcas enlaces patrocinados, usa sponsored y deja el referrer en paz; si quieres que el destino sepa al menos de qué sitio llega, origin en el atributo referrerpolicy basta.

Iframes e incrustaciones de terceros
El atributo referrerpolicy también existe en <iframe>, con los mismos ocho valores y el mismo defecto. Los atributos restantes del iframe y su relación con la indexación los trato en el artículo de iframes y SEO; aquí solo me interesa el referrer.
El caso real es YouTube. Su documentación para desarrolladores dice que quien use el reproductor incrustado «debe proporcionar identificación mediante la cabecera HTTP Referer», que no hay que fijar una política que la suprima y que recomiendan strict-origin-when-cross-origin. Para window.open pide no usar noreferrer. La página indica como última actualización el 14 de septiembre de 2026.
No es teórico. En diciembre de 2025, Simon Willison documentó vídeos incrustados que fallaban con el error 153 («Video player configuration error») porque el middleware de seguridad de Django enviaba por defecto Referrer-Policy: same-origin, que no manda nada a otros orígenes. La solución fue pasar a strict-origin-when-cross-origin. Lo que no he comprobado yo es si otros proveedores (mapas, formularios, pasarelas de pago) exigen lo mismo; solo lo he visto documentado para YouTube.
<iframe
src="https://www.youtube.com/embed/ID_DEL_VIDEO"
title="Título descriptivo del vídeo"
loading="lazy"
referrerpolicy="strict-origin-when-cross-origin"
></iframe>

Errores típicos
| Error | Qué provoca |
|---|---|
no-referrer global «por privacidad» | Pierdes la ruta de tus saltos internos y los destinos no te ven. Rompe integraciones que identifican por el referrer |
same-origin heredado de un framework | Cero referrer hacia fuera. Es el caso de Django con YouTube |
unsafe-url | Envía la URL completa, con parámetros, a cualquier tercero e incluso a destinos http. MDN lo califica de inseguro |
Valor mal escrito (noreferrer en la cabecera o la meta) | El navegador lo ignora y aplica el defecto, sin ningún aviso |
| Usar el referrer para proteger formularios | web.dev lo desaconseja: puede suprimirse y falsificarse. Usa tokens CSRF |
| Dar por hecho que la política de otros llega a ti | Lo que recibes depende de quien enlaza, no de tu configuración |
En una auditoría SEO miro la cabecera, las metas y los atributos de enlaces e iframes juntos, porque es habitual que una política global bien puesta quede anulada por un atributo suelto en una plantilla.
Cómo enviar la cabecera en Apache y Nginx
La cabecera es la opción más limpia: una línea para toda la web, incluidas las respuestas de error. En Apache necesitas mod_headers:
<IfModule mod_headers.c>
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
En Nginx, el parámetro always es el que marca la diferencia:
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Los he probado en Apache 2.4.58 (con el bloque anterior en un .htaccess) y en Nginx 1.24.0, con curl -sI. Resultado: ambos enviaron la cabecera en un 200 y en un 404. Nginx sin always solo la envió en el 200; en un 403 y en el 404 no apareció. La misma regla de Apache también cubre los errores, y lo sé porque lo vi en la prueba. No he probado otras configuraciones, como un proxy inverso delante o una CDN que reescriba cabeceras.
Si no controlas el servidor, la meta <meta name="referrer" content="strict-origin-when-cross-origin"> en el <head> da el mismo resultado para el documento. Pero no cubre las respuestas que no son HTML ni los errores del servidor.
Cómo lo tengo en mi web
Esto es lo que consta en el código de cristofercruz.net y lo que he comprobado en producción.
- El
.htaccessenvíaReferrer-Policy: strict-origin-when-cross-originconHeader always set, dentro deIfModule mod_headers.c, junto conX-Content-Type-Options: nosniffyX-Frame-Options: SAMEORIGIN. - En producción,
curl -sIdevuelve esa cabecera en la home, en una entrada del blog, enrobots.txty en un 404 (comprobado el 8 de octubre de 2026). El hosting añade ademáscontent-security-policy: upgrade-insecure-requests, que no está en el repositorio. - No hay ninguna meta
referreren las plantillas ni ningún atributoreferrerpolicyen el código del sitio. Tampoco uso iframes en plantillas ni en los artículos. - Los botones de compartir del artículo (LinkedIn, X y Facebook) llevan
rel="noopener noreferrer", así que esas redes no reciben mi referrer. El enlace al proveedor de la política de cookies también. - Los enlaces a redes sociales del pie y de contacto llevan
rel="me noopener", y las referencias de los artículosrel="noopener": reciben el origenhttps://cristofercruz.net/, que es lo que busco. - Las etiquetas de analítica (GA4, GTM, Clarity, píxeles) son plantillas inertes que no se cargan sin consentimiento. Cuando se activan, sus peticiones salen de mi página con el origen como referrer.

Lo que no puedo darte son datos: no he medido qué parte de mi tráfico directo en GA4 se debe a referrers suprimidos, así que no te cuento cifras de efecto. Y una decisión que sigue abierta: los botones de compartir con noreferrer hacen que Facebook, X y LinkedIn no vean de dónde llega el enlace; es deliberado de seguridad, pero es un dato de analítica que renuncio a tener.
Cómo auditarlo
Hay cuatro comprobaciones, de la más rápida a la más fina.
- La cabecera.
curl -sI https://ejemplo.com/ | grep -i referrer. Pruébala en la home, en un 404 y en un recurso estático. Si falta en alguno, tienes un problema dealwayso de ámbito. - La meta y los atributos. En el código fuente, busca
name="referrer",referrerpolicyynoreferrer. Una meta o un atributo pueden anular la cabecera. - Lo que se envía de verdad. En DevTools, pestaña Network, abre una petición y mira Referrer Policy y la cabecera
Referer. web.dev indica que Chrome, Edge y Firefox lo muestran; Safari enseña elRefererenviado pero no la política. - Cómo reacciona tu servidor. Con
curl -e "https://origen.com/pagina?x=1" URLenvías esa cabecera y ves cómo responde o qué registra tu log. En una prueba mía contra un servidor que escribía la cabecera recibida, el valor llegó tal cual, con el parámetro, y sin el fragmento cuando se lo quité al construir la petición.
Para el análisis agregado, el campo Referer del log y el informe de adquisición de GA4 comparados dan una idea de cuánto tráfico directo es sospechoso.

Prueba siempre en navegación real y no solo con curl: curl no aplica ninguna política de referrer, solo envía lo que tú le pidas con -e.
Preguntas frecuentes
¿Referrer-Policy influye en el posicionamiento?
No he encontrado documentación de Google que lo presente como señal de ranking. Lo que sí cambia es la medición: qué ve tu analítica y qué ven los sitios a los que enlazas.
¿Qué valor pongo?
La recomendación de web.dev y de YouTube es strict-origin-when-cross-origin, y es el que uso. Mantiene la ruta en la navegación interna, comparte solo el dominio con terceros y no envía nada al bajar a http. Solo lo cambiaría con una razón concreta, por ejemplo no-referrer en una página con URLs sensibles.
¿rel="noreferrer" perjudica a mis enlaces salientes o a mis backlinks?
No cambia el enlace en el HTML. La página de Google sobre calificar enlaces documenta nofollow, sponsored y ugc y no menciona noreferrer. Lo que sí pasa es que el destino no ve tu dominio como fuente, lo que importa si mides por referrer.
¿Cabecera, meta o atributo?
Cabecera como política general, porque cubre todas las respuestas y errores. Meta si no controlas el servidor. Atributo para excepciones en un enlace, imagen o iframe concreto. En mis pruebas, lo más específico prevaleció sobre lo general.
¿Por qué mi analítica muestra tráfico directo que no esperaba?
Una causa posible es el referrer suprimido: noreferrer o no-referrer en el origen, o un salto de https a http. No es la única, también cuentan los enlaces guardados, las apps y las campañas sin UTM. Compara el log del servidor con GA4 antes de atribuírselo al referrer.
¿Hace falta noopener si ya pongo target="_blank"?
MDN indica que target="_blank" ya aporta el comportamiento de noopener, aunque añadirlo explícito es inofensivo. Si quieres además ocultar el referrer, entonces sí necesitas noreferrer, que también implica noopener.
¿Googlebot envía la cabecera Referer?
No lo he encontrado documentado. En los logs que he revisado suele aparecer vacía, pero es algo que debes comprobar en los tuyos, y no cambia nada de lo que configures en tu política.
Referencias y fuentes
- Referrer-Policy MDN Web Docs
- Referer MDN Web Docs
- Referrer Policy W3C
- Referer and Referrer-Policy best practices web.dev
- A new default Referrer-Policy for Chrome Chrome for Developers
- Cómo calificar tus enlaces salientes a Google Google Search Central
- Default channel group Ayuda de Google Analytics
- Identify unwanted referrals Ayuda de Google Analytics
- YouTube API Services: Required Minimum Functionality Google for Developers
- YouTube embeds fail with a 153 error Simon Willison
- How Chrome's default referrer policy affects your site analytics Plausible




