Come trovare i plugin che rallentano WordPress

Come trovare i plugin che rallentano WordPress (Guide, Guide per la configurazione di WordPress, Suggerimenti per gestire il tuo sito)
Argomenti trattati: ,
Pubblicato il: 4 Febbraio 2021 , Ultimo aggiornamento: 28 Aprile 2021

Il tuo sito in WordPress è diventato lento? Come mai le visualizzazioni non sono più scattanti come un tempo? Perchè il backend di WordPress è così lento? È un bel problema, e spesso la soluzione non è ovvia, per niente. In questa guida abbiamo cercato di ragionare un po’ sul problema, ed aiutarvi così a trovare le linee guide più flessibili ed adatte per risolvere il problema. L’obiettivo è semplice: capire quali plugin influiscano sui tempi di caricamento del sito, e poi pensare di eliminarli o disattivarli per risparmiare risorse.

In questi casi le cose che si possono fare sono numerose, e cercherò qui di illustrare le più importanti: in particolare, più che lavorare sul core (che è una cosa per specialisti), nella maggioranza dei casi si può provare a disabilitare i plugin che consumano più risorse del vostro hosting, magari senza che ne sappiate nulla.

Per un’analisi ancora più approfondita in merito, vi invito a leggere anche WordPress lento, come risolvere.

Troppi plugin rallentano WordPress?

Dipende, in realtà: se il sito è fatto bene, no! Se il sito non è ottimizzato, invece, 10 o 30 plugin installati fanno la differenza.

Ci sono molte ragioni per cui i plugin di WordPress sono una vera e propria necessità. Offrono un sacco di caratteristiche e funzionalità che il tuo sito non avrebbe, diversamente. Con i plugin di WordPress puoi personalizzare il sito che hai già creato per soddisfare meglio le tue esigenze, realizzando qualsiasi funzionalità web che ti possa servire: un modulo dei contatti, le funzionalità SEO più avanzate, un e-commerce e così via. Ma probabilmente avrai sentito dire che avere troppi plug-in di WordPress sul tuo sito web tendono a rallentare il sito. Ci sono decine di migliaia di plug-in tra cui scegliere, quindi è facile aggiungerne alcuni di troppo alle tue pagine (e spesso ci facciamo prendere la mano, in effetti)

Ma quand’è che plugin diventano “troppi”? Ho fatto un piccolo test su un sito di prova, ospitato su di un hosting condiviso come tanti ne trovate e ne usiamo ogni giorno. Su un’architettura del genere, di fatto, ho notato che il numero di plugin tende ad influenzare il tempo di caricamento del sito, in particolare il TTFB. Questo avviene dal punto di vista del codice perchè, per via del suo schema di funzionamento che decide come “comporre” ogni singola pagina, WordPress elabora la lista dei plugin per intero, al fine di verificare se debba attivare hook o funzionalità specifica per una certa pagina, per cui – semplicemente – meno ne mettiamo, meglio è.

L’analisi dovrebbe essere meno superficiale di così, perchè ci sono siti virtuosi che funzionano benissimo anche con 40 o 50 plugin, pero’ da questo test di calcolo del TTFB emerge una cosa significativa: lo stesso sito misurato senza plugin caricati restituisce un TTFB di 220ms, mentre con 18 plugin di vario genere il tempo raddoppia (550ms).

Il boot di WordPress, insomma, va tenuto in conto per ragionare sul “flusso” di operazioni che vengono esegute, tra cui annoveriamo anche i plugin: ogni volta che provate anche solo ad aggiornare questa pagina web, ad esempio, il WordPress che fa funzionare questo blog effettua una reinizializzazione del suo core mediante la funzione wp(), poi caricherà plugin, il theme attivo, gli eventuali mu-plugins e poi passa al rendering della pagina con HTML, CSS, e JS. C’è pure una complicazione in più: molti plugin free e premium non sono ottimizzati lato wp_options, usano dati serializzati che sono difficili da tracciare e debuggare, sono soggetti ad errori imprevedibili e, alla lunga, tendono alla lunga ad ingolfare questa tabella provocando, nella peggiore delle ipotesi, un potenziale guasto all’interno del sito, oltre che – naturalmente – un rallentamento generale delle pagine web.

