WordPress lento, come risolvere Numerose possono essere le cause che rallentano un blog in wordpress, vediamo quali sono

<span class="entry-title-primary">WordPress lento, come risolvere</span> <span class="entry-subtitle">Numerose possono essere le cause che rallentano un blog in wordpress, vediamo quali sono</span>

Se il vostro blog in WordPress dopo qualche tempo dall’installazione è diventato molto lento, oppure è inspiegabilmente da qualche tempo, potrebbe dipende da numerose cause: in questo articolo cercheremo di capire quali sono e come agire. La cosa complicata, in molti casi, è legata al fatto che non è agevole risalire a ciò che provoca il problema e che, ancora meno, non sempre è agevole riuscire a mettere mano ad alcune impostazioni del proprio sito. In ogni caso, le ottimizzazioni effettuabili quando WP è lento si possono se non altro facilmente classificare: ad ogni classe di problema corrisponde un diverso tipo di intervento, ed alla peggio dovremo provarli tutti, uno per volta.

Come velocizzare WordPress? WP, per quello che ci interessa in questa sede (e senza scendere in dettagli troppo difficili), funziona mediante la combinazione di quattro componenti distinte:

  1. il theme installato;
  2. i plugin opzionali attivi;
  3. i plugin obbligatori (quelli nella cartella wp-content/mu-plugin, se presente);
  4. l’hosting web utilizzato, e ciò si riflette a vari livelli: configurazioni errate, ecc.

Queste quattro tipologie di “componenti” possono rallentare in vario modo il vostro wordpress, ovviamente con riferimento alla versione hosted su un qualsiasi provider Andiamo per ordine, e cerchiamo quindi di capire perchè WordPress è lento e come facciamo a renderlo più veloce.

Dobbiamo inoltre distinguere tra lentezza lato front-end (la “vista” del blog per tutti i lettori), lato back-end (cioè lato amministrativo) oppure entrambi. In prima istanza, dato che WordPress funziona mediante action, hook e WP-cron, è plausibile che ci siano alcune azioni o funzioni eseguite in corrispondenza di ogni evento, oppure periodicamente, che vanno ad appensatire inultimente il caricamento del proprio sito.

La chiave di volta, in questi casi, è molto spesso quella di disattivare il componente ritenuto problematico, e verificare se il problema di rallentamento si presenta ancora oppure no. Non possiamo sapere da principio cosa disattivare, ma si può procedere per logici tentativi seguendo la falsariga delle quattro componenti viste in precedenza:

  • problemi sul theme, per cui potrebbero esserci problemi di codice PHP inefficente;
  • i plugin opzionali attivi, per cui anche qui potremmo avere componenti buggate o fallate;
  • i plugin obbligatori che eseguono operazioni, anche qui, buggate o dannose;
  • l’hosting web utilizzato, che di solito è l’ultima spiaggia nel senso che, di fatto, coincide con il fatto che il nostro sito, una volta verificati positivamente i punti precedenti, deve probabilmente essere migrato su un altro hosting.

Chiaro che questo approccio è meglio seguirlo su una copia del sito in locale, aggiornando poi i cambiamenti soltanto dopo aver ottimizzato il tutto: questo per evitare di fare danni sul sito originale e per evitare, ad esempio, di ritrovarsi con impostazioni cambiate che non riusciremmo più a ripristinare.

Sei in difficoltà? Per avere un’idea introduttiva semplificata sull’argomento, leggete il post “quando wordpress diventa un affare complesso” e poi torna qui. Può essere anche interessante sapere altre cose fondamentali prima di procedere oltre.

Come primo passo, per capire bene quello che stiamo per fare, è consigliabile attivare la modalità sviluppatore: basta impostare nel wp-config.php del vostro sito queste tre righe:

define(‘WP_DEBUG’, TRUE);
define(‘WP_DEBUG_DISPLAY’, TRUE);
define(‘WP_DEBUG_LOG’, TRUE);

come peraltro descritto nella guida ufficiale.

#1 Il database è integro?

