La etiqueta rel=’noopener noreferrer nofollow’: Impacto en SEO y cómo aplicarla

·

noopener y noreferrer no tocan tu SEO: los lee el navegador, no Google. nofollow, junto con sponsored y ugc, sí es para buscadores, y desde 2020 Google lo trata como una pista, no como una orden. En WordPress 7.1 el editor ya solo añade rel="noopener" a los enlaces que abren en pestaña nueva. Lo he comprobado en una instalación real y he medido qué cabecera Referer llega a otra web con y sin noreferrer. Abajo tienes el HTML, los resultados y un código seguro si quieres marcar enlaces externos.

Última revisión: octubre de 2026, con WordPress 7.1.3, Rank Math 1.0.280 y Chrome 155.

Qué hace cada valor de rel y quién lo lee

ValorLo leeQué haceEfecto en SEO
noopenerNavegadorLa pestaña nueva no puede acceder a tu página con window.opener. Con target="_blank" los navegadores actuales ya lo aplican solosNinguno
noreferrerNavegadorNo envía la cabecera Referer: la otra web no sabe que el visitante viene de tiNinguno en rankings; la visita le llega como tráfico directo
nofollowBuscadoresPista de que no respaldas el enlaceGoogle puede no usarlo para rastrear ni para posicionar
sponsoredBuscadoresEnlace pagado, de afiliación o publicidadIgual que nofollow; es el valor preferido para enlaces pagados
ugcBuscadoresEnlace puesto por usuarios (comentarios, foros)Igual que nofollow

Se pueden combinar separados por espacios (rel="nofollow noopener") y el orden da igual. La clave es no mezclar capas: noopener y noreferrer son seguridad y privacidad del navegador; nofollow, sponsored y ugc son lo que le cuentas a Google sobre el enlace.

nofollow, sponsored y ugc: lo que dice Google hoy

En septiembre de 2019 Google añadió sponsored y ugc y cambió el sentido de nofollow: los tres pasaron a ser pistas para el ranking y, desde el 1 de marzo de 2020, nofollow también es una pista para rastrear e indexar. Traducido: un enlace con nofollow puede seguir llevando a Google a esa página.

  • sponsored: enlaces pagados, de afiliación o patrocinados. Google acepta nofollow para esto, pero prefiere sponsored.
  • ugc: enlaces de comentarios, foros y contenido que publican tus usuarios.
  • nofollow: cuando no encaja ninguno de los anteriores y no quieres respaldar el enlace.
  • Enlaces normales que sí respaldas: sin atributo. No hace falta poner nada.

Y lo que más se olvida: la documentación de Google dice que, para enlaces dentro de tu propio sitio, uses robots.txt si no quieres que se rastree una URL, y noindex si no quieres que se indexe. Un nofollow en un enlace interno no esconde nada y le quita a Google información de tu estructura. Los nofollow que ya tengas en enlaces externos no hace falta cambiarlos.

Qué hace hoy WordPress con los enlaces que abren en pestaña nueva

Lo he mirado en el código de WordPress 7.1.3, el que corre en esta web. Cuando marcas «Abrir en una pestaña nueva» en el editor, WordPress guarda rel="noopener", sin noreferrer. El mismo panel tiene «Marcar como nofollow», que añade nofollow sin borrar lo que ya hubiera:

<!-- Lo que guarda el editor de WordPress 7.1.3 al marcar "Abrir en una pestaña nueva" -->
<a href="https://example.com" target="_blank" rel="noopener">enlace</a>

<!-- Y si además activas "Marcar como nofollow" -->
<a href="https://example.com" target="_blank" rel="noopener nofollow">enlace</a>Lenguaje del código: HTML, XML (xml)

Si en tus posts antiguos ves noreferrer noopener, es herencia. La historia es esta:

  • WordPress 5.1 (2019) empezó a añadir noopener noreferrer a todo enlace con target="_blank", con la función wp_targeted_link_rel.
  • WordPress 5.6 (diciembre de 2020) quitó noreferrer y dejó solo noopener.
  • WordPress 6.7 (noviembre de 2024) marcó wp_targeted_link_rel como obsoleta. En 7.1.3 no está enganchada a ningún filtro por defecto: lo comprobé llamándola y revisando default-filters.php.
  • Lo que se guardó en su día se quedó en el contenido. WordPress no reescribe los enlaces viejos.

Si usas Rank Math, revisa sus ajustes generales de enlaces: puede añadir nofollow y abrir en pestaña nueva todos los enlaces externos, con una lista de dominios excluidos. En esta web están activadas las dos opciones, por eso los enlaces externos de este artículo salen con nofollow. Rank Math también añade al editor casillas para marcar un enlace concreto como nofollow o sponsored.

Prueba: qué información llega a la otra web al pulsar el enlace

