agosto 31, 2022

¿Y si WP optimize está haciendo trampa en las pruebas de velocidad de la página?

Cuando tuiteó una captura de pantalla de cómo WP-Optimize está impidiendo explícitamente que se carguen ciertos archivos JavaScript cuando los usuarios prueban sus sitios a través de herramientas populares de pruebas de rendimiento, Gijo Varghese, un desarrollador que se describe a sí mismo como un “entusiasta del rendimiento web”, sorprendió a los usuarios de WordPress de todo el mundo durante el fin de semana.

Los archivos JavaScript sólo se cargan cuando el agente de usuario o el navegador no es Lighthouse, GTmetrix, Headless Chrome o Pingdom, según Varghese. “Puntuaciones altas = sin JS. ¡Pero estos archivos JS se cargan para los usuarios reales!
Según Varghese, se estaba probando la versión gratuita de WP-Optimize, utilizada por más de un millón de sitios web de WordPress. Con la premisa de que “tiene todo lo que necesitas para que tu sitio web sea rápido y esté completamente optimizado”, UpdraftPlus compró WP-Optimize en 2016. A través del plugin gratuito de WordPress.org, también se anuncia una versión comercial.

Un cliente, Adam Lowe, preguntó a UpdraftPlus: “Dime, UpdraftPlus, cómo se supone que voy a seguir confiando en tu empresa con las copias de seguridad de mis clientes cuando utilizas estas técnicas deshonestas y fraudulentas.” Varghese había descubierto que el plugin no cargaba JS para las herramientas de rendimiento.
El propietario de la agencia de WordPress y desarrollador Brian Jackson declaró: “Vaya, todo lo que puedo decir es una horrible decepción”.

Este tipo de engaño es extrañamente similar a la estafa que denunció una persona que contrató a un freelance de rendimiento a través de Upwork que modificó artificialmente los resultados de Google Pagespeed. Otras personas que participaron en la conversación en Twitter lo relacionaron con la crisis de las emisiones de Volkswagen, en la que se descubrió que el fabricante de automóviles sólo encendía sus controles de emisiones durante las pruebas de laboratorio para cumplir con la normativa de la EPA tras una infracción. En comparación con los resultados obtenidos en las pruebas de laboratorio falsificadas, los automóviles en circulación liberaban hasta 40 veces más óxidos de nitrógeno durante la conducción.

Varghese y algunos otros participantes en la conversación llegaron a la conclusión de que por eso los propietarios de sitios web deberían prestar atención a lo que experimentan los visitantes reales en lugar de a los resultados de las pruebas de las herramientas de rendimiento.

Los propietarios de sitios web suelen confiar en las pruebas para identificar problemas y determinar cómo se puede mejorar el rendimiento de un sitio, incluso cuando se centran en las experiencias reales de los usuarios. No prevén que los archivos JS queden ocultos a las herramientas de rendimiento por un plugin. La credibilidad de WP-Optimize se ha visto perjudicada por el engaño en las pruebas.

“Vaya, si es exacto, esto es irresponsable y corto de miras, según el usuario de UpdraftPlus Johnathon William. Y me hace dudar de la fiabilidad de UpdraftPlus, su otro producto, que utilizo para hacer copias de seguridad de varios sitios web de clientes.

Cuando me puse en contacto con UpdraftPlus, su principal desarrollador, David Anderson, declaró que la empresa no estaba al tanto del problema de codificación, pero proporcionó algunos antecedentes. UpdraftPlus discutió recientemente la posibilidad de asociarse con el creador del plugin Fast Velocity Minify para mantener el módulo de minificación dentro de WP-Optimize y ampliar su base de usuarios. Al final, no pudieron llegar a un acuerdo, pero mientras tanto, los creadores de WP-Optimize hicieron un fork y modificaron Fast Velocity Minify bajo la GPL. La empresa ya no emplea a los desarrolladores que contribuyeron a dicha adaptación.

La operación fue etiquetada como “Resolver ‘Añadir código CSS y JS Minification GPL de ‘Fast Velocity Minify’ – Parte 6′” en nuestro propio repositorio de fuentes hace 2,5 años (enero de 2020). “Una fusión temprana de código que fue refactorizada para hacerla más limpia y usar nuestras preferencias de estilo de codificación (pero sin cambiar ninguna funcionalidad). Por lo tanto, parece que el propósito de la fusión de esas líneas era transferir el código refactorizado sin hacer ningún cambio en ese momento.

“El historial de commit (también conocido como la función ‘git blame’) indica que no se han realizado cambios en el código desde que se importó. (El SVN de WordPress también pone a disposición del público el historial de WP Optimize).

Anderson hojeó rápidamente el código y llegó a la conclusión de que su equipo podría tener que revisarlo porque no eran conscientes de las adiciones realizadas dos años antes.

El objetivo, añadió, “al tratar de rastrear esa función a través del código dentro de los plugins”, parece ser que el código que es inútil para los bots no se ejecutará si el visitante del sitio web es un “bot”, dijo.

“Dicho esto, 1) hay muchos bots más obvios que no están incluidos ahí, como el propio Googlebot, y 2) los nombres de los bots parecen estar sustancialmente oscurecidos o borrados, lo cual es extraño (¿por qué? ). Sin duda, me preguntaría por qué es así si esa función se me presentara hoy para examinarla. No se examinó detenidamente línea por línea, ya que, aunque no puedo leer mentalmente 32 meses atrás, se trataba de una larga secuencia de grandes parches. Estábamos seguros de haber elegido un plugin de calidad cuando elegimos FVM, así que, como revisor final, mi enfoque personal fue conseguir que se ajustara a nuestra estructura y estética.
En conclusión, el equipo de desarrollo de UpdraftPlus no conocía este código hasta el fin de semana, cuando se publicó el hilo de Twitter.

Anderson añadió: “Estoy encantado de que nos lo hayan comunicado”. “El comentario del código asociado en un fragmento relacionado en su fuente original afirma que está destinado a evitar solicitudes innecesarias para los bots, pero tras una inspección más detallada que la que tuvo esa línea en su momento, es algo que querremos examinar, ya que parece cuestionable/extraño, y lo haremos asignándolo a un miembro del equipo que es nuestro experto en optimizaciones de JavaScript”, se lee en el mensaje.
Además, Anderson afirmó que el código “se eliminará definitivamente” con una explicación clara e inequívoca de la lógica que hay detrás si los expertos en optimización de JavaScript no son capaces de identificar ningún uso justificable para él.
Los usuarios pueden leer ahora una nota que UpdraftPlus ha publicado en el foro de ayuda del plugin para hacerles saber que el código se está examinando actualmente.
Para ser claros y tranquilizar a los usuarios, Anderson declaró que el código cuestionado no es dañino, ni un virus, ni una infección, ni útil para los hackers, ni nada por el estilo. “Se alega que su única función es esencialmente hacer trampas en las pruebas de velocidad. Si este es el caso, el código será eliminado de WP Optimize en una futura actualización. Damos mucha importancia a la integridad de nuestros productos y a la confianza de nuestros clientes; por lo tanto, sería una tontería por nuestra parte incluir intencionadamente elementos en el código abierto que socavaran esos valores.

Fuente: https://wptavern.com/wp-optimize-plugin-accused-of-cheating-pagespeed-and-other-performance-testing-tools

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram