Pubblicato il - Aggiornato il

Come scegliere i plugin per velocizzare WordPress?

Web Performance

Come scegliere i plugin per velocizzare WordPress?

Sempre più spesso mi trovo a parlare con clienti che non sanno come scegliere i plugin per velocizzare il loro sito realizzato in WordPress da loro stessi o da terzi.

Mi contattano chiedendo di analizzare e capire quali sono i colli di bottiglia che impattano sulla velocità e rendono il loro sito in WordPress lento. Molto spesso il problema è dovuto proprio ai plugin installati.

Per arricchire il mio blog di contenuti utili e darvi anche punti di vista di altri professionisti ho deciso di intervistare Ivan Messina di SupportHost Italia che ha preparato utili report per rispondere in modo concreto alle mie domande.

Si può avere un sito veloce con tanti plugin installati?

Assolutamente si. Il numero di plugin non ha nessun impatto sulle performance del sito. La loro qualità si.

Facciamo un esempio di due casi limite. Prendiamo un sito con 30-40 “site specific plugin”, ovvero dei piccoli plugin creati ad hoc per dare delle funzionalità specifiche ad un particolare sito. Se questi sono stati scritti da qualcuno che sa scrivere in PHP avranno un impatto minimo sulle prestazioni del sito, nonostante il loro numero. Anche in virtù del fatto che sono dei piccoli plugin e quindi le funzioni che eseguono sono marginali.

Pensiamo invece ad un plugin che per funzionare ha bisogno di eseguire svariate query sul database, e magari query importanti. Inoltre per mostrare i dati sul sito ha bisogno di un foglio di stile ed un JavaScript. Questo è l’esempio dei plugin per mostrare i post correlati. Ad ogni caricamento di pagina questi plugin controllano tutto il database alla ricerca di post correlati, e poi hanno bisogno di un foglio di stile e un JavaScript per mostrarli in modo accattivante dopo il contenuto del post.

A parte il fatto che le raccomandazioni non sono quasi mai ottimali, questi tipi di plugin tendono a rallentare il sito e sono da evitare, indipendentemente dalla dimensione dei file CSS e JS che caricano nella pagine.

Sul nostro sito mostriamo i post correlati. Abbiamo però deciso di usare i plugin di ACF, scegliere a mano i post correlati per ogni articolo e poi mostrarli tramite un tema personalizzato. In questo modo l’impatto sulle prestazioni è quasi nullo. Alla fine usiamo le funzioni base di WordPress (custom fields) per immagazzinare i post correlati e poche righe di CSS e JavaScript per mostrarli (se presenti) alla fine del post.

Quali sono i plugin che solitamente potrebbero essere eliminati o sostituiti?

Non esiste una risposta a questa domanda. Qualcuno ha cercato di stilare una lista di plugin da evitare, ma io non sarei così estremo.

Per le prestazioni si cerca sempre un compromesso.

Se hai bisogno di una funzione e non puoi farne a meno dovrai lasciare quel plugin attivo.

Diciamo che si tratta di un modo di operare.

Innanzitutto chi fa il sito non dovrebbe installare plugin a caso, spesso ho visto plugin e chiesto a cosa servissero e chi aveva fatto il sito mi ha detto che non lo sapeva ma il tema lo consigliava. Allo stesso modo quando si realizza un sito web professionale bisogna valutare se quel plugin è realmente utile. Ha senso usare un plugin che potenzialmente può rallentare il tuo sito per usare una sola funzione di quelle che offre, e che magari avresti potuto fare con 100 righe di PHP usando un “site specific plugin”?

Quindi se alcune domande ce le dobbiamo fare nel momento in cui stiamo creando il sito, le stesse dobbiamo farcele quando andiamo ad ottimizzarlo.

Il primo passo di una ottimizzazione consiste nell’eliminazione.

Quali plugin non sto usando o potrei farne a meno senza notare differenze nel mio sito?

Quali plugin sto usando ma uso solo una parte delle loro funzioni? Posso fare a meno di queste funzioni? Oppure posso eliminare il plugin e scrivere qualcosa di leggero per creare le stesse funzionalità sul sito?

Qualsiasi ottimizzazione dovrebbe partire con un lavoro di questo tipo, non installando un plugin di cache e incrociando le dita perché migliori su PageSpeed Insight o GTmetrix.

Per maggiori dettagli potete leggere il mio articolo approfondito sui plugin che rallentano WordPress.

Sono davvero importanti i plugin di cache?

Si e no. Sul nostro sito di SupportHost non usiamo un plugin di cache e non usiamo una cache lato server. Eppure i test su GTmetrix da Londra indicano tempi di caricamento inferiori ai 2 secondi.

In altri casi la cache è necessaria.

Come capire quando usare la cache?

Come prima cosa dobbiamo capire cosa fa la cache, e cosa fa il server.

Quando visiti una pagina web invii la richiesta al server. Lui esegue una serie di file PHP fino a generare il codice HTML della pagina per inviarlo al browser. Questi calcoli richiedono del tempo, nell’ordine dei millisecondi, o in casi estremi secondi.

tempi caricamento plugin cache wordpress

Su GTmetrix vediamo questo come il primo tempo di caricamento del sito.

