Indice dei contenuti dell'articolo:
WP-Optimize, uno dei plugin per il miglioramento delle prestazioni più popolari per i siti Web WordPress , è stato accusato di barare sui benchmark. Gijo Varghese , uno sviluppatore appassionato di prestazioni, ha trovato alcune prove che mostrano che WP-Optimize disabilita JavaScript quando viene testato con strumenti di benchmarking.
Gijo Varghese , uno sviluppatore che si definisce un “appassionato di prestazioni web“, probabile inventore della tecnica del Delay JS e sviluppatore del plugin di ottimizzazione FlyngPress, di cui abbiamo parlato nel post sul Delay dei JS ha scioccato gli utenti di WordPress in tutto il mondo durante il fine settimana quando ha twittato uno screenshot di come WP-Optimize stia presumibilmente impedendo il caricamento di file JavaScript selezionati quando gli utenti testano i loro siti attraverso prestazioni popolari strumenti di prova.
🚨 How "WP Optimize" is cheating PageSpeed and other testing tools 👇
When a site is loaded, the JavaScript files are loaded only when the user-agent/browser is not Lighthouse/GTmetrix/Headless Chrome/Pingdom.
No JS = high scores. But for real users, these JS files are loaded! pic.twitter.com/uuOiAOgvoo
— Gijo Varghese (@GijoVarghese_) August 26, 2022
Quando un sito viene caricato, i file JavaScript vengono caricati solo quando lo user-agent/browser non è Lighthouse/GTmetrix/Headless Chrome/Pingdom“, ha affermato Varghese. No JS = punteggi alti. Ma per gli utenti reali, questi file JS vengono caricati!
Varghese ha confermato che stava testando la versione gratuita di WP-Optimize, utilizzata su oltre un milione di siti WordPress. UpdraftPlus ha acquisito WP-Optimize nel 2016 e afferma che lo strumento “ha tutto ciò di cui hai bisogno per mantenere il tuo sito web veloce e completamente ottimizzato“. Una versione commerciale viene promossa anche tramite il plug-in gratuito ospitato su WordPress.org.
Wow, impressive level of deception. Users will wonder why their rankings don't improve, not realizing that Google doesn't use Lighthouse, but rather CrUX, for its indexing. 🤦
— Erick Hitter (@ethitter) August 27, 2022
“Dimmi, UpdraftPlus, come dovrei continuare a fidarmi della tua azienda con i backup dei miei clienti quando usi queste pratiche ingannevoli e fraudolente?” ha affermato un cliente Adam Lowe in risposta alla scoperta da parte di Varghese del plug-in che non carica JS per gli strumenti per le prestazioni.
“Wow, tutto quello che posso dire è che totale delusione“, ha detto il proprietario e sviluppatore dell’agenzia WordPress Brian Jackson.
Questo tipo di presunto inganno è stranamente simile a una truffa segnalata da qualcuno che ha ingaggiato un freelance di prestazioni su Upwork che ha manipolato artificialmente i risultati di Google Pagespeed. Altri partecipanti alla discussione su Twitter lo hanno paragonato allo scandalo delle emissioni di Volkswagen, in cui la casa automobilistica è stata trovata ad attivare i suoi controlli sulle emissioni solo durante i test di laboratorio per soddisfare i requisiti dell’EPA dopo una violazione. I veicoli su strada hanno emesso fino a 40 volte più ossidi di azoto durante la guida, rispetto a come si sono comportati nei test di laboratorio truccati.
Wp Optimize non riflette la reale esperienza utente
Varghese e molti altri partecipanti alla conversazione hanno concluso che questo è il motivo per cui i proprietari di siti dovrebbero concentrarsi su ciò che stanno vivendo gli utenti del mondo reale, anziché sui punteggi dei test degli strumenti di performance.
Anche quando si concentrano sulle esperienze degli utenti reali, i proprietari dei siti spesso si affidano ai test per diagnosticare i problemi e vedere come è possibile migliorare le prestazioni di un sito. Non si aspettano che un plug-in nasconda i file JS dagli strumenti per le prestazioni. Ingannare i test ha eroso la credibilità di WP-Optimize.
“Oh. Se è vero, questo è tanto miope quanto imperdonabile“, ha affermato Johnathon William, cliente di UpdraftPlus . “E mi chiedo se posso fidarmi del loro altro prodotto, UpdraftPlus, che utilizzo per eseguire il backup di diversi siti dei clienti“.
Ho contattato UpdraftPlus e lo sviluppatore principale David Anderson ha detto che la società non era a conoscenza del problema con il codice, ma ha riferito parte del retroscena. UpdraftPlus è stato brevemente in trattative con l’autore del plug- in Fast Velocity Minify sulla possibilità di unire le forze, in cui manterrebbe il modulo di minimizzazione all’interno di WP-Optimize e guadagnerebbe più utenti. Alla fine non sono riusciti a raggiungere un accordo, ma durante quel periodo gli sviluppatori di WP-Optimize hanno biforcato e adattato Fast Velocity Minify sotto GPL. Gli sviluppatori che hanno lavorato a quell’adattamento non sono più con l’azienda.
“Nel commit nel nostro repository di origine, 2,5 anni fa (gennaio 2020), il commit era etichettato ‘Resolve’ Add CSS and JS Minification GPL code from ‘Fast Velocity Minify’ – Part 6′”, ha detto Anderson. “Parte di una serie di fusioni iniziali di codice che è stato rifattorizzato per essere più pulito e utilizzare le nostre preferenze di stile di codifica (ma non modificare alcuna funzionalità). Quindi l’apparente intenzione dell’unione di quelle righe era di riportare il codice rifattorizzato senza apportare modifiche in quella fase.
“Secondo la cronologia del commit (cioè la funzione ‘git colpa’) non sono state apportate modifiche a quel codice da allora, cioè è come importato. (La cronologia di WP Optimize è pubblica anche in WordPress SVN).”
Dopo un esame superficiale del codice, Anderson ha concluso che il suo team potrebbe aver bisogno di riesaminarlo, poiché non era a conoscenza di ciò che era stato aggiunto due anni fa.
Mentre provo a tracciare quella funzione attraverso il codice all’interno dei plug-in, l’intenzione a prima vista sembra essere che se il visitatore del sito Web è un ‘bot’, il codice che è inutile per i bot non verrà eseguito
Egli ha detto.
“Tuttavia, detto questo, 1) i nomi dei bot sembrano essere fortemente offuscati/redatti, il che è strano (perché?) e 2) ci sono molti bot più ovvi che non sono elencati lì, come il Googlebot stesso. Se quella funzione fosse stata sottoposta a me per la revisione oggi, mi chiederei sicuramente perché è così. Non mi dispiace rileggermi 32 mesi fa, ma ricordo che si trattava di una lunga serie di grandi patch, quindi non veniva analizzata da vicino riga per riga. Sapevamo di aver identificato FVM come un buon plug-in e il nostro obiettivo principale era adattarlo alla nostra struttura e al nostro stile, e queste erano le cose che stavo guardando personalmente come revisore finale”.
In sintesi, il team di sviluppo di UpdraftPlus non era a conoscenza di questo codice fino a quando il thread di Twitter non è stato pubblicato durante il fine settimana.
“Sono certamente felice di averlo portato alle nostre intenzioni”, ha detto Anderson. “Il codice associato commenta un frammento correlato nella sua fonte originale che ha lo scopo di prevenire richieste non necessarie di bot, ma a un esame più attento di quello che quella riga ha ottenuto in quel momento, è qualcosa che vorremmo esaminare, poiché sembra discutibile/strano, e lo faremo assegnandolo a un membro del team che è il nostro esperto di ottimizzazioni JavaScript”.
Anderson ha anche affermato che se gli esperti di ottimizzazione JavaScript non riescono a trovare uno scopo legittimo per il codice, “verrà sicuramente rimosso”, con una divulgazione chiara e inequivocabile per il ragionamento alla base.
Nel frattempo, UpdraftPlus ha pubblicato un avviso nel forum di supporto del plugin per informare gli utenti che il codice è attualmente sotto inchiesta.
Per essere chiari e tranquillizzare gli utenti: il codice in questione non è pericoloso, un virus, un’infezione, utile agli hacker o qualcosa del genere”, ha affermato Anderson. “L’accusa è che il suo unico scopo nell’esistere sia effettivamente quello di imbrogliare i test di velocità. Tale codice, in tal caso, non appartiene a WP Optimize e lo rimuoveremo con una nuova versione. L’integrità dei nostri prodotti e la fiducia dei nostri clienti sono essenziali per noi (e inserire deliberatamente cose in codice open source che compromette che è, francamente, una cosa stupida da fare).
Il codice in questione non è nostro è la risposta di Wp Optimize
Lo sviluppatore principale di WP-Optimize, David Anderson, ha fornito a WPTavern un’interessante spiegazione. Secondo Anderson, i codici che disabilitano i file JS quando rileva gli strumenti di benchmarking risalgono a 2,5 anni fa, quando l’azienda stava pensando di unire le forze con il plug-in Fast Velocity Minify.
Nel periodo di decisione, gli sviluppatori di WP-Optimize hanno biforcato e adattato Fast Velocity Minify . Alla fine, non potevano essere d’accordo. Questo è quando Anderson pensa che il codice sia mescolato nei codici WP-Optimize. Quei codici non sono stati toccati per 2,5 anni e gli sviluppatori non erano a conoscenza di quelle righe.
David Anderson ha aggiunto che se l’esperto di ottimizzazione JavaScript non riesce a trovare uno scopo per il codice, lo rimuoverà sicuramente. David Anderson, sviluppatore di WP-Optimize ha affermato;
« Il codice in questione non è pericoloso, un virus, un’infezione, utile agli hacker, o qualcosa del genere. L’accusa è che il suo unico scopo nell’esistenza è effettivamente di imbrogliare i test di velocità. Tale codice, in tal caso, non appartiene a WP Optimize e lo rimuoveremo con una nuova versione. L’integrità dei nostri prodotti e la fiducia dei nostri clienti sono essenziali per noi (e mettere deliberatamente cose in codice open source che compromette che è, francamente, una cosa stupida da fare). »
I nostri consigli in merito all’ottimizzazione dei Core Web Vitals
Da parte nostra liquidiamo l’interessante quando sterile conversazione e problematica sollevata, ricordando ai nostri lettori che i dati di tipo Labs, indicano ma non provano. Ciò che conta sono i dati delle reali esperienza utente (dati CRUX) e dei relativi punteggi core web vitals che determinaranno premi o penalizzazioni da parte di Google.
I dati sul campo vengono determinati monitorando tutti gli utenti che visitano una pagina e misurando un determinato insieme di metriche delle prestazioni per ciascuna delle esperienze individuali di quegli utenti. Poiché i dati sul campo si basano sulle visite degli utenti reali, riflettono i dispositivi effettivi, le condizioni di rete e le posizioni geografiche dei tuoi utenti.
Vi rimandiamo pertanto a questa lettura : Core Web Vitals e dati CRUX per capire come barare ed ingannare i test di velocità e performance come Google Pagespeed Insight non servono nella vita reale e che si può superare i requisiti dei Core Web Vitals anche con punteggi in zona arancio e non necessariamente in zona verde (superiori a 90) come è possibile ad esempio vedere dall’immagine seguente di un nostro cliente che con un punteggio di 78, supera comunque la valutazione dei segnali Web Essenziali di Google.
Se hai un sito Web sviluppato su CMS popolati come WordPress ad esempio e stai valutando un servizio di ottimizzazione performance che possa portare realmente valore aggiunto ed un reale miglioramento della velocità del tuo sito e dei valori Core Web Vitals, contattaci pure.