A Cloudflare corrigiu seu script de ofuscação de e-mail (eu posso ter causado isso)

O script de ofuscação de e-mail da Cloudflare costumava bloquear a renderização. Um PM na Cloudflare leu este artigo e lançou a correção. Os problemas de SEO e segurança ainda valem a pena ser evitados.

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

O que é a ofuscação de e-mail da Cloudflare?

A Ofuscação de Endereço de E-mail da Cloudflare é um recurso do Scrape Shield que oculta endereços de e-mail em suas páginas de coletores de e-mail e bots, mantendo-os visíveis para visitantes humanos. Ela está ativada por padrão em cada zona da Cloudflare.

Revisado pela última vez por Arjen Karel em abril de 2026

Atualização de abril de 2026: A Cloudflare corrigiu. Um Gerente de Produto na Cloudflare me enviou uma mensagem no LinkedIn. Ele leu este artigo e adicionou o atributo defer ao email-decode.min.js. A documentação oficial da Cloudflare agora confirma: o script não bloqueia mais a renderização.

Defer é uma alteração de uma linha. O motivo pelo qual não estava lá em primeiro lugar foi provavelmente porque a Cloudflare queria confirmar que não quebraria sites que dependem de endereços sendo decodificados antes do DOMContentLoaded. Alguém na equipe fez o trabalho. Crédito a quem merece.

A forma como funciona é simples. O edge proxy 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 pequeno script chamado email-decode.min.js para decodificar os endereços no navegador. O script tem cerca de 1.2 KB, agora carrega com defer, e remove a si mesmo do DOM após a execução.

Até recentemente, esse script não era carregado com async ou defer. Ele bloqueava a renderização. E fazia isso para um recurso que a maioria dos visitantes nunca notará ou precisará. Essa é a situação que este artigo descreveu originalmente, e o motivo pelo qual a Cloudflare a corrigiu.

.

Como a ofuscação de e-mail da Cloudflare costumava afetar as Core Web Vitals

.

Antes da correção do defer, o script email-decode.min.js era injetado como um recurso de bloqueio de renderização. O navegador tinha que baixá-lo, analisá-lo e executá-lo antes de poder continuar renderizando a página. Isso tinha três consequências:

1. Ele competia por largura de banda da rede durante a janela crítica de renderização, atrasando a Largest Contentful Paint.
2. Ele bloqueava a thread principal, o que poderia empurrar a Interaction to Next Paint para o território de "precisa melhorar".
3. Ele acionava 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 do JavaScript, evitar o encadeamento de solicitações críticas e servir ativos estáticos com uma política de cache eficiente.

Com o defer agora no lugar, o script é baixado em paralelo com a análise do HTML e é executado após o documento ser analisado. O aviso de bloqueio de renderização desapareceu.

O que resta após a correção

A thread principal ainda precisa analisar e executar 1.2 KB de JavaScript. Em um desktop isso não é nada. Em um celular Android de baixo custo com uma CPU ocupada, cada pequena tarefa da thread principal consome seu orçamento de INP. Se você já está lutando pelos últimos 50 ms de margem de INP, este script é mais uma coisa na fila.

Os problemas maiores, aqueles que a Cloudflare não corrigiu, estão abaixo.

Efeitos colaterais em SEO

A Cloudflare substitui os endereços de e-mail por links que apontam para /cdn-cgi/l/email-protection#[hex]. Essas URLs retornam 404 para os rastreadores, 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ê usa a Cloudflare com a ofuscação de e-mail ativada, verifique seu relatório de cobertura do Search Console para esses erros fantasmas.

A ofuscação de e-mail da Cloudflare é mesmo 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 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 display:none em CSS alcançou uma taxa de bloqueio de 100% contra coletores. Você não precisa de um JavaScript com defer para ocultar um endereço de e-mail de bots.

Você ainda deve desativá-la?

Se você não precisa de ofuscação de e-mail (e a maioria dos sites não precisa), desligá-la remove os erros de rastreamento soft 404 e os últimos milissegundos de trabalho na thread principal. Veja como:

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 a Email Address Obfuscation para OFF.

É isso. O script desaparece imediatamente. Para uma configuração completa de desempenho da Cloudflare, veja a melhor configuração da Cloudflare para passar nas Core Web Vitals.

Desativar por página com Configuration Rules

Se você quer 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, nomeie-a (por exemplo, "Desativar ofuscação de e-mail em landing pages").
3. Defina os critérios de correspondência (hostname, caminho da URL ou ambos).
4. Adicione a configuração Email Obfuscation e defina-a como Off.
5. Implante.

Você também pode isentar endereços de e-mail individuais em 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ê realmente quer ocultar endereços de e-mail de bots, existem maneiras muito melhores que não envolvem enviar nenhum script antes que o usuário tenha expressado interesse. A melhor abordagem: anexe um IntersectionObserver e decodifique o e-mail no momento exato em que ele rolar para a tela. Este é o mesmo padrão defer until needed que eu uso para tudo, desde incorporações do YouTube até o Google Maps.

Crie o e-mail ofuscado

Neste caso eu usei uma codificação base64 simples. A codificação base64 é apenas um exemplo. Existem inúmeras bibliotecas de codificação e decodificação gratuitas por aí.
<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 email-decode decode-email.js e substitua a função de decodificação de e-mail por uma biblioteca de decodificação de sua 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 rola a página para vê-lo. Impacto zero em INP, nenhum erro soft 404 para o Googlebot 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 classificação.

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.

Seu score do Lighthouse não conta a história toda.

Seus usuários reais estão em Android com 4G. Analiso o que eles vivem de fato.

Analisar dados de campo
A Cloudflare corrigiu seu script de ofuscação de e-mail (eu posso ter causado isso)Core Web Vitals A Cloudflare corrigiu seu script de ofuscação de e-mail (eu posso ter causado isso)