Ho riscontrato di recente il caso di un sito che ha smesso di funzionare all’improvviso e senza una causa apparente, ma questo a quanto pare era legato alla mancanza di alcune tabelle; in realtà WordPress notifica la mancanza delle tabelle (se gli mancano dati, non può caricare il contenuto delle pagine chiaramente), e ciò avveniva nella specifico per via di un dump molto grosso che il software BigDump – che si usa per migrare da un sito all’altro, o da locale a remoto, grossi database anche di 500/1000 megabyte – e che nel mio caso non aveva copiato, o “dimenticava”, di copiare le tabelle wp_posts e wp_options. Alla fine ho risolto effettuando un dump per gruppi di tabelle, un po’ alla volta insomma, procedimento certo lungo e noioso ma senza dubbio necessario.

BigDump resta un’ottima alternativa per migrare database, ma bisogna fare sempre molta attenzione che il tutto venga ripristinato in modo corretto, tabella dopo tabella. Se WordPress rallenta, in definitiva, controllate l’integrità del database (che le tabelle ci siano tutte e che siano popolate).

#2 Il theme che stai usando rallenta WordPress?

Ci sono theme più veloci e meglio progettati di altri: questo è un dato di fatto, e a volte se usate theme a pagamento (specie se “piratati” o non ufficialmente supportati) la lentezza può essere il prodotto di errori non documentati, o di pezzi di codice malevolo per infettarvi il sito. Il mio suggerimento, in questi casi, è semplice e funzionale: installate dalla cartella dei theme gratuiti un tema qualsiasi, attivatelo e verificate se il rallentamento si verifica ancora. Se si verifica lo stesso, il problema non risiede nel theme che state usando, per cui potete passare ai punti successivi; diversamente, continuate a leggere qui perchè stiamo per entrare nel vivo della questione.

Sono costretto ad usare termini un po’ complicati per cui non sono sicurissimo che riuscirete per forza a seguirmi: al tempo stesso, sono dell’idea che questo tipo di lavoro vada eseguito da webmaster con una certa esperienza, e sono anche sicuro che essere “complicati”, a volte, sia l’unico modo possibile per essere precisi. Abbiamo fatto la ragionevole ipotesi che ci sia un problema di rallentamento all’interno del nostro theme WordPress: quello che dovremmo fare adesso è identificare il “collo di bottiglia“, cioè la porzione (o le porzioni) di codice che risultano problematiche e che, in ultima analisi, rallentano WordPress.

Può essere utile conoscere alcune delle sezioni tipicamente critiche dei theme WordPress, che spesso provocano rallentamenti:

  1. due file da controllare immediatamente sono il footer.php e l’header.php, in quanto spesso contengono porzioni di codice problematiche che rallentano il sito;
  2. altro file da controllare immediatamente è il functions.php, che contiene la maggioranza delle funzioni ausiliarie usate dal theme;
  3. all’interno di tutto il theme, è opportuno cercare tutte le action di tipo “init” (esempio: add_action(‘init’,…) ) che corrispondono a funzioni eseguire ad ogni singolo aggiornamento della pagina e che, se progettate male, rallentano molto spesso;
  4. in alcuni casi ulteriori (e tutt’altro che sporadici), infine, mi è capitato di riscontrare rallentamenti improvvisi in corrispondenza di vecchi errori minori / warning che si sono “accumulati” nel tempo. Anche qui, tracciate ogni singola cosa, usate il sito per un po’ e verificate che nel log (che trovate come debug.log nella cartella wp-content) non ci siano errori.

Dopo aver rilevato la sezione di codice problematica ci sono varie possibilità per velocizzare nuovamente il vostro WordPress:

  1. buttare nel cestino il theme problematico, ed installarne uno diverso;
  2. correggere la parte di codice problematica con codice equivalente;
  3. commentare la parte di codice che rallenta (se possibile).

#3 Il tuo sito è infetto?

Controllate a questo punto con tool tipo sucuri se il vostro blog non sia infetto. Questi tool sono spesso approssimativi, purtroppo, ma vi danno il vantaggio di rilevare ad esempio theme infetti con buona probabilità (se è questo il caso, ovviamente).

#4 I plugin che state usando rallentano?

L’approccio per capire se un plugin crea problemi è semplice:

  1. disattivate un plugin alla volta, partendo dal primo;
  2. con il plugin 1 disattivato, provate ad usare il sito (sia da loggati che da non loggati);
  3. se il sito è tornato a funzionare normalmente, forse avete identificato il problema: i plugin non si possono correggere a mano perchè le modifiche verranno sovrascritte al prossimo update ufficiale. Se correggete, create un plugin a parte e lavorate su quello.
  4. se non cambia nulla, tornate a disattivare il plugin successivo e riattivate quello precedente; ripetete i passi dal punto 2 in poi. tenete conto che, anche qui, il problema potrebbe essere sia procedurale (cioè qualche pezzo di codice rallenta) che ad eventi (cioè qualche hook, action, o wp-cron funziona male e rallenta il sito).

