Indice dei contenuti dell'articolo:
Se fino al 2019 utilizzavamo entusiasti in alcuni casi mod_pagespeed per Apache ed il rispettivo ngx_pagespeed per NGINX e ci sentivamo anche in vena di raccomandarlo come abbiamo fatto in questo articolo mod_pagespeed e ngx_pagespeed. I moduli Google per Webserver Apache e NGINX per migliorare le performance. , oggi più che mai è arrivata l’ora di annunciare al mondo che è dal 2020 almeno che non ha più senso utilizzare un progetto ormai abbandonato, morto e sepolto.
Ma torniamo brevemente sull’argomento già precedentemente trattato andando a spiegare seppur questa volta in maniera più approssimata cos’è mod_pagespeed e quali fossero gli obiettivi iniziali voluti da Google stessa.
Cos’è mod_pagespeed ?
mod_pagespeed è un modulo Apache creato da Google per migliorare le prestazioni delle pagine web. Il modulo utilizza diverse tecniche per ottimizzare il contenuto della pagina, come la compressione di immagini e la minificazione di CSS e JavaScript, al fine di ridurre il tempo di caricamento della pagina.
Google ha creato mod_pagespeed per aiutare i webmaster a migliorare la velocità delle loro pagine web. La velocità di caricamento delle pagine è un fattore importante per l’esperienza utente e per il posizionamento sui motori di ricerca.
mod_pagespeed è stato lanciato per la prima volta nel 2010 come progetto open source e ha ricevuto numerose funzionalità nel corso degli anni. Ad esempio, è in grado di ottimizzare le immagini in modo da ridurre il loro peso senza compromettere la qualità, di generare automaticamente immagini responsive per ottimizzare la visualizzazione su dispositivi mobili e di minificare il codice CSS e JavaScript per ridurre la quantità di dati da scaricare.
Nel 2018, Google ha annunciato che avrebbe interrotto lo sviluppo attivo di mod_pagespeed, ma ha continuato a fornire supporto per la versione esistente fino al 2021. Dopo di che il progetto è stato abbandonato ufficialmente e non è più disponibile alcun supporto o aggiornamento da parte di Google.
Cos’è ngx_pagespeed ?
ngx_pagespeed è un porting di mod_pagespeed per il server web NGINX. Si tratta di un modulo che consente agli amministratori di sistema di utilizzare le stesse funzionalità di ottimizzazione delle prestazioni di mod_pagespeed su un server NGINX.
Il progetto ngx_pagespeed è stato creato da un gruppo di sviluppatori indipendenti che hanno voluto portare le funzionalità di mod_pagespeed su un server web diverso da Apache. Il modulo ngx_pagespeed è stato rilasciato per la prima volta nel 2012 e ha ricevuto costantemente aggiornamenti e nuove funzionalità nel corso degli anni.
Come mod_pagespeed, ngx_pagespeed utilizza praticamente le stesse tecniche per ottimizzare le prestazioni delle pagine web, come la compressione di immagini, la minificazione di CSS e JavaScript, e l’ottimizzazione delle richieste del browser. Inoltre, ngx_pagespeed consente agli amministratori di sistema di configurare in modo granulare le ottimizzazioni da applicare alle pagine web, consentendo loro di adattare le prestazioni alle esigenze specifiche del proprio sito web.
Anche se ngx_pagespeed è stato creato da sviluppatori indipendenti, ha ricevuto il supporto da Google fino al 2018, quando Google ha annunciato di aver interrotto lo sviluppo attivo di mod_pagespeed. Dopo di che, anche ngx_pagespeed è stato abbandonato e non ci sono più aggiornamenti o supporto ufficiali disponibili.
Dove viene ancora utilizzato mod_pagespeed ?
Molti pannelli di controllo come Plesk o cPanel offrono mod_pagespeed come una funzionalità per migliorare la velocità e il punteggio pagespeed dei siti web. Questi pannelli di controllo consentono agli amministratori di sistema di attivare e configurare facilmente mod_pagespeed per ottimizzare le prestazioni delle loro pagine web.
In Plesk, mod_pagespeed è disponibile come componente aggiuntivo o meglio come estensione aggiuntiva che può essere facilmente installato e configurato dall’amministratore del server. Una volta installato, Plesk offre un’interfaccia grafica per configurare le impostazioni di mod_pagespeed, come la compressione di immagini, la minificazione di CSS e JavaScript, e l’ottimizzazione delle richieste del browser.
Anche cPanel offre mod_pagespeed come un’opzione di ottimizzazione delle prestazioni del server. Come in Plesk, mod_pagespeed può essere facilmente attivato e configurato dall’amministratore del server. cPanel offre anche un’interfaccia grafica per configurare le impostazioni di mod_pagespeed e visualizzare i risultati delle ottimizzazioni delle prestazioni.
Anche se mod_pagespeed non è più sviluppato attivamente da Google, i pannelli di controllo Plesk e cPanel continuano ad utilizzarlo come feature per migliorare la velocità e il punteggio pagespeed dei siti web. Tuttavia, essendo un progetto abbandonato, non ci sono più aggiornamenti o supporto ufficiale disponibile per questi strumenti.
Perchè ancora si utilizza mod_pagespeed o ngx_pagespeed ?
L’Information Technology è una branca in rapida evoluzione, e ciò che è considerato corretto oggi potrebbe non esserlo domani. La tecnologia e il modo in cui gli utenti interagiscono con essa cambiano continuamente, e gli sviluppatori e gli amministratori di sistema devono essere in grado di adattarsi a questi cambiamenti per garantire che i loro siti web siano sempre performanti e soddisfino le esigenze degli utenti.
Spesso quando si fanno ricerche in rete per ottimizzare un sito web, ci si imbattono in vecchi post, articoli e guide che fanno riferimento ad un periodo ben specifico, il lettore non è in grado di comprendere il contesto di ciò che legge e pensa erroneamente che quella guida di ottimizzazione che consiglia mod_pagespeed sia ancora in auge e pertanto si prestano a seguire tutorial obsoleti che non solo non portano vantaggi in termini di performance, ma sono addirittura dannosi.
Google, come leader del settore dei motori di ricerca, ha sviluppato nel corso degli anni diverse metriche e punteggi per valutare la qualità e le prestazioni dei siti web. Ad esempio, Google ha introdotto i Google Core Web Vitals, un insieme di metriche che valutano la velocità, l’interattività e la stabilità visiva delle pagine web, e il punteggio PageSpeed Insight, che valuta la velocità e le prestazioni delle pagine web su dispositivi mobili e desktop.
Questi cambiamenti nelle metriche di valutazione della qualità dei siti web hanno avuto un impatto significativo sullo strumento mod_pagespeed creato da Google. Inizialmente progettato per migliorare le prestazioni delle pagine web utilizzando diverse tecniche di ottimizzazione, mod_pagespeed è rapidamente diventato obsoleto a causa dell’evoluzione delle metriche di valutazione di Google. In alcuni casi, l’utilizzo di mod_pagespeed può addirittura avere un impatto negativo sulle prestazioni delle pagine web, poiché le ottimizzazioni applicate dallo strumento possono non essere più in linea con le attuali linee guida di Google.
mod_pagespeed e Time To First Byte.
Il Time To First Byte (TTFB) è una metrica che misura il tempo trascorso tra la richiesta di una pagina web da parte del browser e la ricezione del primo byte di dati dal server. È considerato un indicatore della velocità del server e della latenza della rete. Un TTFB alto indica un server lento o una connessione di rete lenta, mentre un TTFB basso indica un server veloce e una connessione di rete veloce.
Il TTFB è uno dei parametri importanti nei Google Core Web Vitals, un insieme di metriche introdotte da Google per valutare la velocità, l’interattività e la stabilità visiva delle pagine web. Queste metriche sono importanti perché Google utilizza queste informazioni per valutare la qualità dei siti web e per determinare il loro posizionamento nei risultati di ricerca. Un TTFB alto può influire negativamente sull’esperienza utente e sulla visibilità del sito web sui motori di ricerca.
Google stessa raccomanda vivamente un TTFB di 200 millisecondi massimo, ovviamente un valore ottimale è sicuramente inferiore ai 100 millisecondi e come vedremo, mod_pagespeed non aiuta ad abbassare il TTFB come molti ancora credono.
Qualcuno in rete, aveva già notato la problematica e ne aveva anche aperto discussioni su GitHub, ma a quel tempo ci si focalizzava quasi esclusivamente sui punteggi Pagespeed con metriche parecchio discutibili e che non tenevano conto dell’importanza del TTFB.
Potete seguire il post originale (di cui riporto lo screen di seguito) a questo link: https://github.com/apache/incubator-pagespeed-mod/issues/1293
Un’altra avvisaglia compariva in un thread su StackOverflow in cui si menzionava senza troppi giri di parole che mod_pagespeed stesse aumentando il TTFB. Potete leggere il thread originale seppur inconcludente a questo link : https://stackoverflow.com/questions/24099190/google-nginx-pagespeed-with-varnish-increases-ttfb
Non è sicuramente facile intuire e comprendere che sebbene mod_pagespeed sia un modulo Apache progettato per migliorare le prestazioni delle pagine web utilizzando diverse tecniche di ottimizzazione, può causare un aumento del Time To First Byte (TTFB) di una pagina web a causa della latenza introdotta dalle sue operazioni di ottimizzazione perché esegue operazioni di ottimizzazione come la compressione di immagini, la minificazione di CSS e JavaScript, e l’ottimizzazione delle richieste del browser. Queste operazioni richiedono tempo per essere eseguite, il che può causare un aumento del TTFB.
Inoltre, mod_pagespeed utilizza un algoritmo di caching per memorizzare in cache le pagine web ottimizzate e ridurre la latenza delle richieste successive. Tuttavia, se l’algoritmo di caching non è configurato correttamente, può causare un aumento del TTFB perché il server deve prima recuperare la pagina web dalla cache prima di inviarla al browser.
Un esempio reale di come mod_pagespeed rallenti un sito WordPress.
Andiamo a vedere ad esempio un sito come lavocedeltrentino.it una nota testata giornalistica che ha pensato di poter risolvere i problemi di performance del loro sito passando dal nostro hosting a quello di un altro fornitore improvvisato che ha causato un degradamento delle prestazioni di questo tenore.
Dopo qualche tempo, il sito da un Apache nudo e crudo su Plesk, hanno pensato fosse opportuno aggiungere mod_pagespeed come tecnologia a valore aggiunto per migliorare la velocità del sito, ed in effetti il miglioramento c’è stato se si considera che comunque mod_pagespeed dispone a tutti gli effetti di una Full Page Cache interna che in casi di lentezza estrema può migliorare anche sensibilmente le performance come vediamo dallo screen qui sotto, arrivando a poco più di tre secondi, con una situazione incresciosa iniziale di circa il doppio.
Se vediamo nel dettaglio la risposta di curl, possiamo vedere come utilizzi mod_pagespeed su Plesk e che da una connessione Fastweb su Fibra misto rame ha un TTFB di 1,38 secondi, quando nello screen successivo testando un sito che utilizza il loro stesso identico tema (Zox News) come il corrieredellacitta.com il TTFB è di appena 0,2 secondi ovvero circa 7 volte più veloce.
Se prendiamo in esame anche il TTFB misurato a livello europeo da SpeedVitals, vediamo ancora più dettagliatamente come mod_pagespeed faccia realmente pena in termini di performance andando ad aumentare in modo imbarazzante il TTFB con punteggi tutti marcati in rosso, a differenza di quelli de ilcorrieredellacitta.com che sono nella norma.
Cosa fare se si sta utilizzando mod_pagespeed e come rimpiazzarlo?
Se si utilizza mod_pagespeed o ngx_pagespeed, è assolutamente consigliato rimuovere l’estensione con urgenza. Questi moduli, benché inizialmente progettati per migliorare le prestazioni delle pagine web, possono causare problemi di prestazioni a causa della loro obsolescenza e delle nuove linee guida di Google.
Il motivo principale per rimuovere queste estensioni è che molte delle operazioni di ottimizzazione effettuate da mod_pagespeed o ngx_pagespeed possono essere effettuate più efficacemente e in modo più granulare a livello applicativo, ad esempio tramite l’uso di plugin dedicati come W3 Total Cache, Autoptimize, Wp Rocket o combinazioni di questi strumenti qualora ci trovassimo ad avere a che fare con un’installazione WordPress.
Ad esempio, l’ottimizzazione dei JS, minifizzazione, compressione, critical css, rimozione del codice non utilizzato e delivery delle immagini webp possono essere effettuati in modo più preciso e personalizzabile tramite l’uso di questi plugin.
Rimuovere mod_pagespeed o ngx_pagespeed dal proprio server, e utilizzare questi plugin per ottimizzare le prestazioni delle pagine web, permetterà di adattarsi alle attuali linee guida di Google e di ottenere un controllo più preciso e granulare sull’ottimizzazione delle prestazioni delle proprie pagine web.