Eliminar rel = «noopener noreferrer» en WordPress 4.7.4 y posteriores

A partir de la versión 4.7.4 de WordPress el editor TinyMCE incluido en la distribución soluciona la vulnerabilidad target=»_blank» y lo hace añadiendo automáticamente a estos enlaces rel=»noopener noreferrer».

Eliminar rel = "noopener noreferrer" en WordPress 4.7.4 y posteriores

¿Qué es la vulnerabilidad target=»_blank»?

Esta vulnerabilidad (en inglés: «reverse tabnabbing») es un ataque de phishing en el que el atacante cambia la pestaña auténtica por un documento malicioso usando el selector window.opener.location.assign() cuando se accede mediante un enlace que se abre en una nueva ventana (atributo del enlace: target=»_blank»).

Explicado de manera sencilla: Cuando se hace clic en un enlace que abre una página nueva, esta se abre en una nueva pestaña pero al volver atrás a la web de procedencia, esta se reemplaza por una página falsa que simula ser la auténtica y se usa para obtener datos del usuario.

¿Cuál es la solución de WordPress a partir de la versión 4.7.4?

La solución de la versión 4.7.4 de WordPress es añadir rel=»noopener noreferrer» a todos los enlaces con un atributo target=»_blank».

¿Por qué esta solución puede tener efectos adversos sobre los enlaces de afiliados?

Muchos de los programas de afiliación usan el referrer para conocer la procedencia de las visitas que se reciben con el código de afiliación. Si añadimos noreferrer al enlace, esta información no se pasa. Y hay muchos programas de afiliados que sin el referrer correcto no pagan comisiones de afiliados.

¿Cómo evitar que WordPress añada el rel=»noopener noreferrer» a los enlaces con target=»_blank»?

En un ticket de soporte de WordPress referencian al siguiente código que evita que WordPress añada el rel=»noopener noreferrer».

Este código hay que añadirlo al archivo functions.php del tema o podemos crear un plugin con el mismo:

add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
$mceInit['allow_unsafe_link_target']=true;
noopener noopenerreturn $mceInit;
}

No se recomienda el uso de este código, porque deshabilita la solución de la vulnerabilidad del target=»_blank», pero en sitios que viven de afiliados nos asegura que llegarán los pagos porque se puede realizar el seguimiento de la procedencia del enlace.

9 comentarios en “Eliminar rel = «noopener noreferrer» en WordPress 4.7.4 y posteriores

  1. Jose

    ¿Quiere decir esto que si en mis enlaces de afiliado sale el nuevo «noopener» se perderá mi ID de adiliado por el camino y no cobraré nada? No se si lo he entendido bien, pero espero que no sea cierto. Gracias.

    «No se recomienda el uso de este código, porque deshabilita la solución de la vulnerabilidad del target=”_blank”, pero en sitios que viven de afiliados nos asegura que llegarán los pagos porque se puede realizar el seguimiento de la procedencia del enlace.»

    Responder
    1. Hablando de Internet y de SEO

      Hola Jose. Pues sinceramente depende del programa de afiliados. Hay muchos que controlan la procedencia del enlace (solo permitiendo que se compartan en un determinado dominio) y al añadir el noreferrer se pierde la URL de procedencia. Veremos como reaccionan los programas de afiliación, nosotros en los nuestros de momento no tenemos claro como implementarlo.
      Por tanto: Depende de cada programa de afiliación. Nosotros por si acaso lo hemos deshabilitado de momento en todos los sitios en los que tenemos enlaces de afiliación.

      Responder
    1. Hablando de Internet y de SEO

      Muy buenas Miguel,

      La verdad es que si que es una liada importante. Nosotros de momento y hasta que los programas de afiliados con los que trabajamos no cambien sus condiciones, estamos usando el código para que no se añada el «noopener noreferrer». A los programas de afiliados les interesa conocer la procedencia de sus conversiones. Añadiendo este código a los enlaces, se pierde esta relación y no se sabe de dónde procede la conversión. Y todos los programas de afiliados tienen tipos de sitios donde no se pueden poner sus enlaces. Veremos que pasa.

      Responder
  2. Plantillas WordPress

    ¿Sabrías decirme si en el caso de ThemeForest es así? Muchas gracias, había imaginado algo parecido pero he tenido que venir a tu blog para descubrirlo, jejeje. Muy buen post.

    Responder
    1. Hablando de Internet y de SEO

      Muy buenas! Themeforest es una de las empresas que tienen un programa de afiliados más restrictivo y más controlado.

      En sus condiciones (punto 19) pone entre otras cosas que:

      • purchasing a domain name, search engine keyword or pay-per-click advertisement that use any Envato trademarks or variations and mis-spellings;
      • copying item descriptions;
      • doing anything that would amount to a breach of any laws including, but not limited to, privacy, intellectual property and spam;
      • doing anything that might be confusing, misleading or deceptive to users (eg referring from a site that might be confusing to users about whether it is an Envato site);
      • engaging in any conduct that does not meet our standards of ‘fair play’ at our discretion including things like fraud, confusing the new user, or providing a link designed to mislead the customer.

      Y todo es lo comprueban con el REFERRER para ver desde donde se enlaza a sus productos. Y por experiencia te podemos decir que lo comprueban muchas veces personas. Sin referrer tu puedes usar todas las prácticas prohibidas porque no pueden saber la procedencia. Por esta razón con ENVATO / THEMEFOREST tendríamos mucho cuidado. De todas formas, les acabamos de poner un ticket a ver que nos dicen de forma oficial.

      Un saludo.

      Responder
  3. Hablando de Internet y de SEO

    Por si no queréis tocar el código del archivo functions.php, ahora hay un plugin en el repositorio Allow unsafe link target que permite hacer lo mismo solo instalando y activando el plugin.

    OJO: Tanto el plugin como el código del archivo functions.php solo produce cambios cuando se guarda un post / página en el editor. No lo quita de posts / páginas que pudieran tenerlo ya.

    Al igual no hay que olvidar que la actualización de WordPress no se aplica a posts / páginas ya guardados. Solo a las páginas y posts que se crean nuevos.

    Para quitar el noreferrer a posts / páginas creados / actualizados después de la actualización hay que sustituir ese atributo con un plugin como Better Search and Replace o directamente en la base de datos.

    Responder
  4. Carla

    Sabes si esto tiene algo que ver con el «nofollow»? No logro encontrar una respuesta, porque por lo que entiendo, que sea “noopener noreferrer” no lo hace de por sí «nofollow», o si? Perdón si la consulta es muy básica, soy novata en esto, estoy aprendiendo 🙂

    Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.