• Autor: Franz Neumeier
  • Datum: 2. März 2011
  • Kategorie: wordpress

Revisionen in WordPress bereinigen

Revisionen in WordPress, eingeführt mit Version 2.6, sind eine feine Sache. Vor allem, wenn man beim Schreiben oft in Eile ist und leichtfertige Fehler macht. Über die Revisionen kommt man beispielsweise wieder an versehentlich gelöschte Absätze eines Postings heran, die sonst verloren wären. Doch die Revisionen haben auch einen großen Nachteil: Sie blähen die Datenbank gewaltig auf. Wieviel Performance das kostet, wage ich nicht zu beurteilen, aber die Datenbankgröße beeinflußt es signifikant.

Ein Beispiel von meinem Blog www.cruisetricks.de: Bei 671 Postings waren sage und schreibe 5.700 gesicherte Revisionen in der Datenbank – ein Verhältnis fast 1:9. Oder in Datenbankgröße ausgedrückt: Mit den Revisionen war das gepackte Datenbank-Backup 7,58 MByte groß, nach Bereinigung ohne die Revisionen nur noch halb so groß, nämlich 3,39 MByte.

Revisionen bereinigen – besser per Plugin

Wie also wird man die Revisionen los? Der naheliegendste Weg wäre, einfach in der Datenbank selbst nach Revisionen zu suchen und sie zu löschen:

DELETE FROM wp_posts WHERE post_type = "revision";

Das hat aber den erheblichen Nachteil, dass jede Menge zu den Revisionen gehöriger Müll in Form von Meta-Informationen erhalten bleibt. Erfreulicherweise gibt es mit Better Delete Revision ein Plugin, das auch die Metadaten mit entfernt.

Da mir Plugins, die in der Datenbank munter drauflos löschen, von Grund auf suspekt sind, habe ich das Ganze zunächst in einer Testinstallation ausprobiert – keine Probleme. Und auch in der Live-Datenbank gab’s keine Probleme. und angesichts der Beliebtheit des Plugins kannman wohl davon ausgehen, dass es keinen unfog anrichtet. Trotzdem: Ich werde sicher auch in Zukunft vor der Bereinigung immer erst ein Datenbank-Backup machen …

  • Comments: 3

Tags: , ,

3 Kommentare zu “Revisionen in WordPress bereinigen”


  1. René
    on Mrz 3rd, 2011
    @ 9:37

    Mit dem Befehl funktioniert das ohne Plugin.

    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‘;

    Danach sollte man die Revisionen in der wp-config.php limitieren, dann werden nicht unendlich viele angelegt.

    define(‚WP_POST_REVISIONS‘, 2);


  2. Franz
    on Mrz 3rd, 2011
    @ 9:53

    Cool! Danke für die Ergänzung. Je weniger Plugins, desto besser, weil weniger Fehlerquellen :-)


  3. China Insider
    on Mai 8th, 2011
    @ 19:50

    Merci!
    Aber wie lang ich danach gesucht hab sag ich lieber nicht…

© 2024 Franz Neumeier's "Ceterum Censeo" Blog. Alle Rechte vorbehalten.

Powered by Wordpress and Magatheme by Bryan Helmig.