Schakel Cloudflare e-mailobfuscatie uit: het schaadt je Core Web Vitals
Cloudflare e-mailobfuscatie injecteert een render-blocking script voor triviaal omkeerbare encryptie. Schakel het uit of vervang het.

Wat is Cloudflare e-mailobfuscatie?
Cloudflare Email Address Obfuscation is een Scrape Shield-functie die e-mailadressen op je pagina's verbergt voor e-mailharvesters en bots, terwijl ze zichtbaar blijven voor menselijke bezoekers. Het staat standaard ingeschakeld op elke Cloudflare-zone.
Laatst beoordeeld door Arjen Karel in maart 2026
Table of Contents!
De werking is eenvoudig. De edge proxy van Cloudflare scant je HTML op alles wat op een e-mailadres lijkt. Elk adres wordt vervangen door een XOR-gecodeerde hex string en er wordt een render-blocking script genaamd email-decode.min.js geïnjecteerd om de adressen in de browser te decoderen. Het script is ongeveer 1,2 KB, draait synchroon en verwijdert zichzelf uit de DOM na uitvoering.
Het probleem: dat script wordt niet geladen met async of defer. Het blokkeert de rendering. En het doet dit voor een functie die de meeste bezoekers nooit zullen opmerken of nodig hebben.
.
Hoe beïnvloedt Cloudflare e-mailobfuscatie de Core Web Vitals?
.
Het email-decode.min.js script wordt geïnjecteerd als een render-blocking resource. De browser moet het downloaden, parsen en uitvoeren voordat hij verder kan met het renderen van de pagina. Dit heeft drie gevolgen:
1. Het concurreert om netwerkbandbreedte tijdens de kritieke renderfase, wat de Largest Contentful Paint vertraagt.
2. Het blokkeert de main thread, wat de Interaction to Next Paint in het gebied "needs improvement" kan duwen.
3. Het activeert tot vijf Lighthouse auditwaarschuwingen: elimineer render-blocking resources, vermijd lange main-thread taken, verminder JavaScript-uitvoertijd, vermijd het koppelen van kritieke verzoeken en lever statische assets met een efficiënt cachebeleid.
De impact hangt af van je LCP-optimalisatie
Als je LCP al goed is geoptimaliseerd (vindbaar in de HTML-bron, fetchpriority="high", niet lazy loaded en geen andere render-blocking scripts), voegt het 1,2 KB email-decode script misschien 50 tot 100 ms toe. Merkbaar in een Lighthouse-audit, maar niet catastrofaal.
Maar als je site al slow by mistake antipatronen bevat (render-blocking CSS, ongeoptimaliseerde LCP-afbeelding, ontbrekende fetchpriority), verergert dit script de schade. Het is nog een render-blocking resource die vecht om bandbreedte en main thread-tijd tijdens de kritieke renderfase. Op sites met meerdere render-blocking scripts hebben gebruikers in de Cloudflare Community FCP-vertragingen van 0,8 seconden en LCP-vertragingen van meer dan 2 seconden gemeld als gevolg van de combinatie.
De echte vraag is: waarom zou je enige prestatiekosten accepteren voor een functie die triviaal omkeerbare encryptie gebruikt?
SEO bijwerkingen
Cloudflare vervangt e-mailadressen door links die verwijzen naar /cdn-cgi/l/email-protection#[hex]. Deze URL's sturen een 404 terug naar crawlers, inclusief Googlebot. Het resultaat: "Soft 404" fouten in Google Search Console. SEO-audittools zoals Ahrefs en Screaming Frog rapporteren deze als kapotte interne links, wat ruis creëert die echte crawlproblemen maskeert. Als je Cloudflare gebruikt met e-mailobfuscatie ingeschakeld, controleer dan je Search Console dekkingsrapport op deze spookfouten.
Is Cloudflare e-mailobfuscatie überhaupt veilig?
Niet echt. Cloudflare gebruikt een single-byte XOR cipher waarbij de sleutel is ingesloten in de gecodeerde string zelf. Elke door Cloudflare beschermde site gebruikt hetzelfde decoderingsmechanisme. Een spammer hoeft slechts één decoder te implementeren om e-mailadressen uit allemaal te extraheren.
Beveiligingsonderzoekers hebben aangetoond dat de codering triviaal omkeerbaar is. Spencer Mortensens obfuscatie-onderzoek uit 2026 testte 25 verschillende methoden tegen meer dan 300 verschillende spammers met behulp van honeypot e-mailadressen. Zelfs een simpele CSS display:none techniek bereikte een blokkeringspercentage van 100% tegen harvesters. Je hebt geen render-blocking JavaScript nodig om een e-mailadres te verbergen voor bots.
De makkelijkste oplossing: schakel het uit in Cloudflare
Als je geen e-mailobfuscatie nodig hebt (en de meeste sites hebben dat niet), zet het dan gewoon uit:
1. Log in op je Cloudflare-dashboard.
2. Ga naar Security > Settings (of Scrape Shield bij oudere dashboard-lay-outs).
3. Zet Email Address Obfuscation op OFF.
Dat is alles. Het render-blocking script verdwijnt onmiddellijk. Voor een volledige prestatieconfiguratie van Cloudflare, zie de beste Cloudflare-configuratie voor het behalen van de Core Web Vitals.
Per pagina uitschakelen met Configuration Rules
Als je e-mailobfuscatie op je contactpagina wilt, maar niet op bestemmingspagina's met veel verkeer, gebruik dan een Configuration Rule:
1. Ga naar Rules > Configuration Rules.
2. Maak een nieuwe regel, geef deze een naam (bijv. "Schakel e-mailobfuscatie uit op landingspagina's").
3. Stel de matching criteria in (hostname, URL-pad of beide).
4. Voeg de Email Obfuscation instelling toe en zet deze op Off.
5. Implementeer (Deploy).
Je kunt ook individuele e-mailadressen uitzonderen in je HTML door ze in comments te wikkelen: <!--email_off-->email@example.com<!--/email_off-->
Als je obfuscatie nodig hebt: doe het zelf
Als je toch e-mailadressen voor bots wilt verbergen, zijn er veel betere manieren die geen scripts uitvoeren vroeg in het renderproces. De beste aanpak: voeg een IntersectionObserver toe en decodeer de e-mail just-in-time wanneer deze in beeld scrolt. Dit is hetzelfde defer until needed patroon dat ik gebruik voor alles, van YouTube-embeds tot Google Maps.
Maak de geobfusceerde e-mail
<a class="email-hidden" href="#" data-email="aW5mb0BleGFtcGxlLmNvbQ==" > [email-hidden] </a>
Koppel de IntersectionObserver. Plaats dit stukje JavaScript onderaan de 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>
Upload het email-decode script decode-email.js en vervang de e-mail decoderingsfunctie door een decoderingsbibliotheek naar eigen keuze.
const emaildecode = (e) => {
let email = atob(e.dataset.email);
e.href = 'mailto:'+email;
e.innerHTML = email;
}
Controleer de resultaten
<a href="mailto:info@example.com">info@example.com</a>
De e-mail wordt pas gedecodeerd wanneer de bezoeker deze in beeld scrolt. Geen impact op LCP, geen impact op INP, en de base64-codering is niet minder veilig dan Cloudflare's XOR cipher. Om de verbetering bij echte bezoekers te verifiëren, stel je Real User Monitoring in. Lighthouse-scores zijn nuttig voor het debuggen, maar veldgegevens van echte gebruikers is wat Google gebruikt voor ranking.
Find out what is actually slow.
I map your critical rendering path using real field data. You get a clear answer on what blocks LCP, what causes INP spikes, and where layout shifts originate.
Book a Deep Dive
