Webs falsamente rápidos: cómo se hackea la puntuación de Lighthouse
La comunidad de velocidad web vive en un ciclo engañoso. La gente confunde la puntuación de Lighthouse con la velocidad real del sitio. Esto es aprovechado por los desarrolladores de plugins, que se centran en mejorar esta métrica sin realmente incrementar la velocidad del sitio.
Existe una variedad de plugins en el mercado que prometen acelerar tu sitio con un solo clic. Sin embargo, su impacto generalmente se limita a mejorar la puntuación de Lighthouse.
¿Qué cubre este artículo en resumen?
- Razones por las cuales la puntuación de Lighthouse nos da dolores de cabeza, en lugar de medir la velocidad real.
- El comportamiento dudoso del plugin Website Speedy. Un elemento más en el rompecabezas de prácticas cuestionables ya comprobadas de plugins como WP-Optimize y las acciones límite de WP Rocket.
- Nuestros argumentos para explicar por qué creemos que posponer la carga de todo JavaScript es más un truco para Lighthouse score que una optimización real.
Ahora, profundicemos en el problema en su conjunto. Debemos comenzar con el principal culpable, la puntuación de Lighthouse y su percepción por parte de la comunidad no técnica.
¿Velocidad web? La puntuación de Lighthouse no lo es. Punto.
Puntuación de Lighthouse. Una métrica incorrecta que, sin embargo, interesa a todos
Durante la incorporación de clientes en PageSpeed.ONE, varias veces al mes hablo con alguien que quiere “mejorar la puntuación en PageSpeed Insights”. Ese numerito al final. Sí, ya sabes, la puntuación de Lighthouse.
Lo entendemos. Es un único número, agradable a la vista, fácil de compartir con tus colegas por Slack… Pero la puntuación de Lighthouse es el resultado de una prueba sintética de una sola página, en un solo entorno, con una sola configuración. La composición y los pesos pueden cambiar entre versiones de Lighthouse. De igual manera, Lighthouse te mostrará un número diferente en tu computadora que en PageSpeed Insights.
Vamos a repetirlo:
La puntuación de Lighthouse no es una métrica de velocidad web. Es un indicador técnico de diagnóstico.
La velocidad web no surge en Lighthouse. Surge en los teléfonos de tus visitantes, en el wifi del bar, en un antiguo smartphone chino con tres barras de señal, con diez pestañas abiertas y mientras se hace clic en el banner de cookies.
Lighthouse no ve esto. No es un usuario. Lighthouse no hace scroll, no hace clic, no se registra, no abre un filtro de productos ni llega al checkout.
La verdadera velocidad es medida por las métricas Core Web Vitals de la base de datos Chrome UX Report. (Las diferencias entre datos de laboratorio y datos de usuarios se resumen en synth vs. CrUX vs. RUM.)
Un economista diría: "Claro, la ley de Goodhart"
El economista Charles Goodhart escribió una vez una frase que hoy se enseña en las universidades:
"Cuando una métrica se convierte en un objetivo, deja de ser una buena métrica."
Aquí encaja perfectamente. Eso es exactamente lo que ha pasado con la puntuación de Lighthouse.
La gente quiere un número simple. Google lo muestra (en mi opinión, erróneamente) en PageSpeed Insights de manera destacada y colorida.
Los clientes preguntan a las agencias por la puntuación de Lighthouse. Algunas agencias prometen mejorarla. Y luego vienen los plugins que prometen lo mismo, solo que más rápido y sin trabajo.
Una vez que un número de diagnóstico se convierte en un argumento comercial, surge un mercado para mejorarlo. Y una vez que el cálculo se vuelve predecible, alguien comienza a hackear la métrica en lugar de optimizar el sitio web.
Posponer JavaScript no es optimización, sino desplazamiento del problema
Una gran cantidad de plugins "aceleradores" actuales tienen una casilla que puede aumentar la puntuación de Lighthouse en decenas de puntos con cinco segundos de trabajo. Posponen la ejecución de todo JavaScript hasta la primera interacción del usuario. Scroll, clic, toque de pantalla.
¿Por qué funciona esto tan bien para hackear la puntuación de Lighthouse? Lighthouse carga y mide la página. No hace scroll, no hace clic, no toca la pantalla. Por lo tanto, el JavaScript pospuesto nunca se ejecuta en la prueba. Esto, por ejemplo, elimina el Total Blocking Time (TBT) de la medición, una métrica que tiene el mayor peso en la puntuación de Lighthouse. También mejora la velocidad de carga (LCP).
La puntuación de Lighthouse sube, aunque no se ha acelerado nada en el sitio. Para el usuario real, nada ha cambiado. Solo se ha pospuesto. Y a menudo en el peor momento posible.
Ilustración del pospuesto de JavaScript. Los scripts se cargan solo después de la interacción del usuario. Es un problema.
En PageSpeed.ONE hemos optimizado cientos de sitios web, pero nunca hemos recomendado esta técnica a nuestros clientes. ¿Cuáles son los riesgos de posponer todos los JavaScripts?
- Impacto negativo en las interacciones (INP). El usuario llega a la página, lee el título y hace clic. En ese momento, se ejecuta todo el JavaScript pospuesto que se ha acumulado hasta entonces. El hilo principal del navegador se bloquea y el primer clic del usuario espera. Esto puede empeorar la métrica INP, que Google incluye en Core Web Vitals.
- Impacto negativo en los desplazamientos del layout (CLS). Los scripts que renderizan contenido, como carruseles, personalizaciones y otros, se ejecutan tarde si el JavaScript está pospuesto. En la prueba de Lighthouse no se mide ningún desplazamiento porque ese código nunca se ejecutó. Por lo tanto, no ves el valor real de CLS.
- Funcionamiento de la medición. Analíticas, consentimiento de cookies, chat, pruebas A/B y medición de conversiones se posponen junto con todo lo demás. Los datos pueden no coincidir y nadie sabe por qué.
- Desvalorización de la puntuación de Lighthouse. Como hemos mencionado, aunque la puntuación de Lighthouse no es una métrica de velocidad web, es útil para diagnosticar cambios o optimizaciones. Al no incluir ningún JavaScript en la puntuación de Lighthouse, estás midiendo algo completamente diferente al de tu sitio web.
Posponer todos los JavaScripts es una técnica incorrecta. Decidir qué cargar cuándo y en qué orden es un trabajo de ingeniería que requiere conocimiento del sitio web específico. Una simple casilla que pospone todo JavaScript no reemplaza este trabajo.
Y lo más problemático al final. Los desarrolladores de estas funciones generalmente no indican en ninguna parte lo que hará con la puntuación de Lighthouse y cómo puede comprometer la velocidad para los usuarios reales. Si lo hicieran, el cliente entendería que a menudo no está comprando un sitio más rápido, sino solo un mejor número en la prueba.
WP-Optimize: optimizador de puntuaciones de Lighthouse pillado
En 2022, el desarrollador Gijo Varghese publicó una captura de pantalla del plugin WP-Optimize, mostrando que el JavaScript solo se carga en la página si el navegador no es Lighthouse, GTmetrix, headless Chrome o Pingdom.
En la muestra de WP-Optimize se ve el código que intenta detectar Lighthouse, Pingdom o GTmetrix.
El fabricante de este plugin de optimización de WordPress negó públicamente las acusaciones públicamente. Afirmaron que se trata de una configuración específica de "Defer using JavaScript".
Bien, pero ¿por qué existe esta configuración en primer lugar? Volvemos a lo mismo, que tal configuración no es algo que debería hacer un optimizador de velocidad. Consejos generales sobre velocidad en WordPress los tenemos en optimización de WordPress.
WP Rocket: el límite donde termina la optimización
Un problema similar tiene el conocido plugin de optimización WP Rocket. También contiene una función con el inocente nombre de Delay JavaScript Execution. Activas la casilla y todos los scripts esperan hasta que el usuario desplaza la página, hace clic o toca la pantalla.
Alexander Goller ya escribió en 2021 en un artículo donde compara este problema con el escándalo de emisiones de Dieselgate, donde los automóviles Volkswagen cambiaban la configuración del motor durante las pruebas de emisiones para cumplir con los valores requeridos.
¿Cuál es la situación actual? Esta configuración en WP Rocket aún existe. WP Rocket en la página de configuración de posposición de JavaScript solo menciona que es una de las optimizaciones más potentes.
¿Un simple ajuste del plugin? No lo creo. En ningún lugar de la página de funciones WP Rocket menciona lo que esto hará con la puntuación de Lighthouse. Y eso es un problema.
WP Rocket solo menciona las ventajas de la configuración "Delay JS execution", pero no los riesgos.
Así que WP-Optimize y WP Rocket aún venden esta característica, sin advertir que puede aumentar artificialmente la puntuación de Lighthouse y los riesgos adicionales que he mencionado anteriormente.
Website Speedy: ¿mejora de velocidad o de la puntuación de Lighthouse?
Website Speedy es una herramienta para varias plataformas que se describe a sí misma como un "Optimizador Automático de Velocidad de Sitios Web". Uno de nuestros clientes creyó en esta promesa y utilizó este complemento durante meses pensando que estaba mejorando la velocidad del sitio.
Sin embargo, mi colega Michal Matuška descubrió que este complemento también podría simplemente aumentar artificialmente la puntuación de Lighthouse. Juzga por ti mismo.
Website Speedy promete influir en la tasa de rebote y en los rankings de SEO en su página de inicio.
Nuestra investigación sobre Website Speedy
Todo comienza con el propio sitio web, donde se mezcla "impacto en métricas comerciales" y "puntuación de Lighthouse". La velocidad ciertamente tiene impacto en el negocio, pero esto no se puede asociar con una métrica sintética.
El marketing de estas extensiones se basa en el usuario que cree que la puntuación de Lighthouse es la velocidad web. Y hay muchos de ellos.
Los propios autores de Website Speedy lo reconocen en la comunicación con nosotros:
"Nuestros paneles de control y documentación actualmente lideran con puntuaciones de laboratorio, y no explicamos que los resultados de laboratorio pueden diferir de lo que experimentan los usuarios reales."
En el código fuente de Website Speedy encontramos detección de herramientas de prueba
Mi compañero Michal estaba intrigado por el comportamiento de Website Speedy y decidió examinar el código fuente. Este está fuertemente ofuscado, es decir, intencionadamente ilegible.
En el código, después de decodificarlo con varios agentes de IA, encontramos una condición que decide si el JavaScript en el sitio se ejecutará en absoluto. ¿Y qué crees? Sí, no se ejecuta si detecta una prueba de velocidad.
Antes de la publicación, preguntamos a Website Speedy sobre su postura. El fundador Ishan Makkar respondió rápidamente:
"Nuestro script no detecta ni se ramifica en Lighthouse, PageSpeed Insights, GTmetrix, navegadores sin cabeza o cualquier entorno de prueba sintético."
Agregó que revisó personalmente el código en varios sitios web de clientes en vivo y no pudo reproducir nuestros hallazgos. Y nos ofreció una demo limpia con su versión de producción actual para que lo comprobáramos nosotros mismos.
La demo llegó el 18 de agosto. Mi colega Michal Matuška encontró esto en su script:
Fragmento de código de la demo de Website Speedy. Ocultaron el hackeo de nosotros.
La función se llama isAuditBot, es decir, "es un robot de auditoría". La primera línea devuelve false, por lo que en la demo que nos proporcionaron, toda la detección nunca se ejecuta. En el script del sitio de nuestro cliente, no estaba desactivada.
Por cierto, en el resto del código muerto se prueban cadenas que recuerdan notablemente los nombres de las herramientas de medición sintéticas más comunes, como GTmetrix, Lighthouse, PageSpeed, WebPageTest y Headless Chrome.
Como prueba de inocencia, recibimos una instalación en la que la detección de herramientas de prueba fue despojada de la manera más rápida posible.
¿Qué sucedió cuando desactivamos Website Speedy en el sitio del cliente?
Con el cliente, acordamos desactivar temporalmente Website Speedy. Podemos ver con bastante precisión qué pasó con la velocidad cuando el plugin dejó de funcionar. Casi nada.
La puntuación de Lighthouse se deterioró dramáticamente...
Cambio en la puntuación de Lighthouse de la página de inicio después de desactivar Website Speedy.
Después de desactivar Website Speedy, la puntuación de Lighthouse en la página de inicio cambió de 95 puntos a aproximadamente 60. ¿Se deterioró? No, se normalizó.
Sin embargo, la desactivación del plugin no tuvo ningún impacto en los Core Web Vitals:
Evolución de los Core Web Vitals después de desactivar el plugin Website Speedy.
No vemos ningún cambio aparte de otros factores que ocurren en el sitio:
- Una ligera disminución en la velocidad del sitio (LCP) correlaciona con una fluctuación en el TTFB (respuesta del backend).
- El CLS mejora por otro ajuste en el sitio no relacionado temporalmente.
- Cabe recordar que los datos de CrUX de Google muestran un estado acumulativo de 28 días, por lo que los cambios tardan en reflejarse.
Tras la desactivación de Website Speedy, la puntuación de Lighthouse se normalizó en el sitio de nuestro cliente. Pero la velocidad del sitio permaneció sin cambios.
Nuestra metodología y lo que no afirmamos
Para ser justos, deberíamos aclarar nuestra metodología en el caso de nuestra investigación sobre Website Speedy:
- Website Speedy no desea que se publique el código fuente del plugin, por lo que solo publicamos el código fuente de la demo que nos proporcionaron y que difiere del código del plugin.
- Experimentamos en el sitio de uno de nuestros clientes.
- No tenemos datos cuantitativos de múltiples proyectos.
- La desactivación del plugin y nuestra investigación del código se llevaron a cabo en julio de 2026.
- Además de desactivar el plugin, no optimizamos nada más en el sitio.
El plugin Website Speedy mantenía alta la puntuación de Lighthouse en el sitio de nuestro cliente, sin proporcionar un sitio mediblemente más rápido para los usuarios reales.
Un problema está en los desarrolladores de plugins. Pero el mayor problema está en los propios usuarios que pagan por estos plugins.
No deseches Lighthouse. Solo no lo conviertas en un objetivo
Utiliza la herramienta Lighthouse como diagnóstico. Te encontrará una imagen lenta, un paquete de JavaScript innecesariamente grande o un CSS bloqueante. Para estos propósitos, Lighthouse es excelente.
Como métricas comerciales principales para la velocidad del sitio, observa datos de usuarios reales. Core Web Vitals del Chrome UX Report o datos de medición propia (RUM). Monitorea todo el dominio y las plantillas más importantes en monitoring, no una URL una vez cada tanto.
Sabemos que la demanda de una única puntuación para todo es alta, por lo que en PageSpeed.ONE también utilizamos nuestra propia Puntuación PageSpeed.ONE, basada en datos de usuario de las métricas Core Web Vitals.
En nuestra prueba de velocidad web también ponemos la puntuación de Lighthouse en un segundo plano, tanto como sea posible. En su lugar, mostramos la tendencia de Core Web Vitals y una evaluación verbal del estado de la velocidad.
Si deseas verificar un caso similar por ti mismo, el siguiente procedimiento te ayudará.
Cómo verificar un salto sospechoso en la puntuación de Lighthouse
Lista de verificación para detectar posibles hackeos sospechosos de la puntuación de Lighthouse:
- Comienza cuestionando si la puntuación subió sospechosamente rápido después de instalar un plugin o un cambio de configuración.
- Compara las solicitudes de red y el JavaScript ejecutado en Lighthouse con una carga normal en el navegador.
- Verifica el primer scroll, clic, banner de cookies, apertura de filtros, formularios y checkout. Lighthouse no hace scroll ni clic, pero el usuario sí.
- Revisa los datos de usuario (CrUX o RUM) antes y después del cambio. Un laboratorio más verde sin mejora en los datos de usuario no es un triunfo.
- Y sobre todo: deja de comprar plugins que prometen milagrosas aceleraciones con un solo clic.
La próxima vez que alguien te ofrezca un plugin que milagrosamente aumente la puntuación en cinco minutos, pregúntale algo:
¿Qué impacto tendrá en la velocidad real para los usuarios, como Core Web Vitals? Si no puede responder a esta pregunta, ya conoces la respuesta.
Ten sitios rápidos. Y mide la velocidad correctamente.
Mantén el control sobre la velocidad de tu sitio web.
Suscríbete a nuestro boletín. Cada mes seleccionamos novedades sobre la velocidad web para propietarios, marketers y desarrolladores.
Etiquetas:Web PerformanceLighthouse