Come ottimizzare e riparare il database di WordPress

Il database di WordPress è di fatto molto semplice (si basa di default su dodici tabelle), ma alla lunga, installando e disinstallando plugins, aggiungendo e rimuovendo contenuti, può subire rallentamenti o nel peggiore dei casi malfunzionamenti.
Come difendersi da eventuali scarse performance derivanti da questo?
- Leggi l'articolo, ti bastano solo 2 minuti, 27 secondi
Sei di fretta? Scarica il PDF e consultalo quando vuoi!
Sommario
1 Pulizia manuale |
2 Ottimizzazione del database |
3 Il tool di riparazione di WordPress |
4 Considerazioni finali |
5 Commenti |
Pulizia manuale
La prima cosa da fare è sicuramente avere una buona cura del proprio sito con una serie di “best practices” attuabili semplicemente dal backend del tuo WordPress.
Infatti, tutti i dati non utilizzati sono a tutti gli effetti una inutile zavorra che pesa sulle performance del database del tuo sito WordPress. È quindi buona norma eliminare di tanto in tanto il contenuto del cestino ed i media, oltre ad articoli, pagine, categorie, tassonomie non utilizzati, liberando spazio nel database.
Oltre ai contenuti, spesso creano problemi di performance anche plugins e temi inutilizzati, che spesso creano tabelle personalizzate nel database oltre a generare molteplici opzioni che vanno a farcire la tabella wp_options. Disinstallare (fai attenzione: disinstallare e non semplicemente disattivare!) plugins e temi inattivi e non utili, rimuove tutte le righe superflue dal database.
Ottimizzazione del database
Il continuo alternarsi di sostanziali operazioni di inserimento e cancellazione di dati contenuti nei database, causa spesso rallentamenti nell’accesso ai dati in esso contenuti, in molti casi dovuti a problemi di indicizzazione dei contenuti. È quindi buona norma effettuare un’operazione di ottimizzazione del database che ricostruisca gli indici e riorganizzi la struttura fisica dei dati contenuti, riducendo lo spazio occupato e migliorando le performance di lettura e scrittura, rimuovendo il sovraccarico del tuo database.
Sebbene MySQL abbia un comando specifico per l’ottimizzazione delle tabelle, eccone un esempio eseguito sulla tabella wp_options:
OPTIMIZE TABLE wp_options
che può essere lanciato direttamente nel phpMyAdmin
Ma cosa puoi fare se non hai accesso al phpMyAdmin oppure non vuoi rischiare di accedere direttamente al database?
Il tool di riparazione di WordPress
Per i meno smaliziati è bene sapere che WordPress mette a disposizione un utilissimo tool per effettuare in modo massivo le operazioni di ottimizzazione sulle tabelle del database.
Per attivarlo, è sufficiente aprire il file wp_config.php, che trovi nello spazio FTP del tuo sito ed inserire:
define( 'WP_ALLOW_REPAIR', true );
Fatto? Bene, ora non ti resta che aprire dal tuo browser la URL:
https://{nome_del_tuo_sito}/wp-admin/maint/repair.php
ed otterrai la schermata:
La prima opzione, Riparazione database, effettua una serie di operazioni di controllo del database e corregge gli eventuali errori trovati. Qualche volta, raramente per la verità, può capitare che il database si corrompa creando malfunzionamenti e nel peggiore dei casi il collasso del sito.
I motivi principali della corruzione di un database, sono:
- guasto hardware
- crash del server o interruzione improvvisa di un processo di scrittura del database
- software sviluppati male, che scrivono nel database senza fare i dovuti controlli dei dati o senza effettuarne l’escape.
La seconda opzione, Riparazione ed ottimizzazione del database, oltre alle operazioni di riparazione appena descritte, effettua un’ottimizzazione delle tabelle del database di WordPress, ricostruendo gli indici, recuperando lo spazio sprecato, rimuovendo il sovraccarico e migliorando le performance del tuo sito web.
Considerazioni finali
Per motivi di sicurezza, ricorda bene due punti fondamentali:
- Ricordati di rimuovere la riga define( ‘WP_ALLOW_REPAIR’, true ); dal file wp-config.php una volta terminate le operazioni di riparazione ed ottimizzazione, in quanto queste ultime durante l’utilizzo causano un lock delle tabelle e quindi lo script di WordPress potrebbe essere utilizzato a scopo malevolo.
- Non dimenticare di effettuare un backup del tuo database prima di effettuare le operazioni di riparazione e/o ottimizzazione.
Ecco i risultati delle operazioni di pulizia (sia manuali che di ottimizzazione/riparazione) effettuati sulla tabella wp_options:
Considerando che la tabella in esempio è di dimensione contenute, sembra un bel risparmio, no?