Se provate a testare con un tool per la velocità un qualsiasi sito con tutti i plugin attivati e senza, il risultato sarà quasi sempre impietoso: massima velocità senza plugin, minore velocità con i plugin attivati. Questo avviene, empiricamente, a partire dai 12-15 plugin a salire: da 0 a 15 in genere il sito non è troppo influenzato, da 16 a 30 lo è un po’ di più, e lo diventa sempre più dai 31 plugin attivi a salire.

Resta il fatto che i plugin sono utili: un conto è cambiare un theme perchè è lento o poco ottimizzabile, decisamente un altro è decidere di togliere Woocommerce perchè rallenta. Molte cose non possiamo farle, insomma, ed è qui che viene il difficile di questa attività. Ma qualcosa, come vedremo, si può fare lo stesso, anche lasciando i plugin attivati. Un punto chiave potrebbe essere a questo punto capire quali plugin consumino più risorse del sito.

Come capire quali plugin consumano più risorse

Per risorse, in questa sede, intendiamo come risorse la memoria RAM (se si satura, il sito rallenta), la connettività di rete (se la rete è satura, è anche più lenta a consegnare i pacchetti TCP in download / upload), CPU (se è troppo occupata in %, il sito avrà difficoltà a smistare le richieste) e anche lo spazio web dell’hosting (se si riempie troppo, in determinate condizioni il sito potrebbe rallentare).

Visto che è difficile separare le componente se non per larghe (e spesso inutili) congetture o approssimazioni, la strategia generale che potete seguire è questa: provate a giocare un po’ sui plugin, attivandoli, per capire quale sia quello che genera il problema, e del quale potreste fare a meno (a limite anche solo per un po’). In secondo luogo, vedremo se la combinazione di due o più plugin rallenta o non è influente sulla velocità, e così via per approssimazioni successive.

Cinque classi di plugin da considerare

Ci sono almeno cinque categorie di plugin da cui bisogna “diffidare” lato sicurezza, e che possono causare rallentamenti o blocchi del sito imprevisti e saturazione di CPU, RAM, banda, spazio su disco o una combinazione tra esse. Considera che da FTP o dal cPanel di solito riuscirete ad accorgervi se qualcosa non va in termini di troppo I/O, troppa memoria o eccessivo uso di CPU, quindi fateci caso e, se qualcosa sembra bloccarsi irrimediabilmente, se la colpa è di qualche plugin alla peggio rinominate la cartella del sito via FTP o File Manager di cPanel in modo da interrompere il processo in corso.

Le gallerie di immagini

Nota spesso dolente specie se, come nel mio caso, avete banda e spazio su disco a consumo: non ci sono dubbi che molti utenti, per inesperienza o altro, tendano a caricare immagini di diversi megabyte che wordpress, molto spesso, non si cura neanche di ridurre o ridimensionare per il web. Ciò crea situazioni in cui saturare la banda o lo spazio diventa quasi immediato, e crea numerosi rallentamenti al sistema tant’è che, su hosting condivisi, tanto varrebbe includere le immagini su cloud o servizi esterni ad hoc come Flickr!, sfruttando accorgimenti tali da evitare di caricare di foto di grosse dimensioni il vostro sito su hosting condiviso. Non sempre questo è un problema, per quanto rimanga sostanziale comprendere questo aspetto e, se necessario, approfondirlo.

Plugin SEO

Su questo dovrei aprire una parentesi di qualche chilometro, peraltro senza falsi moralismi visto che moltissimi di questi tendo ad utilizzarli anche io a fasi alterne sui miei blog: si tratta non tanto di quelli che curano l’ottimizzazione locale del sito (title e description che non fanno male a nessuno, in tal senso) quanto la gestione dei link interni. Parlo di quelli che creano link interni in maniera semi-automatica come fa la funzione juggernaut di SEO Ultimate, SEO Autolink e di Internal Link Juicer, tanto per capirci e per citare i più popolari, sono utili lato SEO (A volte!) quando devastanti lati prestazioni.

