Desative a ofuscação de e-mail da Cloudflare: ela prejudica seus Core Web Vitals
A ofuscação de e-mail da Cloudflare injeta um script de bloqueio de renderização para uma criptografia trivialmente reversível. Desative-o ou substitua-o.

O que é a ofuscação de e-mail da Cloudflare?
Cloudflare Email Address Obfuscation é um recurso do Scrape Shield que oculta os endereços de e-mail em suas páginas de coletores de e-mail e bots, mantendo-os visíveis para visitantes humanos. Está ativado por padrão em cada zona da Cloudflare.
Última revisão por Arjen Karel em março de 2026
Table of Contents!
A maneira como funciona é simples. O proxy de borda da Cloudflare verifica seu HTML em busca de qualquer coisa que se pareça com um endereço de e-mail. Ele substitui cada endereço por uma string hexadecimal codificada em XOR e injeta um script de bloqueio de renderização chamado email-decode.min.js para decodificar os endereços no navegador. O script tem cerca de 1,2 KB, é executado de forma síncrona e se remove do DOM após a execução.
O problema: esse script não é carregado com async ou defer. Ele bloqueia a renderização. E faz isso por um recurso que a maioria dos visitantes nunca notará ou precisará.
.
Como a ofuscação de e-mail da Cloudflare afeta os Core Web Vitals?
.
O script email-decode.min.js é injetado como um recurso de bloqueio de renderização. O navegador deve baixá-lo, analisá-lo e executá-lo antes de continuar a renderizar a página. Isso tem três consequências:
1. Ele compete por largura de banda da rede durante a janela crítica de renderização, atrasando a Largest Contentful Paint.
2. Ele bloqueia a thread principal, o que pode empurrar a Interaction to Next Paint para o território "precisa de melhorias".
3. Ele aciona até cinco avisos de auditoria do Lighthouse: eliminar recursos de bloqueio de renderização, evitar tarefas longas na thread principal, reduzir o tempo de execução de JavaScript, evitar encadear requisições críticas e servir ativos estáticos com uma política de cache eficiente.
O impacto depende da sua otimização da LCP
Se sua LCP já estiver bem otimizada (detectável no código-fonte HTML, fetchpriority="high", sem lazy load e sem outros scripts de bloqueio de renderização), o script de decodificação de e-mail de 1,2 KB adiciona talvez 50 a 100 ms. Notável em uma auditoria do Lighthouse, mas não catastrófico.
Mas se o seu site já possui antipadrões de lento por erro (CSS de bloqueio de renderização, imagem de LCP não otimizada, fetchpriority ausente), esse script agrava o dano. É mais um recurso de bloqueio de renderização lutando por largura de banda e tempo na thread principal durante a janela de renderização crítica. Em sites com vários scripts de bloqueio de renderização, os usuários da Comunidade Cloudflare relataram atrasos de FCP de 0,8 segundos e atrasos de LCP de mais de 2 segundos devido à combinação.
A verdadeira questão é: por que aceitar qualquer custo de desempenho por um recurso que usa criptografia trivialmente reversível?
Efeitos colaterais em SEO
A Cloudflare substitui os endereços de e-mail por links que apontam para /cdn-cgi/l/email-protection#[hex]. Esses URLs retornam 404 para crawlers, incluindo o Googlebot. O resultado: erros "Soft 404" no Google Search Console. Ferramentas de auditoria de SEO como Ahrefs e Screaming Frog os relatam como links internos quebrados, criando ruído que mascara problemas reais de rastreamento. Se você usar a Cloudflare com a ofuscação de e-mail ativada, verifique seu relatório de cobertura do Search Console em busca desses erros fantasmas.
A ofuscação de e-mail da Cloudflare é ao menos segura?
Não muito. A Cloudflare usa uma cifra XOR de byte único onde a chave está embutida na própria string codificada. Todo site protegido pela Cloudflare usa o mesmo mecanismo de decodificação. Um spammer só precisa implementar um decodificador para extrair os endereços de e-mail de todos eles.
Pesquisadores de segurança demonstraram que a codificação é trivialmente reversível. O estudo de ofuscação de 2026 de Spencer Mortensen testou 25 métodos diferentes contra mais de 300 spammers distintos usando endereços de e-mail honeypot. Até mesmo uma técnica simples de CSS display:none alcançou uma taxa de bloqueio de 100% contra coletores. Você não precisa de um JavaScript de bloqueio de renderização para esconder um endereço de e-mail de bots.
A correção mais fácil: desative na Cloudflare
Se você não precisa de ofuscação de e-mail (e a maioria dos sites não precisa), basta desligá-la:
1. Faça login no seu painel da Cloudflare.
2. Vá para Security > Settings (ou Scrape Shield em layouts de painel mais antigos).
3. Alterne Email Address Obfuscation para OFF.
E é isso. O script de bloqueio de renderização desaparece imediatamente. Para uma configuração completa de desempenho da Cloudflare, veja a melhor configuração da Cloudflare para passar nos Core Web Vitals.
Desative por página com Configuration Rules
Se você deseja a ofuscação de e-mail na sua página de contato, mas não em landing pages de alto tráfego, use uma Configuration Rule:
1. Vá para Rules > Configuration Rules.
2. Crie uma nova regra, dê um nome (ex: "Desativar ofuscação de e-mail em landing pages").
3. Defina os critérios de correspondência (hostname, URL path ou ambos).
4. Adicione a configuração Email Obfuscation e defina-a como Off.
5. Faça o deploy.
Você também pode isentar endereços de e-mail individuais no seu HTML envolvendo-os em comentários: <!--email_off-->email@example.com<!--/email_off-->
Se você precisa de ofuscação: faça você mesmo
Se você quer esconder os endereços de e-mail de bots, existem maneiras muito melhores que não envolvem executar scripts no início do processo de renderização. A melhor abordagem: anexe um IntersectionObserver e decodifique o e-mail no momento exato (just-in-time) em que ele rola para a área de visualização. Este é o mesmo padrão adiar até que seja necessário que eu uso para tudo, desde incorporações do YouTube até Google Maps.
Crie o e-mail ofuscado
<a class="email-hidden" href="#" data-email="aW5mb0BleGFtcGxlLmNvbQ=="> [email-hidden] </a>
Anexe o IntersectionObserver. Coloque este trecho de JavaScript na parte inferior da página.
<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>
Faça o upload do script de decodificação de e-mail decode-email.js e substitua a função de decodificação de e-mail por uma biblioteca de decodificação de sua própria escolha.
const emaildecode = (e) => {
let email = atob(e.dataset.email);
e.href = 'mailto:'+email;
e.innerHTML = email;
}
Verifique os resultados
<a href="mailto:info@example.com">info@example.com</a>
O e-mail é decodificado apenas quando o visitante o rola para a área de visualização. Zero impacto na LCP, zero impacto na INP e a codificação base64 não é menos segura que a cifra XOR da Cloudflare. Para verificar a melhoria com visitantes reais, configure o Real User Monitoring. As pontuações do Lighthouse são úteis para depuração, mas os dados de campo de usuários reais são o que o Google usa para ranqueamento.
Find out what is actually slow.
I map your critical rendering path using real field data. You get a prioritized fix list, not a Lighthouse report.
Get the audit
