WordPress dispone di una specifica API denominata Transient API, che offre un modo standardizzato di memorizzare temporaneamente dati all'interno del database, assegnando loro un nome e un periodo di tempo al termine del quale vengono eliminati. Si tratta di un tipo di caching che permette di archiviare temporaneamente informazioni che, normalmente, richiedono molto tempo per essere recuperati o calcolati. La Transient API offre, quindi, la possibilità di velocizzare notevolmente il caricamento delle pagine di WordPress.
In questa sede, però, non si descriveranno le funzionalità dell'API. Ciò che interessa sono invece i dati che possono accumularsi nel database, rischiando di generare nel tempo problemi di prestazioni.
Cosa sono i dati transient
I dati transient sono simili ai dati delle opzioni di WordPress. Come questi ultimi, vengono memorizzati nella tabella wp_options
del database, ma a differenza delle opzioni, i transient hanno un tempo di scadenza.
Come anticipato, però, non sempre i dati transient vengono eliminati alla scadenza prevista. Inoltre, non di rado vengono caricati in ogni pagina di WordPress, e questo potrebbe creare notevoli rallentamenti dell'intera installazione. Per rimettere ordine nella tabella wp_options
, si presentano quindi diverse soluzioni.
La prima, meno consigliabile per gli utenti meno esperti, è quella di eliminare manualmente i dati transient dal database tramite il pannello di amministrazione di phpMyAdmin.
La prima opzione è quella di creare una query nel form di ricerca, come mostrato nell'immagine che segue.
Il parametro inserito permette di effettuare una ricerca in cui il valore di option_name
contiene la stringa transient. Il risultato sarà un elenco di dati transient che nei siti più grandi può arrivare a contenere centinaia o migliaia di righe.
Questo tipo di ricerca equivale ad effettuare sul database la seguente query:
SELECT * FROM `io_options` WHERE `option_name` LIKE '%transient%'
Invece di operare direttamente sul database, operazione sempre rischiosa anche per i più esperti, c'è sempre la possibilità di utilizzare un plugin. Tra i vari plugin disponibili nella directory di WordPress.org, si segnalano i seguenti:
Per i fini di questo articolo, si è scelto il plugin Transients Manager il quale vanta oltre 10.000 installazioni attive e una valutazione assoluta di 5 stelle su 5.
Una volta installato, il plugin genera una pagina di amministrazione accessibile dal menu "Strumenti -> Transients". In questa pagina vengono visualizzati tutti i transient rilevati, che potranno quindi essere modificati o eliminati singolarmente o attraverso operazioni di gruppo. Con un solo pulsante sarà possibile eliminare i transient scaduti, eliminare tutti quelli per i quali è impostata una data di scadenza, oppure, in ultimo, eliminare tutti i transient.
L'analisi dei dati transient è importante soprattutto nei siti più datati e di maggiori dimensioni. Accade spesso, infatti, che l'eliminazione di plugin non più utilizzati non rimuove non solo le opzioni di configurazione, ma nemmeno i dati transitori, generando un accumulo di dati che nel tempo possono rallentare inesorabilmente le query di WordPress.