Per quanto questi plugin, se usati con un minimo di saggezza, possano in teoria dare qualche piccolo contributo dal punto di vista del posizionamento (oltre al fatto che rendono certamente più facili da raggiungere, ovvero nel minore numero di click, determinati contenuti del vostro blog a vostra scelta), c’è da dire che consumano molte risorse a livello di database. Tecnicamente, infatti, se in un articolo è presente l’ancora X che deve essere linkata, come minimo sarà necessario effettuare N query di ricerca in più (dove N è il numero di occorrenze dell’ancora in tutto il blog), che si andranno a sommare a quelle, già numerose, che WordPress esegue mediamente durante la visualizzazione di una pagina.

Plugin di cache (se impostati male)

Dopo aver attivato questi plugin, per evitare qualcosa tipo centinaia di query SQL per singola impression (che è tantissimo, se pensiamo già ad un blog che ha 10.000 visualizzazioni giornaliere sono 10.000 x 100 = 1.000.000 di query!), è opportuno attivare il caching di pagine e database, al fine di evitare sovraccarichi che possono pesare notevolmente sulle prestazioni del vostro sito. Alla fine si tratta di un blog e deve rimanere, per definizione direi, tutto massimamente semplice e senza complicazioni o rallentamenti di sorta. Quindi attivare la cache e prendere qualcuno degli accorgimenti che ho illustrato in Velocizzare WordPress: come migliorare le percentuali sul Google PageSpeed Insights (e nel successivo Alcune precisazioni su ottimizzare WordPress) è senza dubbio consigliabile, anche se certamente richiederà un po’ di tempo da perderci (“perdere” relativamente, s’intende). In linea di massima, anche un plugin di cache configurato male può rallentare facilmente il nostro sito web.

Plugin di check massivo dei link

Stesso discorso per i plugin che controllano, basati su cron-job, lo stato dei link interni per scovare gli errori 404 ed i link interrotti (il classico Broken Link Checker): consumano una quantità di risorse enorme, a meno che non siano tarati nel loro comportamento con criterio, e se non siete troppo esperti è molto meglio farne uso una tantum ed in orari in cui non avete troppi visitatori online.

Plugin di backup (a cadenza periodica)

Altra nota, devo dire, piuttosto dolente: ne ho parlato a più riprese, ed ho anche scritto come sia inutile custodire il backup direttamente sul sito (può essere difficile da recuperare in caso di ban dell’IP o di altro genere di problemI). Occupa spazio, e lo spazio di un hosting non è mai illimitato come ho scritto qualche tempo fa. Molto meglio migrarlo – in versione progressiva, quindi avendo più di un backup specie se il sito è un “lavoro in corso” all’interno di una risorsa remota (anche qui l’appoggio di un servizio cloud sarà di grande aiuto, ad esempio Dropbox o Google Drive).

Il punto è che la creazione sistematica di un backup dovrebbe essere fatta in orario notturno (quando ci sono poche visite) ma questo evidentemente non basta, in certi casi. Fare backup giornalieri di migliaia di post, immagini e plugin può costare tantissimo al vostro hosting che finirà quindi per saturare in fretta le risorse.

Conclusioni

Se WordPress è lento, in generale, non è detto che dipenda dai plugin, anzi: l’analisi dovrebbe essere eseguita ad altri livelli, considerando ad esempio l’uso di theme corrotti o mal realizzati, e la gestione della memoria RAM – vedi Come gestire la RAM di WordPress.

Infine, per capire un po’ meglio quali plugin siano più time-consuming / resource-consuming) potete effettuare delle valutazioni sui log di sistema, individuando criticità, picchi di consumo ed eventuali warning ed errori i quali, seppur indirettamente e non in tutti i casi, tendono a rallentare il vostro WordPress.

Nessun voto disponibile

Che te ne pare?

Articoli più letti su questi argomenti: