Come ottimizzare il database di WordPress

Il database di WordPress memorizza tutte le informazioni più importanti di un sito web. Nel tempo questo archivio di informazioni può riempirsi e di conseguenza rallentare il sito. È importante quindi fare manutenzione al fine di assicurare la migliore prestazione possibile.

Ci sono diversi metodi che si possono utilizzare per ottimizzare il database di WordPress, il primo su tutti è l’ottimizzazione manuale delle tabelle del database.

Questa procedura si avvale dello strumento PhpMyAdmin per accedere database WordPress del sito web, dando la possibilità di visualizzare, modificare ed eliminare tabelle.

È il metodo che conferisce il maggior controllo possibile sul processo di pulizia.

Prima di iniziare le modifiche è consigliabile eseguire il backup del database per assicurarsi di non perdere file importanti per errore.

Con la maggior parte dei provider di hosting si può accedere a PhpMyAdmin tramite cPanel.

Scorrendo fino alla sezione DATABASE e PhpMyAdmin si raggiunge il database del sito WordPress, nella parte inferiore dell’elenco bisognerà selezionare la casella SELEZIONA TUTTO > OTTIMIZZA TABELLA dal menu che appare. Al termine del processo si riceverà un messaggio di conferma.

Il secondo metodo per ottimizzare il database di WordPress è quello di affidarsi ad un plugin, una soluzione che facilita e riduce il lavoro, sollevandoci dall’incarico di cercare manualmente tra le tabelle con PhpMyAdmin.

Tra i plugin migliori c’è WP-Optimize che ottimizza il database tramite:

  • L’eliminazione dei dati non necessari come commenti spam e opzioni transitorie;
  • La compattazione e deframmentazione di tabelle di database;
  • La pulizia del database su base programmata o automatizzata;
  • La creazione di backup dei dati di pre-ottimizzazione;
  • La visualizzazione delle statistiche sulla pulizia del database.

Una volta istallato e attivato nella dashboard di WordPress, attraverso DATABASE si arriva alla pagina OTTIMIZZAZIONI, da dove si possono selezionare elementi specifici ed eseguire l’ottimizzazione. Stesso vale per la scheda TABELLE, che possiamo selezionare e rimuovere.

Questo strumento ci informerà su quali plugin sono utilizzati gli elementi selezionati in modo da sapere subito quali delle funzioni del sito saranno influenzate dalla modifica.

Infine dalla scheda IMPOSTAZIONI si possono pianificare le pulizie del database, scegliendo la frequenza e i dati che possono essere eliminati.

Nella procedura di pulizia capita di rimuovere immagini, commenti e contenuti non aggiornati, ma questi elementi non scompaiono immediatamente dal database, rimangono nel cestino del sito web per 30 giorni.

Se si eliminano regolarmente molti elementi il consiglio è quello di svuotare il cestino frequentemente.

In alternativa si può facilmente ridurre la durata di permanenza di questi elementi nel cestino del database, modificando il file wp-config-php con l’editor di testo, aggiungendo

Define(‘EMPTY_TRASH_DAYS’,X)

Sostituendo alla “X” il numero di giorni che vogliamo trascorrano prima che gli elementi vengano definitivamente rimossi dal database di WordPress.

Un terzo metodo di ottimizzazione è la rimozione delle revisioni dei post. Il database WordPress memorizza le revisioni di tutti gli articoli e pagine, una raccolta utile quando si vogliono ripristinare le versioni precedenti dei contenuti o tener traccia delle modifiche apportate.

Queste revisioni, però, possono occupare molto spazio, molti post e pagine ne contengono centinaia, per questo è bene considerare di limitare il numero di revisioni dei post che WordPress salva, assicurandosi che eventuali post o pagine non riempiano il database.

Per far ciò bisognerà aprire il file wp-config.php, e inserire il codice

define(‘WP_POST_REVISIONS’,X)

sostituendo alla X il numero di revisioni dei post che si desiderano salvare.

In alternativa si possono disabilitare completamente le revisioni dei post aggiungendo

define(‘WP_POST_REVISIONS’,false)

Va considerato però il rischio di commettere errori in futuro senza la possibilità di fare affidamento sulle revisioni.

Se, invece, si vogliono eliminare quelle che sono già nel database è possibile utilizzare un plugin come Optimize Database after Deleting Revisions, che consente di eliminare tutte le revisioni o mantenere un numero specifico, oltre a permettere di eseguire ulteriori tipi di pulizia del database come l’eliminazione di commenti spam e tag inutilizzati.

Proprio l’eliminazione di commenti spam e tag inutilizzati è un’altra modalità di ottimizzazione del database di WordPress.

I commenti spam sono messaggi lasciati sui post del blog con link che riconducono ad altri siti web o spam.

Se WordPress o uno dei plugin istallati sospetta che un commento sia spam contrassegnerà l’elemento per l’approvazione, archiviandolo in COMMENTI > SPAM nella dashboard.

Dopo trenta giorni questi verranno automaticamente cancellati ma nel frattempo occuperanno spazio nel database.

Si possono facilmente eliminare selezionandoli e facendo clic su SVUOTA SPAM, o aprendo PhpMyAdmin ed eseguendo il comando

DELETE FROM wp_comments WERE comment_approved = ‘spam’

I tag possono aiutare ad organizzare il contenuto di sito web, reindirizzando i visitatori del sito per trovare articoli correlati, facilitando la navigazione e l’esperienza utente complessiva (UX).

È possibile però che alcuni tag siano inutilizzati, se per esempio sono stati modificati nel tempo.

Questi occupano spazio non necessario nel database e potrebbe essere utile eliminarli.

Connettendoci al database con PhpMyAdmin, bisognerà eseguire il comando

SELECT *

FROM wp_terms wterms INNER JOIN wp_term_taxonomy wttax ON wterms.term_id = wttax.term_id

WHERE wttax.taxonomy =  ‘post_tag’ AND wttax.count =0;

sostituendo “wp_” con il prefisso corrispondente del database comparirà un elenco di tag ridondanti sul sito web, che si possono eliminare eseguendo il comando

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );

DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Un ultimo modo per ottimizzare il database di WordPress è eliminando pingback e trackback.

Quando il sito web include URL di altri siti questo invia una notifica automatica al server, chiamata pingback, che notifica al sito citato il link al contenuto.

Pingback e trackback sono utilizzati da alcuni utenti per inviare spam ai loro contenuti quindi si potrebbero avere migliaia di siti che collegati al proprio, occupando spazio non necessario nel database.

Si può decidere di disattivarli entrambi, attraverso IMPOSTAZIONI > DISCUSSIONE, disattivando le voci:

  • Tentare di notificare tutti i blog che hanno un link nell’articolo;
  • Permetti i link di notifica da altri blog (pingback e trackback) per i nuovi articoli.

Si possono eliminare i trackback e pingback esistenti accedendo al database tramite PhpMyAdmin ed eseguendo il comando

UPTADE wp_posta SET ping_status= “closed”;