WordPress è uno strumento potente e al tempo stesso articolato volto a chiunque desideri approcciarsi al mondo del web in modo semplice e condividere le proprie opinioni ed esperienze sotto forma principalmente di blog.

Così come un giornalista o uno scrittore stente una prima bozza dell’articolo e poi la modifica correggendo eventuali errori o aggiungendo nuovi fatti, anche il blogger che usa WordPress per scrivere il proprio testo, si trova nelle stesse condizioni. Succede, talvolta, di perdere i contenuti inseriti a causa di blackout improvvisi o errori del pc. E’ successo un pò a tutti di disperarsi per la perdita di importanti appunti o lunghi testi. Al fine di evitare questo disagio agli utenti, WordPress prevede un sistema automatico di salvataggio che in modo assolutamente silenzioso, crea delle copie del post di volta in volta aggiornate, ad intervalli di tempo prestabiliti.

Molti staranno pensando che tale sistema sia veramente un’ottima soluzione ed è effettivamente così, ma come in tutte le cose vi è un altro lato per questo medaglia…

Come già detto il salvataggio avviene ad intervalli specifici, ciò significa che mentre l’utente compone il suo testo, WordPress salva sul database una o più copie del documento via via che questo si compone… Conseguenza logica il database si riempie in maniera esponenziale di articoli che in realtà non sono altro che la controfigura del nostro testo, la bozza. A lungo andare le dimensioni del database diventano così elevate da rallentare notevolmente l’intero sistema.

La soluzione più immediata dovrebbe essere la disabilitazione degli autosalvataggi, basta inserire nel file wp-config.php (lo si può trovare nella root principale del sito) subito sotto la riga “define(‘DB_COLLATE’, ”);“:

define('WP_POST_REVISIONS', 0);

ma ciò comporterebbe la totale perdita del vantaggio di cui abbiamo parlato fino ad ora.

Invece di disabilitare totalmente le revisioni, sarebbe più indicato limitarle ad un numero massimo così da sovrascrivere di volta in volta quelle estremamente antiche. Per far ciò basta modificare leggermente il codice precedente:

define('WP_POST_REVISIONS', 3);

In questo modo avremo solo 3 revisioni per articolo e non infinite.

E’ possibile anche esplicitare gli intervalli di tempo tra un salvataggio e l’altro, basta inserire il seguente codice subito dopo il precedente:

define('AUTOSAVE_INTERVAL', 300);

Il valore di default dell’intervallo è di 60 secondi, nel nostro esempio lo abbiamo invece impostato a 300 secondi così da avere salvataggi meno frequenti.

In conclusione parliamo di come rimuovere tutte le revisioni dal database al fine di alleggerirne il carico.
E’ utile effettuare tale eliminazione di tanto in tanto. Quindi colleghiamoci al database tramite phpmyadmin e nella tab “sql” inseriamo la seguente query:

DELETE FROM wp_posts WHERE post_type = 'revision'