Tag noreferrer e noopener nei link da WordPress

noreferrer-noopener-wordpress

Con il rilascio della versione 4.7.4 di WordPress, importanti novità sono state apportate ai link in uscita dei nostri siti. In realtà l’aggiornamento riguarda l’editor di testo integrato in WordPress: il plugin TinyMCE. Se avete notato infatti, da questa versione i link in uscita contenenti il “target=”_blank”, che ordina al browser di aprire il link in uscita in un’altra pagina, contengono i tag noopener e noreferrer. A cosa servono? E perché sono stati inseriti? Che conseguenze hanno per i webmaster? Creano problemi con l’affiliate marketing? E che impatto hanno sulla SEO?

I Tag Noopener e Noreferrer

Abbiamo ampiamente parlato del tag noreferrer nell’articolo titolato HTTPS e meta tag referral. Non sarò ripetitivo e quindi vi invito ad andarlo a leggere, anche perché ne parlo in maniera abbastanza esaustiva.

Qui invece voglio concentrarmi sul tag rel=”noopener”.

A cosa serve il tag noopener

Il tag noopener è un attributo a salvaguardia dei link in uscita in cui è inserito il target=”_blank”, per evitare che siano sfruttati per fare phishing.

Wikipedia definisce il phishing così:

Il phishing è un tipo di truffa effettuata su Internet attraverso la quale un malintenzionato cerca di ingannare la vittima convincendola a fornire informazioni personali, dati finanziari o codici di accesso, fingendosi un ente affidabile in una comunicazione digitale.

Spieghiamolo con un esempio.

Immagina stai navigando su un sito e in un articolo trovi un link verso una pagina di una banca che pubblicizza finanziamenti a tasso zero per acquistare un qualcosa. Tu, che sei interessato alla cosa perché vuoi comprare un’auto nuova, ci clicchi e ti trovi su un sito in tutto e per tutto simile a quello di una qualche banca famosa.

Sei così portato a fidarti di quella banca che non ti accorgi che non è il sito originale di quella banca e riempi un bel form con i tuoi dati personali per richiedere il prestito.

A quel punto i tuoi dati sono stati intercettati dall’autore della truffa.

Questo è un esempio di phishing.

Ma come è possibile che quel link ti abbia portato su quel sito truffa?

La risposta sta in una nota vulnerabilità del tag target=”_blank” inserito nei link, che sfrutta l’oggetto “window.opener” per cambiare la destinazione del link stesso attraverso l’istruzione “window.opener.location” verso qualche altra pagina. E questa vulnerabilità viene sfruttata da malintenzionati.

