Che cosa fanno davvero rel=noopener, noreferrer e nofollow
Tre piccoli attributi dei link con compiti molto diversi: sicurezza del browser, privacy del referrer e segnali per i motori di ricerca.
Indice
- La versione breve
- rel=noopener previene il reverse tabnabbing
- noopener influisce sulla SEO?
- rel=noreferrer nasconde la pagina di provenienza
- Quando noreferrer è utile
- Il compromesso sugli analytics
- rel=nofollow è per i motori di ricerca, non per i browser
- Quando usare nofollow
- Che cosa nofollow non fa
- Combinazioni comuni
- Link esterno che si apre in una nuova scheda
- Posizionamento a pagamento
- Link generato dagli utenti
- Link interni
- Una policy pratica per i team
- Come testare che cosa sta succedendo
- In sintesi
La versione breve
L’attributo rel su un link descrive la relazione tra la pagina corrente e la pagina collegata. Sembra astratto, ma tre valori ricorrono continuamente nel lavoro web quotidiano:
<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
External resource
</a>
Questi tre token vengono spesso incollati insieme come se facessero una sola cosa. Non è così.
noopenerè un controllo di sicurezza del browser.noreferrerè un controllo di privacy e analytics.nofollowè un segnale per i motori di ricerca.
Possono essere combinati, ma dovresti sapere perché ciascuno è presente. Aggiungerli tutti e tre a ogni link in uscita non è sempre sbagliato, ma di solito è una scorciatoia pigra.
rel=noopener previene il reverse tabnabbing
rel="noopener" dice al browser di non concedere alla nuova pagina aperta accesso alla pagina originale tramite window.opener.
Questo conta soprattutto quando apri un link in una nuova scheda o finestra usando target="_blank":
<a href="https://external.example" target="_blank" rel="noopener">
Open external site
</a>
Senza noopener, la pagina di destinazione potrebbe essere in grado di eseguire JavaScript come questo:
window.opener.location = 'https://phishing.example';
Questo attacco è comunemente chiamato reverse tabnabbing. L’utente fa clic su un link legittimo, arriva su un altro sito e la scheda originale viene silenziosamente reindirizzata a una falsa pagina di login o a un’altra destinazione malevola.
I browser moderni sono migliorati su questo punto. Nel comportamento attuale dei browser, target="_blank" viene in genere trattato come se rel="noopener" fosse presente. È una buona cosa, ma non rende inutile l’attributo esplicito. noopener esplicito resta utile perché:
- documenta la tua intenzione;
- protegge ambienti di navigazione vecchi o insoliti;
- evita di dipendere dal fatto che ogni web view incorporata si comporti come un moderno browser desktop;
- rende più semplice la revisione del codice.
Per i link esterni che si aprono in una nuova scheda, rel="noopener" è un valore predefinito sensato.
noopener influisce sulla SEO?
No, non in modo significativo. noopener riguarda il comportamento del browser. Non dice ai motori di ricerca se approvi una pagina, se deve passare link equity o se il link è a pagamento.
Se la tua policy SEO tratta noopener come una direttiva di ranking, quella policy va rivista.
rel=noreferrer nasconde la pagina di provenienza
rel="noreferrer" dice al browser di non inviare l’header HTTP Referer quando l’utente segue il link.
Sì, storicamente l’header è scritto in modo errato come Referer. L’attributo si scrive noreferrer.
Normalmente, quando un utente fa clic su un link dalla tua pagina verso un altro sito, la destinazione può ricevere un valore referrer che mostra da dove proviene la visita. A seconda della Referrer-Policy del tuo sito, può essere l’URL completo, solo l’origine o nulla.
Per esempio, una destinazione potrebbe vedere:
Referer: https://www.example.com/pricing?plan=enterprise
oppure solo:
Referer: https://www.example.com/
Con rel="noreferrer", il browser non dovrebbe inviare quell’header per quella navigazione.
<a href="https://external.example" rel="noreferrer">
External site
</a>
In pratica, nei browser moderni noreferrer si comporta anche come noopener. Se usi noreferrer, in genere non hai bisogno di noopener per la sicurezza su quello stesso link. Molti team continuano comunque a scriverli entrambi per chiarezza:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External site
</a>
Va bene. È ridondante, ma leggibile.
Quando noreferrer è utile
Usa noreferrer quando l’URL della pagina corrente non dovrebbe essere esposto alla destinazione.
Esempi comuni:
- link da dashboard private;
- link da ambienti di anteprima non pubblicati;
- link da URL che contengono parametri di query sensibili;
- link in strumenti di amministrazione, code di moderazione, schermate CRM o sistemi di assistenza clienti;
- link in cui la destinazione non dovrebbe conoscere la pagina sorgente esatta.
Quest’ultimo punto non riguarda sempre la segretezza. A volte riguarda la minimizzazione dei dati. Se la destinazione non ha bisogno di conoscere l’URL di provenienza, non inviarlo.
Questo si inserisce nella direzione più ampia del web design attento alla privacy. Browser, utenti e autorità di regolamentazione si sono tutti mossi verso l’invio predefinito di meno dati ambientali. Se stai rivedendo quest’area, il nostro articolo su che cosa è cambiato per i cookie nel 2026 e che cosa fare al riguardo copre lo stesso cambiamento generale: meno tracciamento invisibile, flussi di dati più deliberati.
Il compromesso sugli analytics
noreferrer può interrompere l’attribuzione per il sito a cui rimandi. I suoi analytics potrebbero classificare la visita come traffico diretto invece che come traffico referral.
Non è il tuo problema principale, ma può contare in partnership, relazioni di affiliazione, customer journey ed ecosistemi interni cross-domain. Se il tuo team marketing si aspetta che i siti partner vedano traffico referral dal tuo dominio, applicare noreferrer ovunque può creare confusione.
Per molti link editoriali ordinari, l’approccio migliore è impostare un header Referrer-Policy a livello di sito invece di aggiungere noreferrer ovunque. Per esempio:
Referrer-Policy: strict-origin-when-cross-origin
Questa policy invia l’URL completo per la navigazione same-origin, invia solo l’origine alle destinazioni cross-origin sicure e non invia alcun referrer quando si passa da HTTPS a HTTP. È un valore predefinito pratico per molti siti.
Se devi verificare come si comportano gli header in produzione, un controllo HTTP grezzo è spesso più chiaro che tirare a indovinare dai dashboard analytics. Il flusso di lavoro in un piccolo toolkit per il debug di redirect e header HTTP in produzione si applica direttamente al debug della referrer policy.
rel=nofollow è per i motori di ricerca, non per i browser
rel="nofollow" dice ai motori di ricerca che non vuoi implicare un’approvazione della pagina collegata.
<a href="https://external.example" rel="nofollow">
User-submitted link
</a>
In origine, nofollow è stato introdotto per combattere lo spam nei commenti. L’idea era semplice: se i link nei commenti non trasferivano credito di ranking, gli spammer avevano meno incentivo a inondare blog e forum.
Oggi Google tratta nofollow come un suggerimento più che come una direttiva assoluta. Questa distinzione conta. Significa che i motori di ricerca possono usare il link per la scoperta o per i sistemi di ranking in alcuni contesti, ma tu stai segnalando chiaramente che il link non dovrebbe essere trattato come una normale approvazione editoriale.
Quando usare nofollow
Usa nofollow quando inserisci un link ma non vuoi garantire per la destinazione.
Esempi ragionevoli includono:
- link generati dagli utenti e non attendibili;
- link in commenti o profili pubblici;
- link a siti citati come esempi di cattivo comportamento;
- link inclusi come riferimento ma non come approvazione;
- link in aree in cui la moderazione è limitata.
Per link a pagamento o sponsorizzati, preferisci rel="sponsored". Per contenuti generati dagli utenti, preferisci rel="ugc". Puoi combinare i valori se necessario:
<a href="https://example.com" rel="ugc nofollow">
User profile link
</a>
Se gestisci form pubblici, commenti, directory o pagine profilo, gli attributi dei link sono solo una parte del problema degli abusi. Lo spam di solito inizia prima, nel flusso di invio. Abbiamo un’analisi separata su perché il tuo form di contatto è la tua maggiore vulnerabilità allo spam, e la stessa lezione vale qui: non aspettarti che nofollow compensi una moderazione debole.
Che cosa nofollow non fa
nofollow non impedisce agli utenti di fare clic sul link. Non impedisce al browser di inviare un referrer. Non nasconde la destinazione alla vista. Non rende sicuro target="_blank".
Inoltre non garantisce che un URL non venga mai scansionato. Se i motori di ricerca trovano l’URL altrove, possono comunque effettuarne il crawling. Se devi impedire l’indicizzazione, usa i controlli robots appropriati sulla pagina di destinazione, come noindex, non un attributo nofollow sul link di qualcun altro.
Combinazioni comuni
Link esterno che si apre in una nuova scheda
<a href="https://external.example" target="_blank" rel="noopener">
External resource
</a>
Questa è la base. Risolve il problema di sicurezza creato dall’apertura di un nuovo contesto di navigazione.
Se inoltre non vuoi inviare dati referrer:
<a href="https://external.example" target="_blank" rel="noopener noreferrer">
External resource
</a>
Posizionamento a pagamento
<a href="https://sponsor.example" rel="sponsored">
Sponsor site
</a>
Puoi aggiungere noopener se si apre in una nuova scheda:
<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
Sponsor site
</a>
Non usare nofollow come sostituto vago della dichiarazione dei link a pagamento. I motori di ricerca hanno ormai un valore più specifico per questo: sponsored.
Link generato dagli utenti
<a href="https://user-submitted.example" rel="ugc nofollow">
User-submitted site
</a>
Questo dice ai motori di ricerca che il link è stato contribuito da un utente e non dovrebbe essere trattato come un normale voto editoriale.
Link interni
La maggior parte dei link interni non ha bisogno di nessuno di questi valori.
Non aggiungere nofollow ai link interni come tattica abituale di sculpting. Di solito crea più confusione che benefici. Se una pagina non dovrebbe essere indicizzata, gestiscilo direttamente. Se una pagina non dovrebbe essere scansionata, valuta con attenzione regole robots, autenticazione, canonicalizzazione e architettura del sito.
Per i link interni che si aprono in una nuova scheda, noopener resta innocuo e può essere appropriato. Ma la domanda migliore è perché quel link interno debba aprirsi in una nuova scheda.
Una policy pratica per i team
Uno stile interno semplice previene la maggior parte degli errori:
- Aggiungi
rel="noopener"ai link contarget="_blank", soprattutto ai link esterni. - Aggiungi
noreferrersolo quando nascondere l’URL sorgente è intenzionale. - Aggiungi
nofollowsolo quando non approvi la destinazione. - Usa
sponsoredper i link a pagamento eugcper i link inseriti dagli utenti. - Non usare gli attributi dei link come sostituto di controllo degli accessi, moderazione o regole di indicizzazione.
La parte importante è l’intenzione. Ogni token in rel dovrebbe rispondere a una domanda specifica:
- Sicurezza: la nuova pagina dovrebbe essere isolata dall’opener?
- Privacy: la destinazione dovrebbe ricevere informazioni sul referrer?
- SEO: stiamo approvando questo link come riferimento editoriale?
Se nessuno nel team sa rispondere a queste domande, l’attributo è probabilmente HTML cargo cult.
Come testare che cosa sta succedendo
Per noopener, apri il link e verifica se la destinazione può accedere a window.opener. In una pagina di test controllata, window.opener dovrebbe essere null quando noopener è attivo.
Per noreferrer, ispeziona la richiesta di rete lato destinazione o usa un request logger in un ambiente di test. I browser DevTools possono mostrare gli header delle richieste in uscita, ma i log lato server sono spesso più affidabili.
Per nofollow, il test è meno immediato perché si tratta di un’interpretazione dei motori di ricerca, non di un comportamento del browser. Il controllo migliore è l’ispezione del sorgente: conferma che l’HTML renderizzato contenga il valore rel previsto. Se il tuo framework frontend riscrive i link, ispeziona il DOM finale, non solo il template.
In sintesi
Questi attributi sono piccoli, ma si trovano all’incrocio tra sicurezza, privacy e SEO. Trattarli come intercambiabili crea cattive abitudini.
Usa noopener con generosità per i link che aprono nuove schede. Usa noreferrer deliberatamente quando la privacy del referrer conta. Usa nofollow quando stai facendo una dichiarazione, visibile ai motori di ricerca, sull’approvazione del link. E quando un link è a pagamento o generato dagli utenti, usa i valori moderni più specifici: sponsored e ugc.
Questo basta per la maggior parte dei siti. L’obiettivo non è decorare ogni link. L’obiettivo è fare in modo che ogni link dica al browser e ai motori di ricerca esattamente ciò che devono sapere.