Elimina tutti i transienti di WordPress

Come eliminare tutte le transizioni in WordPress (4 metodi)

· 16 min di lettura ·
Scritto da: avatar autore Joella Dunn
avatar autore Joella Dunn
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator, è specializzata nella manutenzione del sito, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è garantire che il tuo sito web WordPress sia sicuro e pronto per la crescita.
·
Revisionato da: avatar recensore John Turner
avatar recensore John Turner
John Turner è il Presidente di Duplicator. Ha oltre 20 anni di esperienza nel settore aziendale e nello sviluppo e i suoi plugin sono stati scaricati oltre 25 milioni di volte.

I transient sono valori memorizzati nella cache temporaneamente che i tuoi plugin salvano nel database di WordPress.

Un plugin esegue un'operazione costosa (come una chiamata API, una query complessa o il recupero di un feed). Invece di ripetere quel lavoro ad ogni caricamento della pagina, salva il risultato come un transient con un tempo di scadenza.

Quando il timer scade, WordPress dovrebbe eliminarlo. Il problema è che WordPress elimina un transient solo quando qualcosa lo richiede.

Se un plugin viene disattivato, o uno sviluppatore cambia una chiave transient, quelle righe rimangono nel database indefinitamente.

Su un sito che è in funzione da alcuni anni, ciò può portare a migliaia di righe orfane nella tua tabella wp_options, ognuna delle quali appesantisce ogni query al database che la tocca.

In questo post, ti mostrerò come eliminare tutti i transient in WordPress.

Ecco i punti chiave:

  • I transient si accumulano perché WordPress utilizza l'eliminazione pigra. Una riga viene rimossa solo quando qualcosa la richiede, quindi i plugin disattivati lasciano righe orfane indefinitamente.
  • Prima di eseguire qualsiasi metodo di pulizia, controlla prima il conteggio dei tuoi transient. Meno di 100 righe probabilmente non faranno la differenza.
  • DB Optimizer è il metodo più sicuro tramite plugin. Visualizza in anteprima ciò che rimuoverà, applica una soglia di conservazione di 7 giorni per proteggere i dati creati di recente e gestisce anche l'ottimizzazione della tabella.
  • Ogni transient crea due righe nel database, una riga di valore e una riga di timeout. Il tuo metodo di pulizia deve rimuoverle entrambe, non solo una.
  • Un breve rallentamento del sito subito dopo la pulizia è normale. I plugin ricostruiscono le loro cache alla prima richiesta dopo l'eliminazione.

Indice

Cosa sono i Transient di WordPress?

I transient sono valori memorizzati nella cache temporaneamente nel tuo database WordPress. I plugin li usano per evitare di ripetere operazioni costose.

Invece di effettuare una chiamata API remota o eseguire una pesante query al database ad ogni caricamento della pagina, un plugin esegue l'operazione una volta, salva il risultato come transient e lo riutilizza fino a quando non scade il tempo di scadenza.

Un widget meteo potrebbe memorizzare nella cache le previsioni attuali per 30 minuti. Un plugin che recupera un feed di prodotti esterno potrebbe memorizzare nella cache i risultati per un'ora. Senza i transient, ogni caricamento della pagina attiverebbe quella richiesta da zero.

Ecco dove le cose vanno storte.

Ogni transient crea in realtà due righe nella tua tabella wp_options: una riga di valore (_transient_nomeplugin) e una riga di timestamp di scadenza (_transient_timeout_nomeplugin). Entrambe devono essere rimosse per una pulizia reale.

WordPress non le pulisce secondo una pianificazione. Utilizza l'eliminazione pigra, il che significa che un transient viene rimosso solo quando qualcosa lo richiede.

Se un plugin viene disattivato prima che i suoi transient scadano, o uno sviluppatore cambia il nome della chiave in un aggiornamento del codice, quelle righe non vengono mai più richieste. Rimangono lì.

Su un sito che ha cambiato plugin nel corso degli anni, si tratta di molte righe che non servono a nessuno scopo.

