Desactiva la ofuscación de correo electrónico de Cloudflare: perjudica tus Core Web Vitals

La ofuscación de correo electrónico de Cloudflare inyecta un script que bloquea el renderizado para un cifrado trivialmente reversible. Desactívalo o reemplázalo.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-03-11

¿Qué es la ofuscación de correo electrónico de Cloudflare?

La ofuscación de direcciones de correo electrónico de Cloudflare es una característica de Scrape Shield que oculta las direcciones de correo electrónico en tus páginas de los recolectores de correo y bots, mientras las mantiene visibles para los visitantes humanos. Está habilitada por defecto en todas las zonas de Cloudflare.

Revisado por última vez por Arjen Karel en marzo de 2026

Su funcionamiento es sencillo. El proxy de borde de Cloudflare escanea tu HTML en busca de cualquier cosa que parezca una dirección de correo electrónico. Reemplaza cada dirección con una cadena hexadecimal codificada en XOR e inyecta un script que bloquea el renderizado llamado email-decode.min.js para decodificar las direcciones en el navegador. El script ocupa alrededor de 1.2 KB, se ejecuta sincrónicamente y se elimina del DOM después de su ejecución.

El problema: ese script no se carga con async o defer. Bloquea el renderizado. Y lo hace por una característica que la mayoría de los visitantes nunca notarán ni necesitarán.

.

¿Cómo afecta la ofuscación de correo electrónico de Cloudflare a los Core Web Vitals?

.

El script email-decode.min.js se inyecta como un recurso que bloquea el renderizado. El navegador debe descargarlo, analizarlo y ejecutarlo antes de poder continuar renderizando la página. Esto tiene tres consecuencias:

1. Compite por el ancho de banda de la red durante la ventana de renderizado crítico, retrasando el Largest Contentful Paint.
2. Bloquea el hilo principal, lo que puede empujar el Interaction to Next Paint a territorio de "necesita mejora".
3. Desencadena hasta cinco advertencias en la auditoría de Lighthouse: elimina recursos que bloquean el renderizado, evita tareas largas en el hilo principal, reduce el tiempo de ejecución de JavaScript, evita encadenar solicitudes críticas y sirve activos estáticos con una política de caché eficiente.

El impacto depende de tu optimización del LCP

Si tu LCP ya está bien optimizado (es descubrible en el código fuente HTML, fetchpriority="high", sin carga diferida y sin otros scripts que bloqueen el renderizado), el script email-decode de 1.2 KB añade quizás de 50 a 100 ms. Perceptible en una auditoría de Lighthouse, pero no catastrófico.

Pero si tu sitio ya tiene antipatrones de lentitud por error (CSS que bloquea el renderizado, imagen LCP no optimizada, falta de fetchpriority), este script agrava el daño. Es un recurso más que bloquea el renderizado luchando por el ancho de banda y el tiempo del hilo principal durante la ventana de renderizado crítico. En sitios con múltiples scripts que bloquean el renderizado, los usuarios de la Comunidad de Cloudflare han reportado retrasos en el FCP de 0.8 segundos y retrasos en el LCP de más de 2 segundos debido a la combinación.

La verdadera pregunta es: ¿por qué aceptar cualquier costo de rendimiento por una característica que usa un cifrado trivialmente reversible?

Efectos secundarios en el SEO

Cloudflare reemplaza las direcciones de correo electrónico con enlaces que apuntan a /cdn-cgi/l/email-protection#[hex]. Estas URLs devuelven un 404 a los rastreadores, incluido Googlebot. El resultado: errores "Soft 404" en Google Search Console. Herramientas de auditoría SEO como Ahrefs y Screaming Frog los reportan como enlaces internos rotos, creando un ruido que enmascara problemas reales de rastreo. Si usas Cloudflare con la ofuscación de correo electrónico activada, revisa tu informe de cobertura en Search Console en busca de estos errores fantasma.

¿Es siquiera segura la ofuscación de correo electrónico de Cloudflare?