Come vedi la prima richiesta contrassegnata con uno slash (/) a sinistra impiega 171 millisecondi.

Usando un plugin di cache vengono create della pagine HTML e salvate in una cartella. Se disponibili il plugin invia direttamente la pagina HTML, risparmiando tutti i calcoli al server, migliorando quindi questo tempo.

Se invece la pagina non è in cache, il server esegue i suoi normali calcoli e memorizza il file HTML nella cartella della cache. Questo fa impiegare più tempo perché oltre ai normali calcoli deve anche aggiungere il file in quella cartella.

Ne consegue che se il tempo di caricamento che ho mostrato sopra è basso (diciamo sotto 3-500 ms) non ha senso usare un plugin di cache, perché già veloce.

In ogni caso, prima di installare un plugin di cache senza pensare dobbiamo capire se ci serve.

Ad esempio sul vecchio sito di SupportHost usavamo un tema di Themeforest e avevamo bisogno di WP Super Cache. Quando abbiamo ridisegnato il sito usando Oxygen Builder la storia è cambiata, in pratica il tema (con tutti i plugin di cui aveva bisogno) era quello che creava il rallentamento (nel nostro caso specifico c’era anche WPML che creava una infinità di query).

Come misurare l’impatto reale di un plugin sulle performance?

Questa è una domanda a cui non è facile rispondere. Possiamo fare però una stima.

Possiamo controllare due diversi fattori: i file caricati e il numero di query sul database. Anche in questo caso GTmetrix ci viene in aiuto. Ho creato un’installazione di test su un sottodominio ed ho installato WooCommerce. Andiamo sul waterfall e nel box di ricerca scriviamo “plugins/woocommerce” e vediamo:

velocita plugin woocommerce

In pratica WooCommerce aggiunge 7 richieste, ma si tratta di file molto piccoli quindi solo 23kb alla dimensione finale della pagina. Quindi tutto sommato non è male, specie se andremo a fare un merge di questi file dopo aver terminato l’ottimizzazione del sito.

Possiamo vedere le query sul database tramite il plugin Query Monitor. Lo installiamo e visitiamo le pagine del nostro sito. In alto nella barra amministratore notiamo dei numeri, cliccando di apre una sezione in basso.

query monitor richieste database elementor

Andando su “queries by component” vediamo che WooCommerce fa 22 query in totale in 0.0017 secondi, che non sono poche, ma alla fine per il tipo di plugin e le funzionalità che aggiunge non è niente male.

Il problema è che non esistono dei numeri fissi in base ai quali prendere una decisione. L’idea è di controllare un plugin per volta a sito finito e comparare i vari plugin sullo stesso sito. Ad esempio sul vecchio sito di SupportHost usavamo WPML ed un tema molto pesante. WPML non aggiungeva alcun file, ma faceva 300 query. Il tema faceva 100 query e caricava file per quasi 1MB. Per questo abbiamo deciso di cambiare sistema ed avere un sito ultraveloce.

Quali sono i problemi principali dei page builder come Elementor?

Questi page builder, come anche alcuni temi, sono progettati in modo da dare una soluzione a tutti.

Ad esempio ti permettono di creare 5 tipi diversi di tabelle dei prezzi, 4 slider differenti. Sezioni diverse per ogni parte del sito già create da chi ha sviluppato il tema, oppure elementi creati ad hoc nel caso di Elementor.

Cosa significa?

Ognuno di questi elementi ha bisogno di codice CSS e javascript. Il page builder o il tema dovrà quindi caricare tutti questi files, anche in quei casi in cui tu non usi la tabella della prezzi.

Questo è il motivo per cui mi sono innamorato di Oxygen Builder. Vengono caricate soltanto le risorse minime indispensabili per quella pagina.

Su una installazione di test ho aggiunto Elementor. Ho fatto il test su GTmetrix e poi una ricerca. Il risultato?

rallentamenti page builder elementor plugin

Anche se ho solo aggiunto un header un testo ed un bottone elementor aggiunge 10 file per un totale di 107KB, niente di assurdo, ma visto che molti di questi non ci servono non ha molto senso.

Conclusioni

Adottare temi e plugin per velocizzare un sito WordPress e migliorare l’esperienza degli utenti sul tuo sito è spesso una scelta complicata per chi non si occupa di web performance. 

  • Dovresti affidarti a professionisti che conoscono approfonditamente la piattaforma WordPress. 
  • Dovresti richiedere esplicitamente tempi di caricamento rapidi del sito senza aver timore del prezzo. 
  • Dovresti trovare partner e collaboratori che possano farti ottenere buoni risultati nel lungo periodo. 

E tu vuoi mettere il turbo al tuo progetto?

Tag: Consigli WordPress Interviste ad esperti del web

Ivan Messina

Ivan Messina

Marketing Manager

Da sempre ho una passione per apprendere cose nuove mettermi in gioco e vedere cosa riesco a tirarne fuori. Con SupportHost ci siamo focalizzati sulle prestazioni, dal momento che sono una parte importantissima per un sito web, ma spesso ignorata. Sto cercando tramite vari articoli e video di far conoscere questo mondo anche ai meno esperti dando delle soluzioni per migliorare le prestazioni che possano essere accessibili a tutti.