Open top menu

WordPress und Revisions (Versionierung)

Für alle, die es noch nicht gemerkt haben, WordPress verfügt über eine Versionierung. Für jeden einzelnen Beitrag, bzw. für jede Seite werden somit alte Versionen abgespeichert. Will heißen: Ändere ich hier und da mal nachträglich die Rechtschreibung, generiert dies jedes Mal eine neue Version des Beitrages. Ist ja eigentlich nicht schlimm, aber jede dieser Versionen bleibt natürlich in der Datenbank vorhanden.

Revisions in WordPress, wie sie unter jedem Beitrag zu finden sind.

Revisions in WordPress, wie sie unter jedem Beitrag zu finden sind.

Hinzu kommt eine andere Angewohnheit von WordPress, nämlich das automatische Speichern von Posts während des Schreibens. Es besteht also die Möglichkeit, dass ich mehrere Versionen eines einzelnen Beitrages besitze, obwohl ich diesen nachträglich gar nicht geändert habe. Die Anzahl der Revisions übersteigt die Anzahl der eigentlichen Beiträge somit oft um ein Vielfaches! Bei „kleinen“ Blogs macht dies zwar nicht viel aus, aber gerade bei großen Blogs, die dieses Thema lange außer Acht gelassen haben, kann sich die Versionierung zu einem echten Performance-Problem entwickeln.

Eine Lösung ist natürlich die, die Versionen regelmäßig aus der Datenbank zu löschen. Hierfür gibt es das Plugin Delete-Revision. Mithilfe dieses kleinen Tools kann ich nach alten Versionen von Beiträgen suchen lassen, und diese dann löschen. Hier auf diesem Block kam ich bei ca. 70 Beiträge auf rund 300 alte Versionen eben dieser.

Screenshot von Revision Delete

Screenshot von Revision Delete

Dies ist zwar eine schöne Maßnahme, aber eigentlich keine Ursachen-Bekämpfung. Die meisten Blogs brauchen keine Versionierung, und den meisten anderen würde es reichen, die letzte Version, oder maximal zwei alte Versionen von einem Post zu besitzen. Natürlich haben die Programmierer von WordPress dies vorausgesehen, und natürlich kann WordPress einem bei diesem Anliegen unterstützen. Allerdings muss man sich dafür ein klein wenig durch den Codex graben.

Die entsprechend benötigten Änderungen nimmt man in der Datei wp-config.php vor die sich im Hauptverzeichnis von WordPress befindet. Um die Versionierung innerhalb von WordPress ganz abzuschalten, fügt man die folgende Zeile hinzu:

define('WP_POST_REVISIONS',false);

Damit ist man die Versionierung für alle Zeiten los. Für alle, die vielleicht doch ein bisschen Sicherheit haben wollen, kann man in der Config-Datei auch die Anzahl der Versionen begrenzen, die vorgehalten werden sollen:

define('WP_POST_REVISIONS', 2);

In diesem Fall werden bei jedem Beitrag nur zwei alte Versionen gespeichert. Sollte man diese Einstellungen nutzen, sollte man sich allerdings im Klaren darüber sein, dass sie natürlich nur für zukünftige Versionen gelten, und nicht für die bereits Geschriebenen. Hier empfiehlt sich immer der parallele Einsatz des Plugins und die Änderung der Config-Datei. Wer sich nicht zutraut die Config-Datei zu editieren, kann das Ganze übrigens auch über das Plugin Revision Control regeln.

Guido
Geschrieben von Guido

Guido Mühlwitz ist Freiberufler mit Schwerpunkt HTML5, Zend Framework 2 / Node.js und individueller WordPress Plugin Entwicklung. Wenn er sich nicht gerade bei Twitter über PHP aufregt, bloggt er über aktuelle Themen aus dem Bereich der Anwendungsentwicklung.

1 Antworten auf Kommentar

  1. Avatar
    Juni 19, 2009

    Ich verwende schon eine ganze Weile das Plugin – funktioniert reibungslos und man kann vorgeben, ob und wieviel Versionen man zulassen will.

    Antwort

Leave a comment