Traffico diretto e noreferrer

Da un paio di anni WordPress aggiunge in modo automatico l’attributo rel=”noopener noreferrer” al codice dei link che si aprono in una nuova scheda (quelli con l’attributo target=”_blank”), Fig. 1:

Fig. 1 – Link con l’attributo rel=”noopener noreferrer” aggiunto in automatico da WordPress

Mentre noopener ha utilità a livello di sicurezza in quanto garantisce che la pagina aperta in una nuova scheda non possa assumere il controllo della pagina originale (per maggiori informazioni sulla vulnerabilità rimando a questo articolo su jitbit.com), l’attributo noreferrer (utilizzato per sopperire il mancato supporto di onopener in Firefox) ha impatti a dir poco negativi in termini di tracciamento dei dati, in particolare sul recupero della sorgente di traffico.

A livello tecnico l’attributo rel=”noreferrer” indica al browser di rimuovere le informazioni sui referral dall’intestazione HTTP. Il referrer, in Google Analytics (ma anche in altri sistemi di tracciamento) consente di ottenere informazioni sulla provenienza del traffico che atterra sul proprio sito e suddividere la sorgente nel canale di raggruppamento opportuno, in questo caso Referral.

Il document.referrer restituisce l’URL della pagina che l’utente ha visitato e che conteneva il link al documento corrente.
In assenza del referrer, Fig. 2, Google Analytics non può conoscere da quale sito è stato cliccato un link per arrivare sulla nostra pagina e pertanto attribuisce la sessione al canale Diretto, Fig. 3, allo stesso modo di un utente che accede da bookmark o che digita l’URL del sito direttamente nella barra degli indirizzi.

Fig. 2 – Il document.referrer vuoto sul sito di destinazione del link in Fig. 1
Fig. 3 – Sessione generata in Analytics del sito di destinazione dove in assenza del referrer viene considerata Diretta

Inutile sottolineare che in questa situazione viene meno la possibilità di confrontare in modo affidabile i canali di traffico, per valutarne l’effettiva efficacia, e fondare strategie di business puntuali.

Togliendo l’attributo noreferrer dall’URL in Fig. 1, otteniamo una situazione come quella mostrata in Fig. 4:

Fig. 4 – Link con l’attributo rel=”noopener”, senza noreferrer

Cliccando adesso su questo link e atterrando nella pagina di destinazione, il document.referrer sarà ora valorizzato con l’URL della pagina che conteneva il link al sito in questione, Fig. 5:

Fig. 5 – Il document.referrer valorizzato sul sito di destinazione del link in Fig. 1

In questo caso, a differenza di quanto osservato in Fig. 3, la sessione generata in Analytics del sito di destinazione ha come sorgente il dominio del sito di provenienza e come mezzo il valore che lo identifica come traffico da Referral, Fig. 6:

Fig. 6 – Sessione generata in Analytics del sito di destinazione dove viene considerata Referral

Conclusioni

Se si gestisce una rete di siti è semplice decidere se mantenere o eliminare l’attributo noreferrer per i link di interscambio, diverso invece è quando non si ha controllo ovvero per i siti che non sono nostri e che contengono link alle nostre pagine. In questo caso, al netto di questioni legate all’anonimato, non ci sono grossi vantaggi al non far sapere al sito destinatario che il traffico arriva dai propri sistemi, anzi, potrebbero nascere delle collaborazioni. Per questo motivo suggerisco a chiunque abbia un sito in WordPress di verificare se i link in uscita che aprono nuove tab contengono il valore noreferrer nell’attributo rel e nel caso valutarne la rimozione.

Per farlo ci sono diversi modi manuali ma il più semplice rimane quello di utilizzare un plugin, per il quale ne suggerisco uno semplice da utilizzare e che sembra funzionare in modo corretto e senza alcun setup: Remove noreferrer from post’s links on the frontend.