Table des matières de l'article :
WP-Optimize, l'un des plugins d'amélioration des performances les plus populaires pour les sites Web WordPress , a été accusé de tricherie sur les benchmarks. Gijo Varghèse , un développeur passionné de performances, a trouvé des preuves montrant que WP Optimize désactiver JavaScript lorsqu'il est testé avec des outils d'analyse comparative.
Gijo Varghèse , un développeur qui se définit comme un "passionné de performances web“, inventeur probable de la technique de Delay JS et développeur du plugin d'optimisation FlyngPress, dont nous avons parlé dans le poster sur JS Delay a choqué les utilisateurs de WordPress dans le monde entier au cours du week-end lorsqu'il a tweeté une capture d'écran de la façon dont WP-Optimize empêche prétendument le chargement de fichiers JavaScript sélectionnés lorsque les utilisateurs testent leurs sites via des outils de test de performances populaires.
🚨 Comment "WP Optimize" trompe PageSpeed et d'autres outils de test 👇
Lorsqu'un site est chargé, les fichiers JavaScript ne sont chargés que lorsque le user-agent / navigateur n'est pas Lighthouse / GTmetrix / Headless Chrome / Pingdom.
Pas de JS = scores élevés. Mais pour les vrais utilisateurs, ces fichiers JS sont chargés ! pic.twitter.com/uuOiAOgvoo
- Gijo Varghese (@GijoVarghese_) le 26 août 2022
Lorsqu'un site est chargé, les fichiers JavaScript sont chargés uniquement lorsque l'agent utilisateur / navigateur n'est pas Lighthouse / GTmetrix / Headless Chrome / Pingdom“, a déclaré Varghese. Pas de JS = scores élevés. Mais pour les vrais utilisateurs, ces fichiers JS sont chargés !
Varghese a confirmé qu'il testait la version gratuite de WP-Optimize, qui est utilisée sur plus d'un million de sites WordPress. UpdraftPlus a acquis WP-Optimize en 2016 et déclare que l'instrument "a tout ce dont vous avez besoin pour garder votre site Web rapide et entièrement optimisé". Une version commerciale est également promue via le plugin gratuit hébergé sur WordPress.org.
Wow, niveau de déception impressionnant. Les utilisateurs se demanderont pourquoi leur classement ne s'améliore pas, sans se rendre compte que Google n'utilise pas Lighthouse, mais plutôt CrUX, pour son indexation. 🤦
- Erick Frappeur (@ethitter) le 27 août 2022
"Dites-moi, UpdraftPlus, comment dois-je continuer à faire confiance à votre entreprise avec les sauvegardes de mes clients lorsque vous utilisez ces pratiques trompeuses et frauduleuses ?A déclaré le client Adam Lowe en réponse à la découverte par Varghese du plug-in ne chargeant pas JS pour les outils de performance.
"Wow, tout ce que je peux dire, c'est une déception totale», a déclaré le propriétaire et développeur de l'agence WordPress Brian Jackson.
Ce type de tromperie présumée ressemble étrangement à une arnaque signalée par quelqu'un qui a embauché un pigiste en performance sur Upwork qui a artificiellement manipulé les résultats de Google Pagespeed. D'autres participants à la discussion sur Twitter l'ont comparé au scandale des émissions de Volkswagen, dans lequel le constructeur automobile a été trouvé en train d'activer ses contrôles d'émissions uniquement lors de tests en laboratoire pour répondre aux exigences de l'EPA après une infraction. Les véhicules sur la route émettaient jusqu'à 40 fois plus d'oxydes d'azote pendant la conduite, par rapport à leurs performances lors de tests de laboratoire truqués.
Wp Optimize ne reflète pas l'expérience utilisateur réelle
Varghese et plusieurs autres participants à la conversation ont conclu que c'est pourquoi les propriétaires de sites devraient se concentrer sur ce que les utilisateurs du monde réel vivent, plutôt que sur les résultats des tests d'outils de performance.
Même lorsqu'ils se concentrent sur les expériences utilisateur réelles, les propriétaires de sites s'appuient souvent sur des tests pour diagnostiquer les problèmes et voir comment ils peuvent améliorer les performances d'un site. Ils ne s'attendent pas à ce qu'un plug-in cache les fichiers JS aux outils de performance. Tricher sur les tests a érodé la crédibilité de WP-Optimize.
"Oh. Si c'est vrai, c'est aussi myope qu'impardonnable", A déclaré Johnathon William, client UpdraftPlus. "Et je me demande si je peux faire confiance à leur autre produit, UpdraftPlus, que j'utilise pour sauvegarder plusieurs sites clients" .
J'ai contacté UpdraftPlus et le développeur principal David Anderson a déclaré que la société n'était pas au courant du problème avec le code, mais a signalé une partie de l'arrière-plan. UpdraftPlus a été brièvement en pourparlers avec l'auteur du plugin Fast Velocity Minify sur l'union des forces, dans laquelle il conserverait le module de minification dans WP-Optimize et gagnerait plus d'utilisateurs. Ils n'ont finalement pas réussi à parvenir à un accord, mais pendant ce temps, les développeurs de WP-Optimize ont bifurqué et adapté Fast Velocity Minify sous la GPL. Les développeurs qui ont travaillé sur cette adaptation ne font plus partie de l'entreprise.
"Dans le commit de notre référentiel source, il y a 2,5 ans (janvier 2020), le commit était étiqueté" Résoudre "Ajouter le code CSS et JS Minification GPL de" Fast Velocity Minify "- Partie 6 "", a déclaré Anderson. "Fait partie d'une série de fusions de code initiales qui ont été refactorisées pour être plus propres et utiliser nos préférences de style de codage (mais sans modifier aucune fonctionnalité). L'intention apparente de fusionner ces lignes était donc de ramener le code refactorisé sans apporter de modifications à ce stade.
« D'après l'historique des commits (c'est-à-dire la fonction 'git fault'), il n'y a eu aucune modification de ce code depuis lors, c'est-à-dire qu'il est tel qu'importé. (L'historique de WP Optimize est également public dans WordPress SVN). "
Après un examen rapide du code, Anderson a conclu que son équipe pourrait avoir besoin de le revoir, car ils n'étaient pas au courant de ce qui avait été ajouté il y a deux ans.
Alors que j'essaie de tracer cette fonction à travers le code dans les plugins, l'intention une prima vista il semble que si le visiteur du site Web est un 'bot', le code inutile aux bots ne sera pas exécuté
Il a dit.
"Cependant, cela dit, 1) les noms des bots semblent être fortement obscurcis / expurgés, ce qui est étrange (pourquoi ?) Et 2) il y a beaucoup de bots plus évidents qui ne sont pas répertoriés ici, comme le Googlebot lui-même. Si cette fonctionnalité m'avait été soumise pour examen aujourd'hui, je me demanderais certainement pourquoi c'est le cas. Cela ne me dérange pas de relire il y a 32 mois, mais je me souviens que c'était une longue série de bons correctifs, donc ça ne se passait pas de près ligne par ligne. Nous savions que nous avions identifié FVM comme un bon plug-in et notre objectif principal était de l'adapter à notre structure et à notre style, et ce sont les choses que je regardais personnellement en tant que critique final. "
En résumé, l'équipe de développement d'UpdraftPlus n'était pas au courant de ce code jusqu'à ce que le fil Twitter soit publié au cours du week-end.
"Je suis certainement heureux de l'avoir porté à nos intentions", a déclaré Anderson. "Le code associé commente un extrait connexe dans sa source d'origine qui est destiné à empêcher les demandes inutiles de bot, mais après un examen plus approfondi de ce que cette ligne a obtenu à l'époque, c'est quelque chose que nous aimerions examiner, car cela semble discutable. / bizarre, et nous le ferons en l'attribuant à un membre de l'équipe qui est notre expert en optimisation JavaScript ».
Anderson a également déclaré que si les experts en optimisation JavaScript ne parvenaient pas à trouver un objectif légitime au code, il "serait définitivement supprimé", avec une divulgation claire et sans ambiguïté du raisonnement qui le sous-tend.
Pendant ce temps, UpdraftPlus a publié un avis dans le forum de support du plugin pour informer les utilisateurs que le code est actuellement à l'étude.
Pour être clair et rassurer les utilisateurs : le code en question n'est pas dangereux, un virus, une infection, utile pour les pirates ou quelque chose comme ça », a déclaré Anderson. "L'accusation est que son seul but existant est en fait de tricher aux tests de vitesse. Ce code, dans ce cas, n'appartient pas à WP Optimize et nous le supprimerons avec une nouvelle version. L'intégrité de nos produits et la confiance de nos clients sont essentielles pour nous (et mettre délibérément les choses en compromettant le code open source, ce qui est, franchement, une chose stupide à faire).
Le code en question n'est pas le nôtre est la réponse de Wp Optimize
Le développeur principal de WP-Optimize, David Anderson, a donné à WPTavern une explication intéressante. Selon Anderson, le code qui désactive les fichiers JS lorsqu'il détecte des outils de benchmarking remonte à 2,5 ans, lorsque l'entreprise envisageait de s'associer au plugin Fast Velocity Minify.
Dans la période de décision, les développeurs de WP-Optimize ont bifurqué et adapté Rapidité Rapide Minify . Au final, ils n'arrivaient pas à s'entendre. C'est à ce moment qu'Anderson pense que le code est mélangé aux codes WP-Optimize. Ces codes n'ont pas été touchés depuis 2,5 ans, et les développeurs n'étaient pas au courant de ces lignes.
David Anderson a ajouté que si l'optimiseur JavaScript ne trouve pas de but pour le code, il le supprimera définitivement. David Anderson, développeur de WP-Optimize a déclaré ;
"Le code en question n'est pas dangereux, un virus, une infection, utile pour les pirates, ou quelque chose comme ça. L'accusation est que son seul but existant est de tricher aux tests de vitesse. Ce code, dans ce cas, n'appartient pas à WP Optimize et nous le supprimerons avec une nouvelle version. L'intégrité de nos produits et la confiance de nos clients sont essentielles pour nous (et coder délibérément des choses open source qui compromet ce qui est, franchement, une chose stupide à faire). "
Nos conseils pour optimiser Vitaux Web de base
Pour notre part, nous écartons l'intérêt lorsque la conversation stérile et les problèmes soulevés, rappelant à nos lecteurs que les données de type Labs, indiquent mais ne prouvent pas. Ce qui compte, ce sont les données réelles sur l'expérience utilisateur (données CRUX) et les scores Web Vitals de base associés qui détermineront les récompenses ou les pénalités de Google.
Les données de champ sont déterminées en surveillant tous les utilisateurs qui visitent une page et en mesurant un certain ensemble de mesures de performance pour chacune des expériences individuelles de ces utilisateurs. Étant donné que les données de terrain sont basées sur les visites d'utilisateurs réels, elles reflètent les appareils réels, les conditions du réseau et les emplacements géographiques de vos utilisateurs.
Nous vous renvoyons donc à cette lecture : Vitaux Web de base et les données CRUX pour comprendre comment tricher et tromper les tests de vitesse et de performance tels que Google Pagespeed Insight ne sont d'aucune utilité dans la vraie vie et que vous pouvez dépasser les exigences de Vitaux Web de base même avec des scores dans la zone orange et pas forcément dans la zone verte (au-dessus de 90) comme vous pouvez le voir par exemple sur l'image suivante d'un de nos clients qui avec un score de 78, il dépasse toujours la note Essential Web Signals de Google.
Si vous avez un site web développé sur des CMS peuplés comme WordPress par exemple et que vous évaluez un service d'optimisation des performances pouvant apporter une réelle valeur ajoutée et une réelle amélioration de la rapidité de votre site et de vos valeurs Vitaux Web de base, N'hésitez pas à nous contacter.