Pulire e ottimizzare database WordPress utilizzando query sql

Ottimizzare e pulire il database di wordpress è una pratica utile a snellire il vostro cms da dati obsoleti.

Prima di procedere con la pulizia e l’ottimizzazione si consiglia un backup del database.

Per farlo andate dal vostropannello PHPMYADMIN e cliccate sul database quindi su ESPORTA . Oppure puoi leggere questo utile articolo a riguardo.

Per pulire il database di wordpress andate su PHPMYADMIN e selezionate SQL  (vedi foto esempio)

In questa finestra potrete incollare i comandi di seguito:

Questo comando cancella tutte le voci della tabella inutilizzati della tabella WP_POSTMETA

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
 
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
 
DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

Rimuove voci inutili di akismet e voci non associate alla tabella WP_COMMENTMETA

DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%';
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

Eliminiamo i commenti di SPAM e quelli non approvati in una sola volta  nella tabella WP_COMMENTS:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
DELETE from wp_comments WHERE comment_approved = '0';

Rimuove le revisioni dei post esistenti nella tabella WP_POST

DELETE FROM wp_posts WHERE post_type = 'revision';

Rimuovere tutti i dati _transients non utilizzati nella tabella WP_OPTIONS

Questo comando restituisce solo un elenco dei dati _transients non utilizzati

SELECT option_name FROM wp_options WHERE option_name LIKE '_transient_timeout%' AND option_value < now();

Per rimuovere i dati _transients inutilizzati eseguire:

DELETE FROM wp_options WHERE option_name LIKE '_transient_rss_%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_rss%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_feed_%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_feed_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_browser_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_timeout_browser_%';