En realidad no. Cloudflare utiliza un cifrado XOR de un solo byte donde la clave está incrustada en la propia cadena codificada. Todos los sitios protegidos por Cloudflare utilizan el mismo mecanismo de decodificación. Un spammer solo necesita implementar un decodificador para extraer direcciones de correo electrónico de todos ellos.

Investigadores de seguridad han demostrado que la codificación es trivialmente reversible. El estudio de ofuscación de Spencer Mortensen en 2026 probó 25 métodos diferentes contra más de 300 spammers distintos utilizando direcciones de correo electrónico trampa (honeypot). Incluso una simple técnica de CSS display:none logró una tasa de bloqueo del 100% contra los recolectores. No necesitas un JavaScript que bloquee el renderizado para ocultar una dirección de correo electrónico de los bots.

La solución más fácil: desactívala en Cloudflare

Si no necesitas la ofuscación de correo electrónico (y la mayoría de los sitios no la necesitan), simplemente apágala:

1. Inicia sesión en tu panel de control de Cloudflare.
2. Ve a Security > Settings (o Scrape Shield en diseños más antiguos del panel).
3. Cambia Email Address Obfuscation a OFF (Desactivado).

Eso es todo. El script que bloquea el renderizado desaparece inmediatamente. Para una configuración completa de rendimiento en Cloudflare, consulta la mejor configuración de Cloudflare para superar los Core Web Vitals.

Desactívala por página con Configuration Rules

Si deseas ofuscación de correo electrónico en tu página de contacto pero no en las páginas de aterrizaje de alto tráfico, usa una Regla de Configuración (Configuration Rule):

1. Ve a Rules > Configuration Rules.
2. Crea una nueva regla, ponle un nombre (por ejemplo, "Desactivar ofuscación de correo en páginas de aterrizaje").
3. Establece los criterios de coincidencia (nombre de host, ruta de URL o ambos).
4. Añade la configuración Email Obfuscation y establécela en Off.
5. Impleméntala (Deploy).

También puedes eximir direcciones de correo electrónico individuales en tu HTML envolviéndolas en comentarios: <!--email_off-->email@example.com<!--/email_off-->

Si necesitas ofuscación: hazlo tú mismo

Si realmente deseas ocultar las direcciones de correo electrónico de los bots, existen formas mucho mejores que no implican ejecutar scripts de manera temprana en el proceso de renderizado. El mejor enfoque: adjuntar un IntersectionObserver y decodificar el correo justo a tiempo cuando se desplace hacia la vista. Este es el mismo patrón de diferir hasta que se necesite que utilizo para todo, desde incrustaciones de YouTube hasta Google Maps.

Crea el correo ofuscado

En este caso utilicé una codificación base64 sencilla. La codificación base64 es solo un ejemplo. Existen numerosas bibliotecas gratuitas de codificación y decodificación.
<a
 class="email-hidden"
 href="#"
 data-email="aW5mb0BleGFtcGxlLmNvbQ==">
 [email-hidden]
</a>

Adjunta el IntersectionObserver. Coloca este fragmento de JavaScript en la parte inferior de la 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>

Sube el script email-decode decode-email.js y reemplaza la función de decodificación de correo electrónico con una biblioteca de decodificación de tu elección.

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

Comprueba los resultados

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

El correo electrónico se decodifica solo cuando el visitante lo desplaza hacia la vista. Cero impacto en el LCP, cero impacto en el INP, y la codificación base64 no es menos segura que el cifrado XOR de Cloudflare. Para verificar la mejora con visitantes reales, configura Real User Monitoring. Las puntuaciones de Lighthouse son útiles para depurar, pero los datos de campo de usuarios reales son lo que utiliza Google para el ranking.

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.

Your Lighthouse score is not the full picture.

Lab tests run on fast hardware with a stable connection. I analyze what your actual visitors experience on real devices and real networks.

Analyze Field Data
Desactiva la ofuscación de correo electrónico de Cloudflare: perjudica tus Core Web VitalsCore Web Vitals Desactiva la ofuscación de correo electrónico de Cloudflare: perjudica tus Core Web Vitals