Ottimizzazione database WordPress

Come ottimizzare database WordPress

Gestendo un blog basato su WordPress prima o poi sentiremo la necessità di fare qualche pulizia, vuoi per velocizzare il blog, vuoi per ridurre le dimensioni del database sql, se il nostro blog ha un certo traffico e lo aggiorniamo spesso questa è una fase che tutti dovremo passare, quindi eccovi una serie di consigli e trucchetti per ottimizzare il database WordPress.

Partiamo con alcune query sql da utilizzare tramite phpmyadmin, fate molta attenzione se non siete pratici quando agite direttamente sul database wordpress, il consiglio principe in questi casi è sempre e solo uno, effettuate la copia di backup prima di sperimentare qualsiasi cosa.

In questo articolo, non conoscendo il prefisso delle vostre tabelle mi limiterò ad indicare i vari comandi utilizzando quella standard di WordPress, ovvero ”WP_”, nel caso abbiate seguito i miei consigli, e quindi modificato tale valore durante la vostra installazione, mi raccomando di effettuare tale modifica anche ai comandi riportati nel corso della guida.

Es: La tabella post standard di WordPress è WP_posts, durante la vostra installazione il valore WP_ è stato modificato ad esempio in XyzWP_, la vostra tabella post si chiamerà di conseguenza XyzWP_posts.

Eliminare dal database WordPress tutti i commenti spam

Eseguite la seguente query tramite phpmyadmin per eliminare i commenti segnalati come spam su wordpress, quindi tutti quei commenti che non verranno mai pubblicati ma che comunque occupano spazio e risorse sul database.

DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

Eliminare tutti i post duplicati in WordPress

 

Per eliminare i post duplicati in WordPress non serve installare plugin esterni, basta eseguire la query seguente in Phpmyadmin.

DELETE bad_rows.*

from wp_posts as bad_rows

inner join (

select post_title, MIN(id) as min_id

from wp_posts

group by post_title

having count(*) > 1

) as good_rows on good_rows.post_title = bad_rows.post_title

and good_rows.min_id <> bad_rows.id;

Eliminare le revisioni dei post WordPress

Le revisioni dei post sono delle copie di backup automatiche di tutti i nostri articoli che WordPress fa durante la stesura, sono molto utili in alcuni casi ma una volta pubblicato l’articolo definitivo risultano solo uno spreco enorme di spazio sul database, il tutto dipende dal tempo che impiegate a scrivere ogni singolo articolo, più ce ne mettete e più revisioni verranno create.

Prendiamo ad esempio Mondolike.com, io al momento ho 90 articoli e ben 1118 revisioni (cancellate), una cosa mostruosa insomma, se me le fossi tenute il mio database sarebbe molto più pesante e lento, quindi è indispensabile effetture questo tipo di pulizia periodica.

Eseguiamo la seguente query in Phpmyadmin per liberarci delle revisioni dei post WordPress:

DELETE FROM wp_posts WHERE post_type = "revision";

In alternativa se per qualche motivo non dovesse funzionarvi provate con la seguente:

DELETE a,b,c FROM wp_posts a

LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)

LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)

WHERE a.post_type = ‘revision’;

A questo punto tutte le revisioni contenute nel vostro database wordpress dovrebbero essere state rimosse, io per estrema pigrizia utilizzo un plugin per espletare a questo compito, essendo un’operazione da svolgere abbastanza spesso non considero l’installazione di tale plugin come superflua, mi evita di accedere ogni volta a phpmyadmin e svolgere il tutto a mano, il plugin in questione si chiama ”better delete revision” e svolge anche l’importante funzione di ottimizzare le tabelle del database WordPress quando queste sono un pò troppo frammentate per le continue aggiunge e rimozioni.

Disattivare salvataggio automatico post WordPress

Se constatate che i continui salvataggi che WordPress effettua sono per voi completamente superflui, è possibile disattivare completamente tale opzione modificando leggermente il file config.php del cms, basta aggiungere la seguente stringa di testo o modificare quella eventualmente esistente:

define(‘WP_POST_REVISIONS’, false);

Da questo momento in poi WordPress non salverà più nessuna copia dei vostri post in automatico, state quindi molto attenti a quel che fate o rischiate di perdere l’articolo che tanto lavoro vi è costato in un click sballato.

Come Impostare un limite alle revisioni in WordPress

 

Se invece di eliminare completamente le revisioni voleste semplicemente limitarle, non preoccupatevi, c’è la soluzione anche a questo, basta sostituire nel file config.php la stringa di codice precedente con la seguente:

define('WP_POST_REVISIONS', '5');

Il numero 5 in questo caso corrisponde al numero MASSIMO di revisioni che desideriamo far salvare a WordPress, ogni revisione eccedente andrà a sostituire quella meno recente.

Inutile dire che possiamo naturalmente modificare il numero cinque come più ci aggrada senza problemi.

Nel caso specifico ho deciso di configurare il tutto in modo da poter impostare un limite alle revisioni WordPress pari a cinque, il numero ideale potrebbe essere anche inferiore, dipende dalla sicureza che nutrite nei confronti del vostro servizio di hosting e nella vostra concentrazione, io ad esempio non sono nuovo al premere un tasto errato e cancellare articoli da 2000 parole in un battito di ciglia.

Modificare intervallo di tempo fra un salvataggio automatico e l’altro in WordPress

 

Se decidete di abilitare l’opzione precedente potrebbe esservi utile impostare in maniera diversa l’intervallo in cui WordPress effettua i salvataggi delle revisioni in maniera automatica, di default tale valore è impostato a 60 secondi, quindi 1 minuto, ma con il seguente codice possiamo impostare tale valore come più riteniamo opportuno.

define('AUTOSAVE_INTERVAL', 180 );

Abbiamo appena impostato il salvataggio automatico delle revisioni ogni tre minuti, ovvero 180 secondi.

Ecco per i più pigri e meno esperti un plugin wordpress che permette di fare esattamente quanto appena esposto consentendo una gestione totale delle revisioni, il nome è tutto un programma, ”Revision Control

Come al solito attendo commenti, se vi fa piacere sappiate che è un gesto molto apprezzato.

 

Click on a tab to select how you'd like to leave your comment

Speak Your Mind

*