Qui bisognerebbe aprire un capitolo a parte: non per altro, ma ci vuole un’analisi puntuale dei plugin che state usando e dovrete verificare se disattivandone uno, ad esempio, le prestazioni di WP cambino o meno. Che fare in questi casi? Ad una primissima analisi, se state usando plugin non standard o non compresi nella lista di plugin consigliati per wordpress, c’è una certa probabilità che il problema dipenda da quello.

Suggerimento: per massimizzare la velocità, rimuovete comunque i plugin non utili, superflui o sospetti, dando la precedenza nella rimozione a quelli scaricati da canali non ufficiali (ad esempio a apagamento in versione pirata): possono contenere virus e malware.

Leggete inoltre quali plugin di wordpress tendono a rallentarlo, una mia disamina sull’argomento di qualche tempo fa.

#5 Qualche plugin must-use (cartella wp-content/mu-plugins) crea problemi o rallenta?

Caso più raro, credo, ma certamente da prendere in considerazione: visto che per definizione questi plugin non si possono disattivare uno per uno, tanto vale provare a rinominare la cartella mu-plugins e vedere se il rallentamento del sito WP persiste o meno.

Se persiste, avete trovato la causa (o meglio, la “zona” relativa al problema) per cui non vi resta che controllare cosa facciano i vari plugin must-use e commentare / rimuovere / correggere le sezioni problematiche. Diversamente, procedete oltre (lo so, ci vuole TANTA pazienza…).

#6 Avete qualche wp-cron che fa le bizze?

Non capita spessissimo, anche qui, ma ci potrebbe essere qualche cron di WP che manda al diavolo l’efficenza del vostro blog. Per verificare i wp-cron attivi, usate un plugin come xxx; per disattivare completamente i wp-cron (solo a scopo test, ovviamente) basta inserire nel wp-config.php la direttiva:

define(‘DISABLE_WP_CRON’, true);

#7 La versione di WP / il core che state usando è aggiornato?

In media esce almeno un aggiornamento al mese su WordPress: fate sempre gli update per  tempo, perchè il rischio è quello di non poter sfruttare appieno wordpress nella sua interezza. Per quanto sia una circostanza davvero anomala, può capitare che WP sia lento perchè non è aggiornato a dovere. E questo vale sia per il sistema (core) che per theme o plugin.

Se volete effettuare dei check più avanzati in situazioni specifiche, ad esempio se il sito rallenta mentre scrivete i post, tarate meglio i parametri del file wp-config, seguendo con attenzione quanto scritto nella guida avanzata alla configurazione (la guida base per il wp-config è qui)

#8 Problemi di hosting

Infine, se non riuscite a venirne fuori assicuratevi che sia tutto a posto e rivolgetevi al vostro hosting: spesso le cattive configurazioni dipendono da qualche parametro settato male lato server, anche se i provider tendono ad essere vaghi in merito e non sempre sarà facile muovervi in tal senso. Ci sono casi in cui i rallentamenti dipendono da cattive impostazioni del file htaccess, per quanto si tratti di casi che bloccano del tutto il sito, piuttosto che rallentarlo (errori 500, ad esempio). In altri casi può darsi che il nodo su cui risiede il vostro hosting sia soggetto ad un attacco informatico o di spam, e potrebbe in questo caso rallentare l’accesso alle pagine o quello al vostro database.

Gli uptime (vedi quelli aggiornati) possono essere un utile parametro di valutazione (più sono alti, meglio è), ma non sono l’unico parametro in gioco, ed è limitativo pensarlo.

Suggerimento: se vuoi continuare a leggere, passa all’articolo dedicato a come velocizzare il tuo WordPress.

Ti piace questo articolo?

18 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

WordPress lento, come risolvere

Se il vostro blog in WordPress dopo qualche tempo dall’installazione …
Votato 8.78 / 10, campione di 18 utenti

Ti potrebbero interessare (Guide WordPress):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.