WordPress Revisionen löschen und Autosave deaktivieren

WordPress legt seit Version 2.6 automatisch einzelne Revisionen von Artikeln an, sobald man einen Beitrag verändert und erneut abspeichert. Das ist auf der einen Seite praktisch, wenn beim Editieren/Aktualisieren eines Artikels versehentlich wichtige Inhalte verloren gegangen sind. Vor allem bei Blogs in denen mehrere Autoren arbeiten können die automatischen Revisionen einigen Frust vermeiden.

Standardmäßig limitiert WordPress die Anzahl der Revisionen pro Artikel/Seite jedoch nicht, wodurch die Datenbank unnötig aufgebläht wird. Jedes mal wenn man einen Artikel editiert, sei es nur um einen kleinen Rechtschreibfehler zu korrigieren, wird eine neue Revision angelegt. So ergeben sich schnell 10 Revisionen pro Artikel. Bei 100 Artikeln im Blog zu jeweils 10 Revisionen werden aus den 100 Artikeln dann schon 1000 die in der Datenbank gespeichert werden!

Wen die automatischen Revisionen stören oder diese auf eine bestimmte Anzahl limitieren will um Ressourcen zu sparen, kann die Revisions Funktion über einen Eintrag in der wp-config.php steuern:

WordPress Revisionen deaktivieren

Zum deaktivieren der Revisionen einfach diesen Code in die wp-config.php eintragen:

define('WP_POST_REVISIONS', false );

WordPress Revisionen Anzahl limitieren

Zum limitieren der WordPress Revisionen auf einen bestimmten Wert pro Artikel/Seite einfach diesen Code in die wp-config.php eintragen:


define('WP_POST_REVISIONS', X);

wobei X für die maximale Anzahl der Revisionen steht, zum Beispiel 3. Alternativ zum vorherigen Code läßt sich mit dem Wert 0 ebenfalls die Revisionen deaktivieren.

Alte WordPress Revisionen löschen

Durch die Anpassung der wp-config.php wird allerdings nur festgelegt, wie WordPress zukünftig mit den Revisionen umgehen soll. Bereits vorhandene Revisionen bleiben in der Datenbank bestehen. Eine Möglichkeit zum entfernen der vorhandenen Einträge wäre, diese manuell aus der Datenbank über PHPmyAdmin zu löschen:


DELETE
FROM wp_posts
WHERE 'post_type' = "revision"

Vorher Datenbank Backup anfertigen! via im-tal.net

Da ich allerdings ungern selber in der WordPress Datenbank hantiere und über diesen Befehl auch nicht die den Revisionen zugehörige Meta Daten gelöscht werden, habe ich mich mal nach einem Plugin umgesehen, was das löschen der Revisionen inkl. zugehörigen Custom Field Daten komfortabel erledigt.

Better Delete Revision Plugin

Better Delete Revision Plugin: Revisionen löschen mit einem Klick
Better Delete Revision Plugin: Revisionen löschen mit einem Klick

Das WordPress Plugin Better Delete Revision löscht mit einem Klick alle vorhandene Revisionen in der Datenbank inklusive zugehörigen Meta Daten und Funktioniert bestens mit der aktuellen WordPress Version. Zusätzlich bietet es eine Option die Datenbank zu analysieren und gegebenenfalls zu optimieren.

WordPress Autosaves steuern

Neben den Revisionen erstellt WordPress alle 60s ein Backup des Artikels, welchen man gerade erstellt/editiert. Diese funktion lässt sich ebenfalls über die wp-config.php steuern:


define('AUTOSAVE_INTERVAL', X );

wobei X ein Zahlenwert in Sekunden ist. Wer die Autosave Funktion nicht benötigt kann hier also einfach einen hohen Wert angeben. Mit dem Wert 3600 wird nur jede Stunde ein Autosave des Artikels angelegt.

WordPress Autosave deaktivieren

Alternativ lässt sich über die functions.php des Themes die Autosave Funktion auch komplett deaktivieren:


function fb_disable_autosave() {
wp_deregister_script( 'autosave' );
}
add_action( 'wp_print_scripts', 'fb_disable_autosave' );

via bueltge.de

Mit dem anpassen der Revisionen und der Autosave Funktion von WordPress lässt sich die Datenbank um einiges schlanker halten was sich spätestens beim nächsten Backup bemerkbar machen wird. 😉

4 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *