Come analizzare le performance di un sito web

È importante capire le performance di un sito, in quanto i siti web con scarse prestazioni allontanano i visitatori e vengono penalizzati dai motori di ricerca. Ecco come analizziamo le performance di un sito web.

Richiesta e obiettivo

Qualche mese fa siamo stati contattati dalla Madrassi, azienda che produce e commercializza tavoli, sedie, poltroncine, sgabelli e complementi per la casa e l’hospitality, in quanto il cliente notava un'eccessiva lentezza nel suo sito e voleva capirne i motivi.

Soluzione

Come prima cosa abbiamo analizzato l'hosting per valutare se ci fossero alcune problematiche legate alle prestazioni. In particolare abbiamo controllato se:

  • l'hosting aveva un certificato SSL valido e all'interno del sito si navigava tramite HTTPS;
  • il server utilizzava una versione aggiornata di PHP;
  • il server utilizzava il protocollo HTTP/2.

Dopo aver effettuato l'analisi abbiamo constatato che era effettivamente presente un certificato SSL valido e la navigazione avveniva tramite HTTPS, però la versione di PHP era obsoleta e non veniva utilizzato il protocollo HTTP/2.

In seguito abbiamo analizzato la velocità delle pagine del sito, attraverso uno dei tanti strumenti presenti nel web. Di solito preferiamo utilizzare GTmetrix, noto software per analisi e benchmark, che a differenza degli altri è molto semplice da usare e fornisce indicazioni precise su come risolvere le varie problematiche.

Ripercorriamo questa esperienza, volta a valutare le prestazioni di un sito web, per seguire il funzionamento dello strumento di analisi. Partiamo con il controllo della homepage:

homepage-gtmetrix

Dopo aver effettuato la scansione, atterriamo in una schermata di riepilogo, in cui sono presenti due parametri di valutazione: GTmetrix Grade e Web Vitals. Il primo è composto da due voci, Performance e Structure, precedute da una lettera, e valuta la velocità di caricamento e l'ottimizzazione delle risorse. La voce Performance è essenzialmente il Lighthouse Performance Score (standard ideato da Google nel 2019 per monitorare i siti) ottenuto con le configurazioni di browser, posizione geografica e hardware, scelti prima di fare la scansione. La voce Structure, invece, è una metrica proprietaria, esclusiva della piattaforma GTmetrix. Questi due punteggi vengono presi in considerazione, nelle percentuali di 70% e 30% rispettivamente, con una media ponderata da cui scaturisce una valutazione della pagina in lettere (dalla A alla F, con A come valore migliore). Nel caso della homepage abbiamo come valutazione F, cioè molto bassa.

I Web Vitals, invece, sono parametri standard, introdotti nel 2020, per misurare la qualità dell’esperienza di navigazione di un utente su un sito web. Consistono in metriche e indicatori legati alla velocità, al tempo di risposta e alla stabilità del layout di un sito web. Anche in questo caso 2 parametri su 3 (quelli con colore rosso) hanno valori scadenti.

Oltre all'homepage, nel nostro caso-esempio abbiamo preso in considerazione e analizzato anche altre pagine del sito, in particolare una pagina di elenco prodotti e una scheda prodotto (considerato che le pagine elenco e prodotti sono molto simili fra loro) e la pagina contatti. Per tutte abbiamo riscontrato valori molto bassi, sia per quanto riguarda il GTmetrix Grade che per i Web Vitals.

Nella schermata di riepilogo messa a disposizione da GTmetrix, troviamo anche una sezione chiamata Structure, in cui sono presenti tutte le criticità del sito, ordinate da quelle con maggior impatto a quelle con minor impatto sulle sue performance:

structure-homepage-gtmetrix

In base a queste indicazioni, abbiamo consigliato di eseguire le seguenti azioni che servono ad aumentare le prestazioni:

  • ridurre il peso delle immagini;
  • attivare la compressione dei contenuti testuali attraverso gzip/deflate da htaccess;
  • ridurre il numero di immagini presenti nelle pagine, dove possibile (ad esempio negli slideshow);
  • togliere file javascript che non servono;
  • aumentare il tempo di cache delle immagini.