Non rompono nulla, ma gonfiano la tabella wp_options e rallentano ogni query che viene eseguita su di essa, comprese quelle che alimentano le schermate di amministrazione di WordPress.

Hai bisogno di eliminare i Transient di WordPress?

Non tutti i siti necessitano di una pulizia dei transient. Prima di eseguire qualsiasi operazione, vale la pena dedicare qualche minuto a confermare che il problema esista effettivamente sul tuo sito.

Segni che vale la pena farlo

Se qualcuna di queste situazioni ti suona familiare, una pulizia vale la pena:

  • La tua tabella wp_options è insolitamente grande (oltre 10 MB è un segnale comune)
  • Le schermate di amministrazione di WordPress sono lente a caricarsi, in particolare la dashboard e le pagine delle impostazioni dei plugin
  • Hai disattivato o eliminato di recente diversi plugin e sospetti che abbiano lasciato dati
  • Un controllo del conteggio delle righe mostra centinaia o migliaia di righe transient

Segni che probabilmente puoi saltarla

Se il tuo sito rientra in una di queste categorie, la pulizia dei transient probabilmente non farà la differenza:

  • Il tuo sito è veloce, il tuo database è sano e il tuo host ha abilitato una cache degli oggetti persistente. Redis e Memcached memorizzano i transient in memoria invece che nel database, quindi non c'è nulla da pulire in wp_options.
  • Sei su un host WordPress gestito come WP Engine o Kinsta. La maggior parte di questi abilita la cache degli oggetti per impostazione predefinita. Verifica con il tuo host se non sei sicuro.

Come controllare il conteggio dei transient

Per vedere esattamente quante righe transient ci sono nel tuo database, accedi a phpMyAdmin, fai clic sulla scheda SQL ed esegui questa query:

SELECT COUNT(*) FROM wp_options WHERE option_name LIKE '%_transient_%';

Se il risultato è nell'ordine delle centinaia o migliaia, la pulizia è utile. Sotto 100, probabilmente non vale la pena.

L'eliminazione dei transient è sempre sicura. Sono temporanei per progettazione, e WordPress e i tuoi plugin ricreeranno tutto ciò di cui hanno bisogno. L'unico vero rischio è eseguire una query di eliminazione di massa senza un backup prima.

Come eliminare tutti i Transient di WordPress

Ci sono quattro modi per farlo. Quello giusto dipende dagli strumenti a cui hai già accesso.

  • Metodo 1: DB Optimizer: l'opzione più adatta ai principianti. Ti mostra esattamente cosa rimuoverà prima di confermare qualsiasi cosa, e non toccherà i dati creati negli ultimi 7 giorni.
  • Metodo 2: WP Rocket: se WP Rocket è già il tuo plugin di caching, la pulizia dei transient è integrata nella scheda Database.
  • Metodo 3: WP-CLI: un comando e fatto. Ideale per chiunque abbia accesso SSH al proprio server.
  • Metodo 4: phpMyAdmin: query SQL diretta che funziona su qualsiasi host.

Se il gonfiore dei transient è interamente dovuto alla cache dei prodotti di WooCommerce, c'è una scorciatoia integrata.

Vai su WooCommerce » Stato » Strumenti. Cancella solo i transient di WooCommerce o tutti i transient di WordPress.

Pulisci i transienti di WooCommerce

Per qualsiasi cosa di più ampio, usa uno dei quattro metodi seguenti.

Prima di iniziare: esegui prima il backup del tuo database. Stai per eliminare righe da wp_options, che è una delle tabelle più importanti del tuo database WordPress.

Raccomando di usare Duplicator Pro per questo. Crea un nuovo backup, chiamalo qualcosa di specifico come "pre-pulizia-transient" e lascialo eseguire.

Aggiungi un nuovo backup con Duplicator

Quando appare nella schermata Backup, sei pronto per procedere. Se qualcosa si comporta in modo imprevisto dopo la pulizia, hai un percorso di ripristino con un clic.

