Cloudflare ha risolto il suo script di offuscamento delle email (potrei esserne la causa)

Lo script di offuscamento delle email di Cloudflare bloccava il rendering. Un PM di Cloudflare ha letto questo articolo e ha rilasciato la correzione. I problemi SEO e di sicurezza sono ancora da evitare.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-04-16

Cos'è l'offuscamento delle email di Cloudflare?

Cloudflare Email Address Obfuscation è una funzionalità di Scrape Shield che nasconde gli indirizzi email sulle tue pagine da harvester di email e bot, mantenendoli visibili ai visitatori umani. È abilitata per impostazione predefinita su ogni zona Cloudflare.

Ultima revisione di Arjen Karel ad aprile 2026

Aggiornamento aprile 2026: Cloudflare ha risolto il problema. Un Product Manager di Cloudflare mi ha scritto su LinkedIn. Ha letto questo articolo e ha aggiunto l'attributo defer a email-decode.min.js. La documentazione ufficiale di Cloudflare ora lo conferma: lo script non blocca più il rendering.

Defer è una modifica di una riga. Il motivo per cui non c'era fin dall'inizio era probabilmente che Cloudflare voleva confermare che non avrebbe interrotto i siti che dipendono dagli indirizzi decodificati prima di DOMContentLoaded. Qualcuno del team ha fatto il lavoro. Diamo a Cesare quel che è di Cesare.

Il suo funzionamento è semplice. Il proxy edge di Cloudflare scansiona il tuo HTML in cerca di qualsiasi cosa che assomigli a un indirizzo email. Sostituisce ogni indirizzo con una stringa esadecimale codificata XOR e inietta un piccolo script chiamato email-decode.min.js per decodificare gli indirizzi nel browser. Lo script è di circa 1,2 KB, ora viene caricato con defer e si rimuove dal DOM dopo l'esecuzione.

Fino a poco tempo fa, tale script non veniva caricato con async o defer. Bloccava il rendering. E faceva questo per una funzionalità che la maggior parte dei visitatori non noterà o di cui non avrà mai bisogno. Questa è la situazione che questo articolo descriveva originariamente e il motivo per cui Cloudflare l'ha risolta.

.

Come l'offuscamento delle email di Cloudflare influiva sui Core Web Vitals

.

Prima della correzione con defer, lo script email-decode.min.js veniva iniettato come una risorsa che blocca il rendering. Il browser doveva scaricarlo, analizzarlo ed eseguirlo prima di poter continuare a renderizzare la pagina. Ciò aveva tre conseguenze:

1. Competeva per la larghezza di banda della rete durante la finestra di rendering critica, ritardando il Largest Contentful Paint.
2. Bloccava il thread principale, il che poteva spingere l'Interaction to Next Paint in un territorio in cui "ha bisogno di miglioramenti".
3. Attivava fino a cinque avvisi di audit Lighthouse: eliminare le risorse che bloccano il rendering, evitare lunghe attività del thread principale, ridurre il tempo di esecuzione JavaScript, evitare il concatenamento di richieste critiche e servire risorse statiche con un criterio di cache efficiente.

Con defer ora in atto, lo script viene scaricato in parallelo all'analisi HTML e viene eseguito dopo che il documento è stato analizzato. L'avviso di blocco del rendering è scomparso.

Cosa resta dopo la correzione

Il thread principale deve ancora analizzare ed eseguire 1,2 KB di JavaScript. Su un desktop non è nulla. Su un telefono Android di fascia bassa con una CPU occupata, ogni piccola attività del thread principale intacca il tuo budget INP. Se stai già lottando per gli ultimi 50 ms di margine INP, questo script è un'altra cosa in coda.

I problemi più grandi, quelli che Cloudflare non ha risolto, sono i seguenti.

Effetti collaterali SEO

Cloudflare sostituisce gli indirizzi email con link che puntano a /cdn-cgi/l/email-protection#[hex]. Questi URL restituiscono 404 ai crawler, incluso Googlebot. Il risultato: errori "Soft 404" in Google Search Console. Strumenti di audit SEO come Ahrefs e Screaming Frog li segnalano come link interni non funzionanti, creando rumore che maschera i reali problemi di scansione. Se usi Cloudflare con l'offuscamento delle email abilitato, controlla il tuo rapporto di copertura in Search Console per questi errori fantasma.

L'offuscamento delle email di Cloudflare è davvero sicuro?

Non proprio. Cloudflare utilizza un cifrario XOR a singolo byte in cui la chiave è incorporata nella stringa codificata stessa. Ogni sito protetto da Cloudflare utilizza lo stesso meccanismo di decodifica. A uno spammer basta implementare un decodificatore per estrarre gli indirizzi email da tutti i siti.