Quería ver el efecto real de noreferrer y no fiarme de la teoría. Monté dos servidores en mi máquina: una página de origen (http://localhost:8801/articulo/ejemplo?utm=prueba) con cinco enlaces y una de destino en otro origen (http://127.0.0.1:8802) que guarda la cabecera Referer que recibe y mira document.referrer y window.opener. Pulsé cada enlace con Google Chrome 155 y Chromium 140 el 20 de octubre de 2026. Los dos navegadores dieron lo mismo:

EnlaceReferer recibidodocument.referrerwindow.opener
target="_blank" sin relhttp://localhost:8801/http://localhost:8801/null
rel="noopener"http://localhost:8801/http://localhost:8801/null
rel="noopener noreferrer"NingunoVacíonull
rel="nofollow"http://localhost:8801/http://localhost:8801/null
Misma pestaña, sin relhttp://localhost:8801/http://localhost:8801/—

Lo que sale de aquí:

  • Sin noreferrer, la otra web solo ve tu dominio, no la URL. Ni la ruta ni el ?utm=prueba salen de tu web. Es la política strict-origin-when-cross-origin, que los navegadores aplican por defecto (esta web además la envía en sus cabeceras). Si vas de HTTPS a HTTP, no se envía nada.
  • Con noreferrer no llega nada, y como document.referrer queda vacío, la analítica de la otra web (GA4 incluido) apunta esa visita como directa.
  • window.opener es null en todos los casos con target=»_blank», también sin rel. Es el noopener implícito que hoy aplican los navegadores.
  • nofollow no cambia nada en el navegador. Solo lo leen los buscadores.

Mi lectura: con la política por defecto, noreferrer te da poca privacidad extra (solo escondes el dominio) y le quitas a la otra web la prueba de que le mandas visitas. Tiene sentido en un enlace concreto que no quieras que te relacione con el destino, no como norma para todo.

Si además quieres reducir lo que puede hacer una página de terceros dentro de la tuya, eso va por otro lado: una Content Security Policy bien implementada.

Cómo añadir nofollow o sponsored en WordPress sin romper nada

1. Enlace a enlace, en el editor

Es lo más seguro. En el panel del enlace tienes «Abrir en una pestaña nueva» y «Marcar como nofollow»; con Rank Math, también la casilla de sponsored. Para un enlace de afiliación quedaría así:

<a href="https://www.amazon.es/dp/XXXXXXXXXX" target="_blank" rel="sponsored noopener">Ver precio</a>Lenguaje del código: HTML, XML (xml)

2. Para todos los externos, con Rank Math

Si quieres una regla global, usa la opción de nofollow para enlaces externos de Rank Math y añade a la lista de excluidos los dominios que sí respaldas (tus otros proyectos, por ejemplo). Así no tocas código.

3. Con código, si necesitas tu propia regla

Este filtro solo toca enlaces que salen de tu dominio, conserva el rel que ya tengan y no hace nada si ya llevan nofollow, sponsored o ugc. Usa WP_HTML_Tag_Processor, el analizador de HTML que trae WordPress, en lugar de buscar y reemplazar texto. Lo probé en WordPress 7.1.3 con internos absolutos, con y sin www, relativos, anclas, mailto, enlaces con rel previo y uno de afiliación: solo cambió los externos sin cualificar, y pasarlo dos veces da el mismo resultado.

<?php
/**
 * Añade nofollow solo a los enlaces externos del contenido.
 * No toca internos, relativos, anclas ni mailto, conserva el rel que ya tenga
 * el enlace y no repite nada si ya lleva nofollow, sponsored o ugc.
 */
add_filter( 'the_content', 'mi_nofollow_externos', 20 );

function mi_nofollow_externos( $content ) {
	if ( false === stripos( $content, '<a' ) ) {
		return $content;
	}

	$mi_host = preg_replace( '/^www\./', '', (string) wp_parse_url( home_url(), PHP_URL_HOST ) );
	$p       = new WP_HTML_Tag_Processor( $content );

	while ( $p->next_tag( 'a' ) ) {
		$href = $p->get_attribute( 'href' );
		$host = is_string( $href ) ? wp_parse_url( $href, PHP_URL_HOST ) : null;

		// Relativos, anclas, mailto e internos (con o sin www): no se tocan.
		if ( ! $host || 0 === strcasecmp( preg_replace( '/^www\./', '', $host ), $mi_host ) ) {
			continue;
		}

		$rel = preg_split( '/\s+/', strtolower( (string) $p->get_attribute( 'rel' ) ), -1, PREG_SPLIT_NO_EMPTY );
		if ( array_intersect( $rel, array( 'nofollow', 'sponsored', 'ugc' ) ) ) {
			continue;
		}

		$rel[] = 'nofollow';
		$p->set_attribute( 'rel', implode( ' ', array_unique( $rel ) ) );
	}

	return $p->get_updated_html();
}Lenguaje del código: PHP (php)

Ponlo en un plugin propio o en el functions.php de un tema hijo, subido por SFTP o Git. No lo pegues en el editor de temas del panel: un error de sintaxis ahí te puede dejar sin acceso a la web.

Por qué cambié el código que había aquí. La versión anterior de este artículo proponía una función con str_replace que añadía rel="noopener noreferrer nofollow" a todos los enlaces del contenido. Al probarla salió esto: marca como nofollow también los enlaces internos y, si el enlace ya tenía rel, lo duplica. Con dos atributos rel el navegador se queda con el primero, así que un sponsored puesto a mano se pierde. Si la copiaste, quítala.

<a rel="noopener noreferrer nofollow" href="/contacto/">relativo</a>
<a rel="noopener noreferrer nofollow" href="https://danielpajuelo.com/sobre-mi/">interno</a>
<a rel="noopener noreferrer nofollow" href="https://tienda.example" rel="sponsored">afiliado</a>Lenguaje del código: HTML, XML (xml)

Cómo quitar noreferrer de tus enlaces antiguos

Si quieres que las webs a las que enlazas te vean como fuente de visitas, tienes que quitar noreferrer del contenido guardado. El filtro wp_targeted_link_rel que se recomendaba antes ya no sirve en WordPress 7: la función que lo usaba no se ejecuta. Con pocos posts, edita los enlaces a mano. Con muchos, WP-CLI, siempre con copia previa y simulación:

# 1. Copia de la base de datos antes de tocar nada
wp db export antes-de-quitar-noreferrer.sql

# 2. Simulación: cuántos cambios haría (no escribe nada)
wp search-replace 'rel="noreferrer noopener"' 'rel="noopener"' wp_posts --include-columns=post_content --dry-run
wp search-replace 'rel="noopener noreferrer"' 'rel="noopener"' wp_posts --include-columns=post_content --dry-run

# 3. Si los números cuadran, repite los comandos sin --dry-runLenguaje del código: Bash (bash)

Cambia wp_posts si tu tabla tiene otro prefijo. Los enlaces que mezclan nofollow u otros valores tienen otras combinaciones de texto: la simulación te dice cuántos casos cubre cada comando.

Cómo auditar los rel de tu web

Para una página basta con curl:

# Qué valores de rel hay en una página y cuántas veces
curl -s https://tusitio.com/tu-post/ | grep -oE 'rel="[^"]*"' | sort | uniq -c

# Enlaces internos que llevan nofollow (cambia tusitio.com por tu dominio)
curl -s https://tusitio.com/tu-post/ | grep -oE '<a [^>]*href="https://tusitio.com[^"]*"[^>]*>' | grep nofollowLenguaje del código: Bash (bash)

Antes de reescribir este artículo lo pasé por esta misma página: ningún enlace interno del cuerpo llevaba nofollow. Para el sitio entero, un rastreo con Screaming Frog te da la columna Follow de cada enlace interno; cualquier enlace interno con nofollow que no sea intencionado merece revisión.

Preguntas frecuentes sobre rel noopener noreferrer nofollow

¿WordPress añade rel=noopener noreferrer automáticamente?

Ya no. Desde WordPress 5.6 solo añade noopener, y en WordPress 7 lo pone el editor cuando marcas «Abrir en una pestaña nueva». Si ves noreferrer en enlaces antiguos, se guardó con una versión anterior y sigue en el contenido.

¿Cuál es la diferencia entre nofollow, noopener y noreferrer?

noopener y noreferrer son para el navegador: el primero impide que la pestaña nueva controle tu página y el segundo evita enviar la cabecera Referer. nofollow es para los buscadores: es una pista de que no respaldas el enlace.

¿rel=noreferrer afecta al posicionamiento SEO?

No a tus rankings. Lo que cambia es la analítica de la web enlazada: sin Referer, tu visita le aparece como tráfico directo en vez de como referencia.

¿Es peligroso quitar rel=noopener?

En enlaces con target=_blank los navegadores actuales ya aplican noopener aunque no lo escribas. Mantenerlo no cuesta nada y cubre navegadores antiguos, así que solo tiene sentido quitarlo si necesitas window.opener a propósito.

¿Debo poner nofollow a mis enlaces internos?

No. Google recomienda robots.txt para no rastrear una URL de tu sitio y noindex para no indexarla. Un nofollow interno no esconde la página y le quita información a Google sobre tu estructura.

¿nofollow o sponsored para enlaces de afiliación?

Google prefiere sponsored para enlaces pagados y de afiliación, aunque nofollow sigue siendo válido. Puedes usar los dos juntos si quieres compatibilidad con otros buscadores.

Aprende más sobre SEO Técnico

Daniel Pajuelo

Daniel Pajuelo es ingeniero informático y SEO Senior, actualmente trabajando en GuruWalk. En su blog personal escribe sobre Inteligencia Artificial, SEO, Programación...

Ver más sobre Daniel
Categorías SEO

Continua leyendo

Leer más sobre: SEO