DB Optimizer è un plugin di ottimizzazione del database che rimuove i transienti, insieme a revisioni, overhead delle tabelle, dimensione autoload e cestino di WordPress. Ti mostra un'anteprima di ciò che rimuoverà e applica una soglia di conservazione per proteggere i dati creati di recente.

Plugin DB Optimizer

Se hai un piano Duplicator Pro, DB Optimizer è incluso gratuitamente. Una volta attivato, apri DB Optimizer dalla barra laterale di amministrazione di WordPress.

La dashboard visualizza un punteggio di salute da 0 a 100 con barre colorate in diverse categorie. Controlla il punteggio Transienti per vedere se necessitano di essere puliti.

Punteggio transienti DB Optimizer

Se necessario, vai su Pulizia. Trova la riga Transienti e Cache. Mostra il conteggio dei transienti scaduti nel tuo database e lo spazio che recupereresti rimuovendoli.

Pulisci i dati transitori scaduti

Selezionalo insieme ad altri dati da rimuovere e premi Pulisci elementi selezionati. Oppure, fai clic sul pulsante Pulisci accanto alla riga dei transienti.

Nel pop-up, conferma che desideri eseguire la pulizia.

Elimina tutti i transienti di WordPress

La soglia di conservazione è impostata di default su 7 giorni, il che significa che non toccherà nulla creato nell'ultima settimana. Ciò protegge le cache dei plugin attivi che, sebbene scadute per timestamp, sono ancora in uso regolare.

Conservazione pulizia database

Quando DB Optimizer finisce di rimuovere i transienti, il tuo punteggio di salute si aggiorna e il conteggio dei transienti diminuisce.

Il plugin gratuito Transients Manager ti fornisce un elenco completo di tutti i transienti sotto Strumenti » Transienti. Puoi selezionarli in blocco ed eliminarli dall'elenco. Tuttavia, non è stato aggiornato con gli ultimi 3 aggiornamenti di WordPress.

Metodo 2: Usa WP Rocket

Se WP Rocket è già in esecuzione sul tuo sito, non è necessario installare nulla di aggiuntivo. La pulizia dei transienti è integrata nella scheda Database.

Impostazioni database WP Rocket

Vai su Impostazioni » WP Rocket nella tua amministrazione di WordPress e fai clic sulla scheda Database. Scorri verso il basso fino alla sezione Pulizia Transienti.

Pulisci i transienti con WP Rocket

Vedrai due opzioni:

  • Rimuovi tutti i transienti: cancella tutto, inclusi i transienti attivi. I tuoi plugin li ricostruiranno alla prossima richiesta, ma aspettati un breve rallentamento nei primi caricamenti di pagina.
  • Rimuovi solo i transienti scaduti: l'opzione più sicura. Rimuove solo le righe che hanno già superato il loro tempo di scadenza e non influenzerà nulla che i tuoi plugin stanno utilizzando attivamente.

Seleziona la tua preferenza e fai clic su Salva modifiche e ottimizza. WP Rocket esegue immediatamente la pulizia.

Questo è l'unico metodo qui che può essere eseguito automaticamente su pianificazione. Una volta impostato, WP Rocket gestisce la pulizia continua dei transienti senza che tu debba tornare indietro e farla manualmente.

Metodo 3: Usa WP-CLI

WP-CLI gestisce la pulizia dei transienti in pochi secondi se hai accesso SSH al tuo server.

Connettiti al tuo server tramite SSH e naviga nella directory principale di WordPress:

cd /path/to/your/wordpress

Per eliminare solo i transienti scaduti, esegui:

wp transient delete --expired

Per eliminare tutti i transienti, esegui:

wp transient delete --all

Il terminale stamperà un conteggio dei transienti eliminati in modo da poter confermare l'esecuzione.

Prima di usare --all, quel comando elimina anche i transienti attivi, non solo quelli scaduti. I tuoi plugin li ricreeranno alla prossima richiesta, ma ci sarà un breve rallentamento mentre si ricostruiscono.