I ricercatori di sicurezza hanno dimostrato che la codifica è banalmente reversibile. Lo studio sull'offuscamento del 2026 di Spencer Mortensen ha testato 25 metodi diversi contro oltre 300 spammer distinti utilizzando indirizzi email honeypot. Persino una semplice tecnica CSS display:none ha ottenuto un tasso di blocco del 100% contro gli harvester. Non hai bisogno di un JavaScript posticipato per nascondere un indirizzo email ai bot.

Dovresti comunque disabilitarlo?

Se non hai bisogno dell'offuscamento delle email (e la maggior parte dei siti non ne ha), disattivarlo rimuove gli errori di scansione soft 404 e gli ultimi millisecondi di lavoro del thread principale. Ecco come fare:

1. Accedi alla tua dashboard Cloudflare.
2. Vai su Security > Settings (o Scrape Shield nei layout della dashboard precedenti).
3. Imposta l'interruttore Email Address Obfuscation su OFF.

Questo è tutto. Lo script scompare immediatamente. Per una configurazione completa delle prestazioni di Cloudflare, consulta la migliore configurazione di Cloudflare per superare i Core Web Vitals.

Disabilitare per pagina con Configuration Rules

Se desideri l'offuscamento delle email sulla tua pagina dei contatti ma non su landing page ad alto traffico, utilizza una Configuration Rule:

1. Vai su Rules > Configuration Rules.
2. Crea una nuova regola, dalle un nome (es. "Disabilita l'offuscamento delle email sulle landing page").
3. Imposta i criteri di corrispondenza (nome host, percorso URL o entrambi).
4. Aggiungi l'impostazione Email Obfuscation e impostala su Off.
5. Distribuisci.

Puoi anche esentare singoli indirizzi email nel tuo HTML avvolgendoli nei commenti: <!--email_off-->email@example.com<!--/email_off-->

Se hai bisogno di offuscamento: fallo da te

Se vuoi nascondere gli indirizzi email ai bot, ci sono modi molto migliori che non implicano l'invio di alcuno script prima che l'utente abbia espresso interesse. L'approccio migliore: collega un IntersectionObserver e decodifica l'email just-in-time quando scorre nella vista. Questo è lo stesso pattern defer until needed che utilizzo per qualsiasi cosa, dagli incorporamenti di YouTube a Google Maps.

Crea l'email offuscata

In questo caso ho utilizzato una semplice codifica base64. La codifica base64 è solo un esempio. Esistono numerose librerie di codifica e decodifica gratuite in circolazione.
<a
 class="email-hidden"
 href="#"
 data-email="aW5mb0BleGFtcGxlLmNvbQ==">
 [email-hidden]
</a>

Collega l'IntersectionObserver. Posiziona questa porzione di JavaScript in fondo alla pagina.

<script>
const emailtag = document.querySelector('.email-hidden');
let observer = new IntersectionObserver((entries) => {
  entries.map((entry) => {
    if (entry.isIntersecting) {
      let script = document.createElement('script');
      script.onload = function () {
        emaildecode(entry.target)
      };
      script.src = 'decode-email.js';
      document.head.appendChild(script);
    }
  });
}).observe(emailtag);
</script>

Carica lo script di decodifica delle email decode-email.js e sostituisci la funzione di decodifica delle email con una libreria di decodifica a tua scelta.

const emaildecode = (e) => {
	let email = atob(e.dataset.email);
	e.href = 'mailto:'+email;
	e.innerHTML = email;
}

Controlla i risultati

<a href="mailto:info@example.com">info@example.com</a>

L'email viene decodificata solo quando il visitatore la scorre nella vista. Zero impatto su INP, nessun errore soft 404 per Googlebot e la codifica base64 non è meno sicura del cifrario XOR di Cloudflare. Per verificare il miglioramento con visitatori reali, imposta il Real User Monitoring. I punteggi di Lighthouse sono utili per il debug, ma i dati sul campo di utenti reali sono ciò che Google usa per il posizionamento.

About the author

Arjen Karel is a web performance consultant and the creator of CoreDash, a Real User Monitoring platform that tracks Core Web Vitals data across hundreds of sites. He also built the Core Web Vitals Visualizer Chrome extension. He has helped clients achieve passing Core Web Vitals scores on over 925,000 mobile URLs.

Dove sei lento davvero.

Ti mappo il critical rendering path con dati RUM. Ricevi una lista di fix in ordine di priorità, non un report di Lighthouse.

Richiedi l'audit
Cloudflare ha risolto il suo script di offuscamento delle email (potrei esserne la causa)Core Web Vitals Cloudflare ha risolto il suo script di offuscamento delle email (potrei esserne la causa)