Tempo di Lettura: 4 minuti
Per i blog monoautore, l’ultima interessante novità introdotta con la release 2.6 WordPress, la gestione delle revisioni dei post (Post Revisions Tracking) per tenere traccia delle modifiche di ogni articolo e pagina, risulta essere inutile. Infatti, con questa nuova funzionalità è possibile vedere le modifiche che avete apportato e quando, a qualsiasi news postata, il tutto attraverso un interfaccia semplice, con la possibilità di ripristinare la versione precedentemente salvata.
E’ ovvio che questo genere di caratteristica si addice maggiormente ad un blog multiautore, in cui è presente un revisore che ha la responsabilità, prima di pubblicare un articolo, di controllare e correggere un post di un suo collaboratore. Per tutti coloro che, invece, essendo gli unici autori del blog, non necessitano di questa funzionalità, esiste la possibilità di disattivare la gestione delle revisioni, risparmiando, così, spazio sul database (in particolare in ogni riga della tabella wp_post) e risorse per gestirlo.
Considerate, però, che il numero di revisioni salvate corrisponde esclusivamente al numero di salvataggi manuali che effettuerete, mentre quelli automatici non lo influenzerà. Quindi il loro peso sul database, sarà funzione di quante volte siete soliti premete sul pulsante “Salva” mentre state scrivendo un articolo: io, per esempio, con soli due post ho ho accumulato ben 41 revisioni!
Come disattivare la gestione delle revisioni su WordPress 2.6
Per disattivare la revisione dei post sarà sufficiente aggiungere la seguente riga nel file wp-config.php:
E’ strano, però, che si debba mettere mano direttamente al codice di WordPress, piuttosto che prevedere una semplice opzione da attivare/disattivare dal Pannello di Amministrazione di WordPress (magari con un plugin si potrebbe sopperire a questa mancanza). Inoltre, sarebbe stato anche auspicabile che questa opzione fosse stata disattivata di default, visto che la maggior parte dei blog sono monoautore.
Analisi delle modifiche apportate al DB per inserire le revisioni
Quando la funzionalità di Post Revisioning doveva essere sviluppata su WordPress, i programmatori avevano pensato, inizialmente, di creare una nuova tabella chiamata: wp_post_revisions (che tendeva, per sua stessa natura, a crescere a dismisura).
In realtà, forse a causa della lentezza delle interrogazioni, o per uniformare i dati, le revisioni dei post sono poi stati incluse direttamente nella tabella wp_posts e identificata dai seguenti valori dei campi:
post_type= “revision”
e
post_status = “inherit”
Inoltre sono stati aggiunti e modificate anche alcune funzionalità di altri campi: è stato aggiunto, per esempio, il campo post_parent (che riporta l’ID del post principale), mentre il campo post_name ora contiene, oltre il titolo del post principale, anche il titolo delle revisioni (p.es. 1834-revision, 1834-revision-2, 1834-revision-3, 1834-revision-4, etc…).
In pratica, se prima un nuovo articolo veniva identificato da un inserimento di una singola riga nella tabella wp_posts, ora, con la release 2.6 di WordPress, ad ogni post corrispondono 5, 10, 15 riga nella tabella, a seconda del numero di revisioni salvate (che corrispondono al numero di salvataggi manuali, e non automatici, effettuati).
Cosa comporta ciò? Che in pratica lo spazio occupato per ogni post viene decuplicato inutilmente. Inoltre, se prima, a meno di cancellazioni, ad ogni ID corrispondeva un post diverso, ora l’identificativo è usato sia per indicare un articolo che per indicare una revisione. Ciò significa che un post con ID=1830 potrebbe essere seguito non più da un post con ID=1831 ma, bensì, come è successo a me, da un ID?1845!
Pulire il database dalle revisioni salvate sino a quel momento
Ecco che, quindi, dopo aver disattivato le revisioni dei post conviene anche eliminare tutte le righe aggiunte per le revisioni scrivendo questa query da PhpMyAdmin (abbiate prima l’accortezza, però di effettuare un preventivo backup dell’intero database o, almeno, della tabella wp_posts):
Se, volete essere sicuri di andare a cancellare solamente le revisioni e non altri post pubblicati, potete fare prima una select con gli stessi parametri:
e quindi cancellare tutte le revisioni con il precedente comando SQL.
Modificare l’intervallo di tempo per i salvataggi automatici dei post
Infine, dato che prima avete messo le mani nel file wp-config, dovete sapere che è possibile anche cambiare l’intervallo temporale con cui WordPress effettua i salvataggi automatici dei post.
Basterà, infatti, aprire il file wp-config ed inserire la seguente riga:
Dove al posto di 60 (che indica l’intervallo temporale espresso in secondi), potete inserire qualunque valore numerico a vostra scelta.
Complimenti per l’articolo, fondamentale. 🙂
In realtà è anche possibile il numero di revisioni… e forse quello è il miglior compromesso. Avere una o due copie precedenti può servire anche su un blog personale.
Ciao,
Emanuele
la parte dell’SQL funziona, ma anche modificando il config me le salva comunque le revisioni… idee per disabilitarle?
Pingback: links for 2008-07-23 » 4exp.net 23 Luglio 2008
[…] Levysoft » Come disattivare la revisione dei post di WordPress 2.6, cancellare le righe inutili del… Come disattivare la revisione dei post di WordPress 2.6, cancellare le righe inutili delle revisioni dalla tabella wp-posts e modificare l’intervallo di tempo per i salvataggi automatici dei post (tags: wordpress) […]
Ottimo articolo, chiaro e utile.Thankyou!
Ottima guida. Funziona tutto e mi ha levato 100 Kb di db di troppo.
@Matteo e @Paolo: Sono contento che funzioni tutto e che la mia spiegazione sia stata chiara! 🙂
Ciao
Pingback: Iome il "pulizia su database delle revisioni" 3 Ottobre 2008
[…] http://www.levysoft.it/archivio/2008/07/21/come-disattivare-la-revisione-dei-post-di-wordpress-26-ca… […]
Complimenti, articolo utilissimo e molto ben spiegato.
L’ho applicato a tutti i miei siti WP e ha funzionato egregiamente.
Grazie 🙂
@NBWeb.it: prego e sono molto contento che ti sia stato utile! Nel caso non l’avessi letto, ti consiglio di dare un’occhiata a questo mio ultimo articolo: WordPress e il Fatal error in Text/Diff.php: patch aggiornata alla release 2.6.5 di WordPress e il mistero delle revisioni che non si disattivano completamente.
In pratica, nonostante avessi disattivato con successo le revisioni, ogni tanto saltavano fuori, per un recente bug di WordPress…
Grazie 🙂
Ho letto velocissimamente l’altro articolo, me lo leggo poi con calma ora sono di corsa…. devo dire però che finora non mi si è presentato il problema che descrivi….
Comunque leggerò con calma.
Grazie mille per gli articoli e complimenti per la competenza! 😀
Pingback: smartmouse il "Disattivare la revisione automatica dei post" 28 Dicembre 2008
[…] Salve, stavo facendo “manutenzione” al database del mio blog, quando ho visto una serie di post strani nella tabella wp_posts. Ho cercato con Google e sono arrivato a questa pagina. […]
Ottimo. Proprio quel che mi serviva 😉
Molto interessante 🙂
Posso fare queste operazioni in sicurezza anche con wordpress 2.9.1 oppure nel frattempo è stata implementata qualche nuova funzione?
Ciao
@fabrixx: da quel che so non è stata implementata alcuna nuova funzione e a me pare ancora funzionare sul mio sito… se non ti senti sicuro fai un bel backup del DB e provala… ma al 99% va… ciao 🙂
Il comando SQL per eliminare le revisioni funziona, ma la modifica al file wp-config non permette di disabilitarne il salvataggio.
@loris: considera che questo valeva per wordpress 2.6… non ho avuto ancora modo di provarlo sulla nuova 3.0.1. Tu che versioni stai usando?