Se vuoi essere prudente, inizia con --expired.

Se gestisci una rete WordPress Multisite, --all cancella solo i transienti a livello di sito. Esegui un secondo comando per cancellare i transienti a livello di rete:

wp transient delete --all --network

Metodo 4: Usa phpMyAdmin

Puoi usare phpMyAdmin per pulire i transienti se non vuoi installare plugin o non hai accesso SSH. Va direttamente al database.

Accedi al pannello di controllo del tuo hosting e apri phpMyAdmin. Seleziona il tuo database WordPress dalla barra laterale sinistra, quindi fai clic sulla scheda SQL in alto.

Scheda SQL di phpMyAdmin

Prima di eseguire qualsiasi cosa, controlla il prefisso della tua tabella. Guarda nel pannello di sinistra in phpMyAdmin e conferma che la tua tabella delle opzioni si chiami wp_options.

Alcune installazioni utilizzano un prefisso personalizzato impostato durante l'installazione, come mysite_options. Se il tuo è diverso, sostituisci wp_options nella query con il nome corretto.

Incolla questa query nella scheda SQL e fai clic su Esegui:

DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';

Questa singola query rimuove entrambi i tipi di righe che WordPress memorizza per ogni transiente: la riga del valore (_transient_pluginname) e la riga del timestamp di scadenza (_transient_timeout_pluginname).

Eseguirla una volta cancella entrambi. Se eliminassi solo le righe dei valori, le righe di scadenza rimarrebbero come disordine orfano.

Dopo l'esecuzione della query, seleziona la tabella wp_options dalla barra laterale sinistra e fai clic su Ottimizza tabella. L'eliminazione delle righe non recupera lo spazio su disco da sola. Ottimizzare la tabella è il passaggio che la riduce effettivamente.

Come prevenire l'accumulo di Transient in futuro

Una pulizia una tantum è utile, ma se non affronti la fonte, il conteggio risalirà. Ecco come evitare che accada di nuovo.

Abilita una cache degli oggetti persistente. Se il tuo host supporta Redis o Memcached, attivalo.

I transienti vengono memorizzati nella memoria invece che nel database, scadono nativamente e non scrivono mai su wp_options. Questa è la soluzione a lungo termine più efficace.

Se esegui una pulizia e il conteggio dei transienti torna a migliaia entro pochi giorni, un plugin li sta generando più velocemente di quanto scadano. Questo è un problema di comportamento del plugin, non un problema di pulizia.

Usa wp transient list in WP-CLI o il plugin Transients Manager per vedere quale plugin possiede le righe, quindi verifica se ha un'opzione di configurazione per ridurre la frequenza con cui le crea.

Risoluzione dei problemi nell'eliminazione dei Transient

Anche una semplice pulizia del database può incontrare un intoppo. Ecco i problemi più comuni e come superarli.

Il sito è rallentato dopo l'eliminazione dei transienti

Noterai questo come caricamenti di pagina più lenti nei minuti immediatamente successivi alla pulizia. È normale e temporaneo.

I tuoi plugin stanno ricreando i loro dati memorizzati nella cache alla prima richiesta dopo la pulizia. Attendi da 10 a 15 minuti e ricarica. La velocità dovrebbe tornare alla normalità o migliorare rispetto a prima della pulizia.

Il conteggio transitorio è tornato immediatamente

Hai eseguito la pulizia, ma DB Optimizer o un controllo del conteggio delle righe mostrano di nuovo centinaia di transitori entro poche ore. Un plugin sul tuo sito sta generando transitori più velocemente di quanto scadano, il che è un problema di configurazione o di codice di quel plugin, non un problema con il tuo metodo di pulizia.

Per trovare la fonte, esegui `wp transient list` in WP-CLI per vedere un elenco completo dei nomi dei transitori e di quale plugin sono proprietari.

In alternativa, installa Transients Manager e sfoglia l'elenco sotto Strumenti » Transitori.

