Skip to content

La tabella delle opzioni nel database di WordPress diventa spesso un collo di bottiglia per le prestazioni, in particolare nei siti più vecchi e forse più complessi. In questo articolo ti mostro alcuni suggerimenti per aiutarti a prendere il controllo della tabella wp_options.

La tabella wp_options è un’area che spesso viene trascurata quando si tratta di prestazioni generali di WordPress. Soprattutto nei siti più grandi questa tabella può causare tempi di caricamento lenti a causa dei dati in autoload che sono lasciati da plugin e temi di terze parti.

A cosa serve la tabella wp_options?

La tabella wp_options contiene diversi tipi di dati come ad esempio:

  • URL del sito
  • URL della homepage
  • e-mail dell’amministratore
  • categoria predefinita
  • numero di post per pagina
  • formato della data
  • impostazioni per plugin, temi, widget, …
  • dati temporaneamente memorizzati nella cache
  • etc, …

La tabella contiene i seguenti campi (colonne), uno dei quali ci interessa in particolar modo quando si tratta di prestazioni:

  • option_id
  • option_name
  • option_value
  • autoload
Elementi autoload in wp_options

Una cosa importante da conoscere sulla tabella wp_options è la funzione del campo autoload. Questo campo contiene un valore che può essere impostato come yes oppure no. Il valore controlla essenzialmente se l’opzione deve essere caricata dalla funzione wp_load_alloptions() oppure no.

I dati autoload sono i dati che vengono caricati in ogni pagina del sito di WordPress. L’attributo autoload è impostato su “yes” per impostazione predefinita per gli sviluppatori, ma non tutti i plugin dovrebbero teoricamente caricare i propri dati su ogni pagina.

Il problema nasce quando i dati in autoload diventano tanti e pesanti da caricare. Questo in genere viene causato quando:

  • I dati di un plugin vengono caricati su tutte le pagine del sito quando invece non servirebbe. Un buon esempio è dato dai plugin di moduli di contatto. Il plugin deve caricare i dati su ogni pagina o solo la pagina di contatto?
  • I plugin o i temi sono stati rimossi dal sito WordPress ma le loro opzioni sono rimaste nella tabella wp_options. Questa dimenticanza potrebbe far caricare dati non necessari ad ogni richiesta, rallentando l’esecuzione della pagina.
  • Gli sviluppatori di plugin e temi salvano dati nella tabella wp_options invece di utilizzare le proprie tabelle. Ci sono sostenitori per entrambe le modalità di salvataggio delle opzioni, infatti diversi sviluppatori preferiscono plugin che non creano tabelle aggiuntive nel database. Tuttavia, la tabella wp_options non è stata progettata per contenere migliaia di righe.

Qual è una buona dimensione per le opzioni in autoload e quando invece è troppo? Naturalmente questo può variare, ma come linea guida generale si considera un buon valore se inferiore ad 1 MB. Quando i dati in autoload pesano più di 3 MB ci sono probabilmente cose che possono essere ottimizzate o rimosse dal caricamento automatico. Ad ogni modo situazioni con autoload maggiori di 10 MB andrebbero risolte al più presto.

Controlla la dimensione dei dati autoload

Se stai notando rallentamenti nel tuo sito WordPress, il problema potrebbe essere dovuto ad una query o dati autoloaded lasciati da un vecchio plugin. Di seguito ti mostro come controllare la dimensione dei dati autoload nel tuo database. Per effettuare questa operazione accedi a phpMyAdmin. Fai clic sul database da analizzare nella colonna a sinistra, quindi sulla scheda SQL nel menu orizzontale in alto. Quindi immetti il seguente comando e premi “Go”.

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';
Potrebbe essere necessario modificare la query sopra se il tuo sito di WordPress utilizza un prefisso diverso da wp_.

Visualizzare la grandezza degli elementi autoload

L’autoload_size restituirà il valore in byte. Ci sono 1000 byte in un KB e 1000 KB in un MB. Quindi nel nostro caso, 193.441 byte equivale a 0,19 MB. Per questo sito è una buona dimensione! Se ottieni valori inferiori ad 1 MB non dovresti preoccuparti. Tuttavia, se il risultato è molto più grande, continua con questo tutorial.

Ordina i dati per dimensione di autoload

Il prossimo passo è quello di ordinare gli elementi in autoload, dal più pesante al più leggero. Ecco un rapido comando SQL che puoi utilizzare per elencare i primi 20 elementi:

SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 20;
Ancora una volta, potrebbe essere necessario modificare la query se il tuo sito di WordPress utilizza un prefisso diverso da wp_.

Ordinare gli elementi per grandezza autoload

Decidi cosa eliminare

L’ultimo passo è decidere cosa lasciare e cosa eliminarea.

Attenzione, prima di eliminare qualsiasi cosa fai il backup del database di WordPress!

Se vedi nella TOP 20 appena generata opzioni con nomi che non riconosci, cerca su Google, sarà facile risalire al plugin che ha generato quel campo.

Elimina tutti i campi di opzioni e temi che non stai più usando. Io eseguo questo controllo una volta l’anno e, sebbene non sia mia abitudine testare nuovi plugin sul sito in produzione, trovo sempre qualcosa da eliminare.

Fammi sapere nei commenti se la pulizia della tabella wp_options ti ha portato benefici!

Articoli correlati

Autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi articoli aggiornati

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’expertise di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1123 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Affidati alla nostra esperienza per fare la differenza.
Richiedi un preventivo

Non perderti altre guide, iscriviti per ricevere un avviso mensile con gli aggiornamenti del blog!

Iscriviti alla newsletter!

Informativa sui cookies

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di esperienza e misurazione come specificato nella cookie policy. Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” per continuare senza accettare.