Avere un sito veloce oggi è davvero importante, è vero. Ma non per Google. Il tuo punto di riferimento deve essere sempre il tuo utente e l’esperienza che vive quando naviga il tuo sito web, la User Experience.
Alcuni test hanno evidenziato che un ritardo di mezzo secondo nella restituzione di una Serp da parte di Google si riflette in una flessione significativa nell’utilizzo del servizio. E’ altrettanto vero però che voi non siete Google e che molto dipende dal tipo di servizio, da quello che gli utenti cercano e dalla volontà che hanno di trovare proprio voi (ad esempio con una ricerca diretta).
La prima cosa da fare è quindi valutare il contesto e cercare di ottimizzare le performance del sito per velocizzare i tempi di caricamento trovando il giusto Mix tra funzioni, usabilità, velocità e comunicazione.
Cosa rallenta il tuo sito?
Tralasciando cose banali come ad esempio immagini non compresse oppure ridimensionate da dimensioni più grandi mi sono accorto che nei siti web in Joomla un ruolo importante nei rallentamenti vede come protagonisti moduli e plugin. OGNI COSA HA UN PESO.
La slideshow in homepage, il bottone like e le immagini a schermo pieno che scorrono con effetto parallasse. Tutto concorre ad aumentare la velocità di caricamento insieme ad altri fattori esterni al sito come la qualità del servizio hosting e la posizione geografica del tuo server.
Pensate al sito web come ad uno zaino da montagna prima di una bella gita in montagna. Se alcune cose sono indispensabili devi anche tenere a mente che ogni cosa nello zaino sarà un peso da trasportare fino in cima alla montagna. Ne vale davvero la pena?
Sorvolando su elementi scontati come le immagini non abbastanza compresse o ridimensionate da risoluzioni molto grandi una delle cose che vi sorprenderà è che in un sito web in Joomla anche plugin e moduli concorrono ad allungare i tempi di caricamento.
Slideshow
La slideshow è un ottimo esempio. Qualche settimana fa ho deciso di eliminarla dai miei siti perchè la ritenevo inutile e mi sono accorto che la velocità di caricamento è passata da 7 a 3 secondi. 4 Secondi per una slideshow (un modulo di Gavick, occhio) che non aveva neanche immagini, ma solo scritte. Wow.
Ma non era solo un problema di caricamento infatti il Carosello, così come il sistema a tab…
Non funziona e Non se la fila nessuno.
La slideshow è un ottimo esempio. Qualche settimana fa ho deciso di eliminarla dai miei siti perchè la ritenevo inutile e mi sono accorto che la velocità di caricamento è passata da 7 a 3 secondi. 4 Secondi per una slideshow (un modulo di Gavick, occhio) che non aveva neanche immagini, ma solo scritte. Wow.
Ma non era solo un problema di caricamento infatti il Carosello, così come il sistema a tab…
Sincronizzazione in tempo reale
Ho analizzato di recente un e-commerce (veramente bello graficamente) che non otteneva risultati, non riusciva a vendere. I tempi di caricamento superavano, per ogni scheda, i 12 secondi… è davvero da matti!
Il problema era causato dal fatto che per ogni query Virtuemart si collegava al server del gestionale, scaricava le informazioni e creava la pagina. La sincronizzazione in tempo reale è interessante ma ha sempre un costo e non solo quello dello sviluppo. Facendo un cron un paio di volte al giorno si potrebbe passare facilmente da 12 a 4-5 secondi.
Plugin di Social Sharing
Anche il plugin per lo share sui social (e in generale il codice Javascript non asincrono) può rendere il tuo sito web un chiodo. Per visualizzare sul tuo sito il numero di share il plugin fa una richiesta a Facebook ed aspetta la risposta. A volte anche 3-4 secondi. Un codice che funziona in modo asincrono velocizzerebbe tutto ma la cosa migliore sarebbe addirittura non mostrare il numero di condivisioni fino a quando l’utente passa sul simbolo di condivisione. A quel punto il sito ha già renderizzatola pagina e un paio di secondi non sono più un problema (se volete un esempio io lo utilizzo proprio ora, in questo blog).
Ma c’e’ anche un aspetto negativo… in questo modo a colpo d’occhio non si vedono subito le condivisioni e quindi quante persone hanno apprezzato il contenuto con potenziali ripercussioni sia sul bounce rate (se a tutti piace sarà interessante, meglio leggerlo) sia sulla possibilità che venga ricondiviso (per il principio di riprova sociale di Cialdini).
BISOGNA FARE QUALCHE TEST e poi scegliere cosa è meglio per i nostri utenti.
L'importanza della qualità del framework e delle estensioni
Quando lavoriamo insieme Stefano Rigazio (autore di un bel libro sulla Seo di Joomla) insiste per farmi utilizzare templates di Yootheme. Il Warp ha meccanismi di compressione ottimi (minify-gzip-datauri) è particolarmente veloce e nelle sue ottimizzazioni per le performance ottiene sempre ottimi risultati. Anche gli altri Framework sono ottimi ma è raro raggiungere quelle performance su GT Metrix. In genere trovate i settaggi di compressione nelle proprietà avanzate del template e dovrete scegliere l’opzione che comprime di più e al tempo stesso non vi incrocchia tutto il sito 🙂
Usare il Warp con il Widgetkit come gallery evita inoltre che possano esserci conflitti negli script e quindi la necessità di utilizzare altri plugin come Easy Jquery per risolverli… ogni cosa ha un peso!
Una buona pratica è utilizzare la cache del browser partendo da un buon htaccess (ne avevo scritto QUI un pò di tempo fa) ma il consiglio migliore che posso offrirvi è quello di togliere tutte le cose che non servono e fare dei test. Ecco qualche ottimo strumento: