Ritorno

WordPress lento? 7 cause nascoste e soluzioni

Hai compresso le immagini, attivato la cache e rimosso i plugin che non stavi usando. PageSpeed sembra persino essere d’accordo con te. Ma WordPress continua a impiegare troppo tempo per rispondere.

Il problema con WordPress lento potrebbe non essere in ciò che il browser scarica, ma in tutto ciò che accade prima: query che non finiscono, attività accumulate, opzioni che si caricano inutilmente o processi bloccati.

Installare un altro plugin per cercare di velocizzare WordPress non risolverà sempre il problema. A volte aggiunge solo più lavoro a un WordPress che ha già troppo. Ecco sette cause meno visibili, come rilevarle e cosa puoi fare per risolverle.

Prima, scopri dove si verifica la lentezza

Non iniziare a pulire il database o disabilitare funzioni a caso. Prima, cerca di individuare il problema.

Controlla se la lentezza:

  • Influisce sull’intero sito o solo su una pagina.
  • Appare anche all’interno del pannello di amministrazione.
  • È concentrata su prodotti, ordini o processi di WooCommerce.
  • Si verifica continuamente o solo in determinati momenti.
  • Coincide con backup, importazioni o invii di email.
  • Appare prima che la pagina inizi a visualizzarsi.

Il tempo che impiega il server a inviare il primo byte (noto come TTFB) può darti un indizio iniziale. Se l’attesa si verifica prima che il browser inizi a ricevere contenuti, comprimere un’altra immagine probabilmente non risolverà il problema.

Cosa dovresti controllare prima

Sintomo Causa possibile Dove controllarlo
L’intero sito impiega molto tempo a iniziare il caricamento Opzioni autoload o query lente Salute del sito o Query Monitor
Le attività vengono eseguite in ritardo o non si completano WP-Cron o richieste di loopback WP Crontrol o Salute del sito
WooCommerce ritarda ordini, email o abbonamenti Azioni pianificate bloccate WooCommerce → Stato
Il database cresce continuamente Transitori o residui di plugin Strumento di pulizia del database
Solo una schermata è lenta Query inefficiente o duplicata Query Monitor
La lentezza appare in determinati momenti Cron, backup o processi automatici WP Crontrol o log del server

Applica una modifica alla volta e misura di nuovo. Se modifichi cinque elementi contemporaneamente, il sito potrebbe migliorare, ma non saprai cosa stava causando il problema o come agire se si ripresenta.

Per completare la diagnosi, puoi utilizzare ConnectiLogs, uno strumento di cdmon che presenta visivamente le informazioni dei log del server e aiuta a rilevare errori, accessi falliti o comportamenti sospetti.

Prima di modificare il database o la configurazione di WordPress, crea un backup. Se possibile, testa le modifiche in un ambiente di staging prima.

WordPress carica troppe opzioni autoload

Cosa succede?

WordPress memorizza molti dei dati di cui ha bisogno per funzionare nella tabella wp_options, come le impostazioni del tema, le configurazioni dei plugin e altre preferenze del sito.

Alcune di queste opzioni sono contrassegnate come autoload, il che significa che WordPress le carica automaticamente ogni volta che qualcuno visita una pagina, anche se non sono necessarie in quel momento.

Questo non è un problema quando ci sono pochi dati. Il sito può iniziare a rallentare quando accumula dati da plugin che non usi più, temi eliminati o strumenti che memorizzano più informazioni del necessario.

Come risolverlo?

Vai a:

Strumenti → Salute del sito → Stato

WordPress potrebbe mostrare un avviso se rileva un gran numero di opzioni caricate automaticamente.

Per indagare sulla loro origine, puoi utilizzare uno strumento come Advanced Database Cleaner o eseguire una query utilizzando WP-CLI, disponibile in cdmon a partire dal piano di hosting Senior, se hai conoscenze tecniche. L’obiettivo non è eliminare le opzioni che occupano più spazio, ma identificare quale plugin o tema le ha create.

Solo perché un’opzione è grande non significa che sia inutile: potrebbe memorizzare informazioni importanti per il funzionamento del sito.

Cerca soprattutto:

  • Impostazioni di plugin che non usi più.
  • Informazioni temporanee che sono state memorizzate in modo permanente.
  • Dati ripetuti.
  • Configurazioni molto pesanti di un tema precedente.

Una volta identificata l’origine, verifica se il plugin stesso include una funzione per pulire o rigenerare quei dati. Se è ancora installato, aggiornarlo o rivedere la sua configurazione è di solito più sicuro che eliminare manualmente i record.

WP-Cron sta eseguendo troppe attività

Cosa succede?

WP-Cron è responsabile delle attività pianificate di WordPress: controllare gli aggiornamenti, pubblicare post, inviare notifiche, eseguire backup o attivare processi per determinati plugin.

A differenza delle attività pianificate dal server, WP-Cron viene attivato quando qualcuno visita il sito. Pertanto, su una pagina con molte visite, può essere eseguito più volte del necessario, mentre su una con poco traffico, alcune attività potrebbero impiegare molto tempo a completarsi.

Il problema di solito non è con WP-Cron, ma con le attività che alcuni plugin aggiungono a questo sistema.

Se i post pianificati non appaiono in tempo, le email vengono inviate in ritardo o il sito rallenta sempre in determinati momenti, è possibile che una di quelle attività stia funzionando con errori o troppo frequentemente.

Come risolverlo?

Puoi rivedere gli eventi con WP Crontrol, da:

Strumenti → Eventi Cron

Lo strumento mostra quali attività sono pianificate, quando dovrebbero essere eseguite e con quale frequenza. Presta attenzione a:

  • Eventi che avrebbero dovuto essere eseguiti e appaiono in ritardo.
  • Attività che si ripetono ogni pochi minuti senza una chiara ragione.
  • Attività automatiche create da plugin che hai già rimosso.
  • Diverse attività simili create dallo stesso componente.

Non eliminare un’attività solo perché non riconosci il suo nome. Cerca il nome del hook per identificare quale plugin l’ha creata. Se l’attività riappare dopo averla eliminata, significa che qualche plugin o componente del sito continua a pianificarla.

Su siti con alto traffico o numerose attività automatiche, potrebbe essere più stabile pianificare la loro esecuzione direttamente dal server, invece di affidarsi alle visite.

Questo cambiamento deve essere fatto correttamente: se disabiliti WP-Cron senza prima impostare un’attività per sostituirlo, i post, le email e altri processi pianificati potrebbero smettere di funzionare.

WooCommerce ha azioni pianificate bloccate

Cosa succede?

WooCommerce e molte delle sue estensioni utilizzano Action Scheduler, un sistema che gestisce l’esecuzione di attività automatiche in background. Ad esempio, può inviare email, rinnovare abbonamenti, comunicare informazioni ad altre applicazioni o aggiornare ordini.

Quando queste attività si accumulano, WordPress non mostra sempre un errore. Invece, potresti notare che gli ordini impiegano molto tempo ad aggiornarsi, le email arrivano in ritardo o il pannello di amministrazione diventa sempre più lento.

Puoi rivedere la coda in:

WooCommerce → Stato → Azioni Pianificate

Action Scheduler può anche apparire in Strumenti → Azioni Pianificate, a seconda dei plugin installati. La sua documentazione ufficiale copre entrambi i percorsi.

Filtra le azioni per stato:

  • In attesa: in attesa di essere eseguite.
  • Fallite: hanno tentato di eseguire ma non si sono completate con successo.
  • In corso: dovrebbero essere in elaborazione.
  • Completate: sono già terminate.

Avere azioni in attesa non implica necessariamente un problema. Il segnale di avvertimento appare quando il loro numero aumenta costantemente, sono in attesa da troppo tempo o molte falliscono con lo stesso hook.

Come risolverlo?

Immagina di trovare centinaia di attività fallite relative a un’estensione di abbonamento. Eliminarle può svuotare la lista per un po’, ma non risolverà il problema che causa i fallimenti. Se non risolvi la causa, le attività si accumuleranno di nuovo.

Apri una delle attività fallite, individua il suo nome (hook) e controlla il log per scoprire perché non è stata completata. Poi:

  1. Identifica quale plugin o estensione ha creato l’attività.
  2. Aggiorna quel plugin e gli add-on di cui ha bisogno per funzionare.
  3. Controlla se dipende da una connessione con un servizio esterno, come una piattaforma di pagamento, abbonamento o email.
  4. Correggi l’errore indicato nel log prima di eseguire nuovamente l’attività.
  5. Verifica che le attività in attesa inizino a completarsi e che la coda diminuisca.

Code molto grandi potrebbero richiedere l’elaborazione tramite WP-CLI o intervento tecnico. La documentazione di Action Scheduler raccomanda WP-CLI per carichi elevati perché evita alcune limitazioni delle normali richieste web. Puoi controllare la loro documentazione WP-CLI.

In cdmon, l’accesso a WP-CLI è disponibile a partire dal piano di hosting Senior. Se il tuo piano non lo include o non hai esperienza nell’uso dei comandi, contatta il team di Supporto prima di intervenire nella coda.

Il database accumula transitori scaduti

Cosa succede?

I transitori consentono di memorizzare temporaneamente dati che richiedono più tempo per essere ottenuti, come il risultato di una query o la risposta da un servizio esterno. In questo modo, WordPress può riutilizzarli per un po’ invece di rigenerarli ogni volta che qualcuno visita il sito.

Quando funzionano bene, aiutano le prestazioni. Il problema sorge quando scadono ma non vengono eliminati correttamente, o quando un plugin ne genera migliaia.

Non c’è bisogno di pulire i transitori ogni settimana. Né dovrebbero essere trattati come spazzatura per definizione. WordPress e i plugin possono ricrearli molti di loro dopo averli eliminati.

Se la tabella wp_options è cresciuta troppo, controlla quanti transitori ci sono, quanto spazio occupano e quali prefissi si ripetono. Un gran numero legato allo stesso plugin può indicare da dove iniziare a indagare.

Come risolverlo?

Con accesso a WP-CLI, puoi eliminare solo i transitori che sono già scaduti con questo comando:

wp transient delete –expired

Puoi controllare il suo funzionamento e le opzioni disponibili nella documentazione ufficiale di WP-CLI.

Eliminare tutti i transitori è anche possibile, ma non dovrebbe essere la prima opzione. Alcuni processi dovranno ricrearli, e ciò può causare un aumento temporaneo del carico del server.

Se si accumulano rapidamente di nuovo, la pulizia avrà solo nascosto il sintomo. Controlla quale plugin li sta creando e se c’è qualche aggiornamento, errore o configurazione che spiega quel comportamento.

Le richieste di loopback sono bloccate

Cosa succede?

Una richiesta di loopback si verifica quando WordPress si connette con il proprio sito per avviare attività automatiche o verificare che risponda correttamente. È, in parole povere, come se il sito visitasse se stesso.

Se fallisce, WordPress potrebbe mostrare un avviso in:

Strumenti → Salute del sito → Stato

Puoi anche rilevare:

  • Eventi pianificati che non vengono eseguiti.
  • Post pianificati che sono in ritardo.
  • Azioni di WooCommerce che rimangono in sospeso.
  • Processi interni che terminano a causa di timeout.

WP-Cron, Action Scheduler e le richieste di loopback sono correlate. Se tutti e tre mostrano problemi contemporaneamente, potresti vedere diverse conseguenze di un unico blocco.

Come risolverlo?

Qui è consigliabile leggere l’errore specifico, non solo l’avviso di loopback.

Un errore 401 o 403 può indicare che una password, un plugin di sicurezza o una regola del server sta impedendo a WordPress di connettersi con il proprio sito. Se appare un timeout, significa che il server ha impiegato troppo tempo per completare la richiesta. Il fallimento può anche essere dovuto a impostazioni errate del dominio, del certificato SSL o dei reindirizzamenti web.

Controlla i log degli errori PHP e del server proprio quando si verifica il fallimento. Questi log possono mostrare quale plugin, file o processo sta causando il problema.

Controlla anche se qualche plugin di sicurezza, modalità di manutenzione o protezione con password impedisce a WordPress di accedere a wp-cron.php o all’API REST.

Se una misura di sicurezza causa il blocco, non disabilitarla permanentemente. Identifica la regola responsabile e aggiungi un’eccezione solo per la connessione che WordPress deve effettuare.

Una query lenta sta rallentando una schermata specifica

Cosa succede?

Se l’intero sito funziona bene tranne che per la lista degli ordini, una ricerca, l’editor o una pagina specifica, il problema potrebbe essere in una query del database.

Query Monitor consente di analizzare le query eseguite durante il caricamento e associarle, quando possibile, al plugin, tema o funzione che le ha generate.

Installa Query Monitor temporaneamente e apri la pagina o la sezione di WordPress che funziona lentamente. Poi, rivedi:

  • Query che impiegano molto più tempo delle altre.
  • La stessa query eseguita dozzine o centinaia di volte.
  • Errori del database.
  • Richieste HTTP esterne.
  • Il componente responsabile di ogni operazione.

Non concentrarti solo sulla query più lenta. Una query di 200 millisecondi potrebbe non essere grave se viene eseguita una volta. Un’altra query di 20 millisecondi può diventare un problema se si ripete 300 volte durante un singolo caricamento.

Come risolverlo?

Se Query Monitor punta a un plugin, controlla se c’è un aggiornamento o se una delle sue funzioni può essere disabilitata. Puoi anche provare temporaneamente un altro strumento che svolge la stessa funzione e confrontare il risultato.

Nei grandi negozi, potrebbe essere necessario rivedere:

  • La quantità di informazioni che il sito elabora.
  • Il numero di prodotti o risultati visualizzati su ogni pagina.
  • I filtri e le ricerche utilizzati dai visitatori.
  • Il modo in cui i dati sono organizzati nel database.

Modificare il modo in cui WordPress cerca e organizza le informazioni del database richiede conoscenze avanzate. Se non riesci a identificare quale plugin o funzione esegue quella ricerca o non sai a cosa serve, è meglio cercare aiuto tecnico prima di apportare modifiche.

Un plugin eliminato ha lasciato dati e attività residue

Cosa succede?

Disattivare un plugin impedisce al suo codice di funzionare normalmente. Tuttavia, non elimina necessariamente le sue tabelle, opzioni, cartelle, attività cron o file generati.

Ciò non significa che tutti i plugin disattivati rallentino WordPress. Una cartella inattiva di solito non influisce sulle prestazioni solo per il fatto di esistere. Il problema sono i residui che continuano a caricarsi o elaborarsi.

Rivedi:

  • Se ci sono attività del plugin in WP-Cron.
  • Se mantiene opzioni autoload.
  • Se ha creato le proprie tabelle.
  • Se ha lasciato grandi quantità di file in wp-content/uploads.
  • Se ha un’opzione per eliminare i suoi dati al momento della disinstallazione.

Come risolverlo?

Se il plugin è ancora installato, controlla le sue impostazioni prima di eliminarlo. Alcuni strumenti includono opzioni come «elimina dati al momento della disinstallazione», ma non le attivano per impostazione predefinita per evitare perdite accidentali.

Se lo hai già eliminato, puoi reinstallarlo temporaneamente in staging e utilizzare il suo processo di disinstallazione. Fai questo solo quando sei sicuro che sia lo stesso plugin e non hai più bisogno dei suoi dati.

Non eliminare una tabella basandoti solo sul suo nome. Potrebbe contenere ordini, moduli, statistiche o configurazioni ancora utilizzate da un’altra parte del sito.

Installare un altro plugin di pulizia non dovrebbe essere la risposta automatica. Prima, identifica i residui specifici e decidi quale strumento ti serve per rimuoverli.

Come sapere se hai risolto il problema

Dopo aver corretto una di queste cause, ripeti esattamente il test iniziale:

  • Apri la stessa pagina o schermata.
  • Esegui il test in condizioni simili.
  • Controlla il tempo di risposta.
  • Rivedi se le code e gli errori diminuiscono.
  • Conferma che le funzioni correlate continuino a funzionare.

Non controllare solo la homepage. Se hai intervenuto in WooCommerce, testa un ordine. Inoltre, se hai modificato WP-Cron, verifica che le attività vengano eseguite. Se hai pulito i dati di un plugin, rivedi le funzioni che dipendevano da esso.

L’obiettivo non è ottenere un database «vuoto», ma eliminare il lavoro non necessario senza rompere ciò di cui WordPress ha bisogno.

Domande Frequenti

Perché WordPress è ancora lento se ho già ottimizzato le immagini?

Perché le immagini influenzano principalmente il contenuto che il browser scarica. L’attesa può verificarsi anche prima, mentre WordPress esegue PHP, interroga il database, elabora attività pianificate o attende una risposta da un servizio esterno.

I plugin disattivati rallentano WordPress?

Non necessariamente. Un plugin disattivato di solito non esegue il suo codice, ma potrebbe aver lasciato opzioni autoload, tabelle, file o attività pianificate. Sono quei residui che dovrebbero essere rivisti.

Cos’è il TTFB e come è correlato a WordPress?

Il TTFB misura quanto tempo impiega il browser a ricevere il primo byte della risposta. Un valore elevato può indicare un’elaborazione lenta sul server, sebbene anche la rete, la cache e la posizione dell’utente influenzino. È un segnale iniziale, non una diagnosi definitiva.

È sicuro pulire il database con un plugin?

Può esserlo se rivedi ogni elemento e hai un backup. Non utilizzare la pulizia automatica senza controllare cosa eliminerà, né eliminare tabelle o opzioni solo perché sembrano vecchie.

È consigliabile disabilitare WP-Cron?

Solo se intendi sostituirlo con un’attività cron del server configurata correttamente. Disabilitarlo senza un’alternativa può impedire l’esecuzione di post pianificati, aggiornamenti e altri processi automatici.

Quando dovrei cercare aiuto tecnico?

Quando hai bisogno di modificare direttamente il database, modificare gli indici SQL, configurare attività cron sul server o eliminare informazioni di cui non puoi identificare con certezza l’origine.

Abbiamo soluzioni per tutti