Una volta identificato il plugin, controlla le sue impostazioni per qualsiasi opzione che controlli la frequenza della cache. Se non c'è un'impostazione e il volume è irragionevole, vale la pena contattare il team di supporto del plugin.

La query phpMyAdmin ha restituito un errore

La causa più comune è una discrepanza nel prefisso della tabella. La tua installazione di WordPress potrebbe utilizzare un prefisso personalizzato impostato durante l'installazione e la query sta puntando al nome della tabella sbagliato.

Apri wp-config.php e trova la riga che dice $table_prefix. Sostituisci wp_options nella tua query con il prefisso corretto (come mysite_options) ed eseguila di nuovo.

Se l'errore menziona permessi di accesso, il tuo utente del database potrebbe non avere i privilegi di DELETE. Contatta il tuo host per confermare che il tuo utente del database abbia le autorizzazioni necessarie.

Un plugin ha smesso di funzionare dopo la pulizia

Quello che vedrai è una funzionalità del plugin che restituisce risultati vuoti, genera un errore o si comporta come se fosse stato appena installato per la prima volta. Hai eliminato un transitorio attivo su cui quel plugin faceva affidamento.

La maggior parte dei plugin ben codificati lo ricreerà automaticamente alla prossima richiesta. Prova a disattivare e riattivare il plugin interessato per forzarlo a ricostruire la sua cache.

Se non si ripristina dopo la riattivazione, ripristina il backup di Duplicator che hai creato prima di iniziare.

Questo ti riporta allo stato esatto in cui si trovava il tuo database prima della pulizia, e da lì puoi indagare su quale plugin sia il problema prima di riprovare.

Nulla funziona

Ripristina prima un backup. Apri Duplicator Pro » Backups nella tua bacheca di WordPress, trova il backup che hai creato prima di iniziare ed esegui il ripristino.

Ripristina backup

Se la tua bacheca di WordPress è inaccessibile, l'URL di ripristino di emergenza di Duplicator Pro può ripristinare il sito anche quando wp-admin è bloccato.

Opzioni di ripristino di emergenza

Se hai inviato il backup a Duplicator Cloud, puoi ripristinare il tuo sito da remoto.

Ripristino backup completo da Duplicator Cloud

Una volta che il sito è tornato alla normalità, contatta il team di supporto del tuo host con il messaggio di errore specifico che hai visto.

Se non sei sicuro da dove provenga l'errore, i forum di supporto di WordPress.org sono un buon punto di partenza successivo: pubblica il tuo elenco di plugin e il testo esatto dell'errore.

Domande frequenti (FAQ)

Cosa sono i transitori di WordPress?

I transitori sono valori temporanei memorizzati nella cache del tuo database WordPress. I plugin li utilizzano per salvare i risultati di operazioni costose, come chiamate API remote o query di database complesse, in modo da non dover ripetere quel lavoro ad ogni caricamento della pagina.

Ogni transient ha un tempo di scadenza. Quando scade, WordPress dovrebbe eliminarlo automaticamente, anche se in pratica ciò non accade sempre.

È sicuro eliminare tutti i transient di WordPress?

Sì, con una condizione: esegui prima il backup del tuo database. I transient sono progettati per essere temporanei e WordPress e i tuoi plugin ricreeranno quelli di cui hanno effettivamente bisogno.

Il rischio non è un danno permanente. Si tratta di un breve rallentamento mentre i plugin ricostruiscono le loro cache e, in rari casi, un plugin codificato male che non si riprende correttamente. Un backup copre entrambi gli scenari.

Ogni quanto dovrei eliminare i transient?

Non esiste una pianificazione universale. Se il tuo database è sano e il tuo sito è veloce, non c'è urgenza. Se stai riscontrando un gonfiore della tabella wp_options o lentezza nelle schermate di amministrazione, esegui una pulizia. Per i siti attivi con molti plugin, una pulizia mensile è ragionevole.

L'eliminazione dei transient migliorerà la velocità del mio sito?

Dipende da quanto è gonfio il tuo database. Se la tua tabella wp_options contiene migliaia di righe di transient orfane, rimuoverle può ridurre significativamente i tempi di query, specialmente nell'area di amministrazione di WordPress. Su un database pulito con meno di 100 righe di transient, probabilmente non noterai alcuna differenza.

Dovrei eliminare i transient prima di migrare il mio sito?

Ne vale la pena. Migrare un database gonfio richiede più tempo e produce un file di backup più grande. Eseguire una pulizia dei transient prima di clonare o migrare significa che stai spostando un database più snello, il che velocizza la migrazione e riduce le dimensioni del file di backup.

Qual è la differenza tra eliminare i transient scaduti ed eliminare tutti i transient?

I transient scaduti hanno superato il loro tempo di vita e non servono a nulla. Eliminarli è sempre sicuro. Eliminare tutti i transient include le righe che i tuoi plugin stanno ancora utilizzando attivamente come cache. WordPress li ricreerà alla prossima richiesta, ma vedrai un temporaneo rallentamento mentre i plugin li ricostruiscono. Se vuoi essere prudente, inizia solo con quelli scaduti.

Cosa succede se il mio hosting utilizza Redis o Memcached?

Se il tuo hosting ha una cache persistente degli oggetti abilitata, i transient vengono archiviati nella memoria anziché nel database. La query SQL e l'ottimizzatore del database non troveranno righe di transient nel database da eliminare perché non ce ne sono. Questo è un comportamento previsto, non un errore. Verifica con il tuo hosting per confermare se la cache degli oggetti è attiva sul tuo account.

Il flag --all di WP-CLI cancella anche i transient di Multisite?

No. Il flag --all cancella solo i transient a livello di sito. Su una rete WordPress Multisite, è necessario eseguire un secondo comando per cancellare i transient a livello di rete: wp transient delete --all --network. Se lo salti, le righe dei transient a livello di rete rimangono nel database.

Il tuo database non rimane pulito da solo

Hai appena rimosso righe che aggiungevano silenziosamente overhead a ogni query del database sul tuo sito. La tabella wp_options sarà più snella, le schermate di amministrazione si caricheranno più velocemente e avrai una cosa in meno che si accumula in background senza che tu lo sappia.

In futuro, monitora il conteggio transitorio anziché considerare questa operazione come una soluzione una tantum. Se risale a migliaia entro una settimana da una pulizia, è un segnale su cui vale la pena agire.

Un'altra cosa facile da trascurare: l'eliminazione delle righe transitorie non riduce automaticamente il tuo database su disco. Lo spazio occupato da tali righe rimane riservato finché non esegui un'ottimizzazione.

DB Optimizer gestisce questo aspetto come parte del processo di pulizia. Quel passaggio finale è ciò che in realtà recupera lo spazio e ottiene il pieno beneficio in termini di prestazioni.

Ottieni DB Optimizer gratuitamente con Duplicator Pro!

Se questo tutorial ti ha aiutato a ottimizzare il tuo database, vale la pena aggiungere ai preferiti anche queste guide.

avatar autore
Joella Dunn Content Writer
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator, è specializzata nella manutenzione del sito, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è garantire che il tuo sito web WordPress sia sicuro e pronto per la crescita.
I nostri contenuti sono supportati dai lettori. Se fai clic su determinati link, potremmo ricevere una commissione.

Non lasciare che un altro giorno passi senza protezione

Ogni ora senza backup adeguati di WordPress mette il tuo sito a rischio • Ogni migrazione di WordPress ritardata ti costa in termini di prestazioni e crescita

Ottieni Duplicator Ora
Plugin Duplicatore

Aspetta! Non perdere la tua
offerta esclusiva!

Come cliente , ottieni il 60% DI SCONTO

Prova Duplicator gratuitamente sul tuo sito: scopri perché oltre 1,5 milioni di professionisti di WordPress si fidano di noi. Ma non aspettare: questo sconto esclusivo del 60% è disponibile solo per un periodo limitato.

o
Ottieni 60% di Sconto su Duplicator Pro Ora →