Per impedire questo fenomeno così è stato inserito di default, a partire da Wordpress 4.7.4, il tag noopener nei link in uscita con il target=”_blank”. (Ulteriori informazioni su https://mathiasbynens.github.io/rel-noopener/.)

Sinora tutto ok, sembra una cosa buona.

Il tag noreferrer

Si, se non fosse che insieme al noopener è stato inserito anche il tag noreferrer che impedisce al sito di inviare le meta-informazioni sul sito di origine del link (ne ho parlato nell’articolo HTTPS e meta tag referral).

Questo tag fa in modo che durante i flussi di traffico, non vengano trasmessi i referral data e così, molti tool di analisi utilizzati dai webmaster, non possono tracciare in maniera completa il traffico dei siti. Non possono farlo perché non possono identificare la fonte del traffico, ovvero il link di partenza.

Fortunatamente però, Google Analytics non prende in considerazione il tag noreferrer e quindi continua a tracciare il traffico dei siti web anche se i link contengono questo attributo.

Quale può essere la soluzione?

A mio parere questo non è assolutamente un problema per la maggior parte delle persone. Se si utilizza Google Analytics i dati relativi al traffico continueranno ad essere tutti completamente a disposizione.

Il noreferrer per i Webmaster

Per un Webmaster di professione questo però potrebbe essere un problema. E’ normale infatti per un professionista del settore, utilizzare altri tool di analisi che lo aiutano a raggiungere gli obiettivi grazie a delle funzioni avanzate necessarie per avere un’analisi più accurata dei siti web che curano. Penso a tools come hrefs, semrush, seozoom, majesticseo, moz, screaming frog e via via tutti gli altri.

Il noreferrer e le affiliazioni

Anche per chi guadagna dalle affiliazioni è un problema. Anzi… direi che il problema riguarda principalmente loro perché se si hanno dei banner o dei link con il target=”_blank”, i siti a cui sono affiliati non ricevendo informazioni circa il sito di provenienza del click, non possono tracciare l’acquisto e riconoscere la commissione all’affiliato.

Come risolvere?

Le soluzioni sono due:

  • non inserire (o eliminare) il target=”_blank”
  • disattivare la funzione che inserisce i tag noopener e noreferrer nei link

Questa seconda soluzione l’ho trovata sul forum di WordPress.org e consiste nell’inserire il seguente codice nel file functions.php del vostro tema, appena prima della chiusura, che potete identificare con ?>. Nota bene che viene indicata come un’operazione ALTAMENTE SCONSIGLIATA.

// Note that this intentionally disables a tinyMCE security feature.

// Use of this code is NOT recommended.

add_filter(‘tiny_mce_before_init’,’tinymce_allow_unsafe_link_target’);
function tinymce_allow_unsafe_link_target( $mceInit )
{
$mceInit[‘allow_unsafe_link_target’]=true; return $mceInit;
}

Sarà anche un’opzione sconsigliata ma se si è impossibilitati a togliere il target=”_blank” dai banner di affiliazione, rimane l’unica soluzione attualmente possibile.

Si noti che l’implementazione del codice sul file functions.php del tema non andrà ad eliminare il tag noreferrer nei link dei vecchi articoli o dei banner inseriti in precedenza. Non vi rimane che rimuoverli a mano.

AGGIORNAMENTO WORDPRESS 5.0 E GUTENBERG

WordPress 5.0, ha reintrodotto il tag noreferrer nei link in uscita. Il codice sopra descritto non funziona per queste versioni. Ecco quello giusto (testato e funzionante) da aggiungere alla fine del file functions.php del tema (possibilmente tema child).

//remove noreferrer on the frontend, *will still show up in the editor.*
function my_formatter($content) {
$replace = array(" noreferrer" => "" );
$new_content = strtr($content, $replace);
return $new_content;
}
add_filter('the_content', 'my_formatter', 999);

E per quel che riguarda la SEO?

Sotto questo punto di vista, l’inserimento dei tag noreferrer e noopener non influisce minimamente.

 

 

Readers Comments (18)

  1. Daniele Besana 15 Maggio 2017 @ 13:06

    Ciao Flavio,
    Grazie per l’articolo che spiega molto bene questo cambiamento passato un po’ in sordina!
    Per le affiliazioni è davvero un problema? Tutte quelle che ho visto usavano un parametro tipo ?aff=123 e non si basavano sull’HTTP referer.
    Anche per campagne pubblicitarie molto meglio inserire i parametri per le campagne tipo ?utm_source=website&utm_medium=banner

    Grazie!

    • Ciao Daniele.
      Il problema sorge solo nel caso in cui il link di affiliazione (e solo per i nuovi link) contenga il noreferrer. Se é presente non sarà possibile tracciare la conversione. Approfondisco…
      Il noreferrer impedisce di inviare le meta informazioni del tuo sito.
      Quali sono queste meta informazioni?
      Dominio, nome dominio, url completa, ip e porta. Quindi anche se nella url c’é il tuo id affiliato, esso non sarà individuabile perché é un elemento della url.
      Correggimi se sbaglio.
      Un caro saluto 🙂

  2. Ciao Flavio, io sto iniziando a testare questo plugin https://it.wordpress.org/plugins/no-noopener-noreferrer-dont-add-relnoopener-noreferrer/ , sembra fare il suo dovere, ma solo sui nuovi articoli.

    • Ciao Massimiliano. Grazie per il commento. È un vero onore per me sapere che hai letto un mio articolo.
      Wow… Bonaventura Di Bello oggi su Facebook é stato un profeta. L’aveva detto che presto sarebbe comparso un plugin per il noreferrer. Ma non immaginavo così presto!
      Si, in effetti sia che si utilizzi il plugin, sia che si implementi il codice sul function.php (immagino il plugin faccia questo), l’effetto vale solo per i nuovi link. Per i vecchi bisogna eliminarlo a mano.
      Un caro saluto.

  3. Ti ringrazio, non riuscivo a capire bene quale ne fisse la reale utilità. Attraverso una in realtà breve ricerca non ho trovato nulla di esaustivo.

  4. Francesco d'Elia 16 Maggio 2017 @ 14:17

    Grazie dell’articolo Flavio. Mi sembra di capire che siamo in piena paranoia.. Navigo su un blog di viaggi e clicco su un link esterno ed arrivo sul sito (finto) di una banca che magari non è la mia e compilo un form inserendo i miei dati.. Mi sembra abbastanza improbabile, in compenso se ho delle affiliazioni vedrò crollare le mie conversioni perché non vengono più tracciate per paura che qualcuno abbocchi alla finta banca di cui sopra..

  5. Grazie per l’esaustiva spiegazione, avevo notato questi tag già da un po e mi chiedevo proprio a livello Seo se e che impatto avessero

  6. Ma dal punto di vista SEO, come si comporta google a riguardo di tali attribuiti ?

  7. Ho notato solo ieri sera questo nuovo tag, aprendo un vecchio post del mio blog. Fortuna che me ne sono accorta. Grazie per la spiegazione molto chiara ed esaustiva. 🙂

  8. So after a month or so, what is the consensus? I’m an affiliate and just read this because it’s been a topic on a forum I frequent. Would like to know if anyone sees any difference using the plugin recommended. Thanks.

Leave a comment

Il tuo indirizzo email non sarà pubblicato.


*