Datenbank um Revisionen bereinigen

Datenbank aufräumenWenn Sie in WordPress einen Beitrag verfassen oder eine Änderung vornehmen legt das System für Sie ganz automatisch eine Sicherungskopie an – Die sogenannten „Revisionen“.

Das ist ausgesprochen praktisch, wenn man versehentlich wesentliche Inhalte eines Beitrages gelöscht oder geändert hat und später feststellt, dass das vielleicht doch keine so gute Idee gewesen ist.

Allerdings speichert WordPress standardmäßig ALLE Revisionen. Das kann die WordPress-Datenbank mit der Zeit ziemlich aufblähen, insbesondere dann, wenn man häufiger Anpassungen an einer Seite vornimmt oder – so wie ich – einen Beitrag häufig zwischenspeichert, bevor er tatsächlich fertig ist.

Da eine aufgeblähte Datenbank eine WordPress-Webiste mit der Zeit sehr langsam machen kann empfiehlt es sich, alte Revisionen regelmäßig zu löschen.

Theoretisch könnte man die Erstellung von Revisionen auch ganz abschalten. Ich empfehle aber, zumindest die letzten 3 – 5 Revisionen zu behalten. Man weiß ja nie, wann man eine solche Sicherung einmal brauchen kann 🙂 .

Revisionen steuern über die wp-config.php

Die Anzahl der gespeicherten Revisionen pro Beitrag kann über einen Eintrag in der wp-config.php gesteuert werden:

define('WP_POST_REVISIONS', 5);

Mit diesem Eintrag wird festgelegt, das für künftige Beiträge nur die jeweils 5 letzten Revisionen gespeichert werden. Selbstverständlich können Sie die 5 durch die von Ihnen bevorzugte Anzahl an Revisionen ersetzen.

Wenn Sie grundsätzlich keine Revisionen speichern möchten (was ich persönlich nicht für empfehlenswert halte), können Sie die Revsionen mit dem folgenden Code komplett abschalten:

define('WP_POST_REVISIONS', false);

Da diese Einstellung aber nicht rückwirkend greift bleiben die bereits angelegten Revisionen in der Datenbank weiterhin gespeichert.

Für das Löschen der alten Plugins empfehle ich das Plugin „Better delete Revision

Revision Control

Wer sich nicht wohl dabei fühlt, im Code von WordPress zu arbeiten der kann die Begrenzung der Revisionen auch durch das Plugin „Revision Control“ steuern.

Nach der Installation und Aktivierung des Plugins kann man unter „Einstellungen“ – „Revisions“ festlegen, wie viele Revisionen je Seite und je Beitrag gespeichert bleiben sollen:

Einstellungen Revision Control

Zum Vergrößern bitte Bild anklicken

Das war es schon. Die Datenbank wird durch die Limitierung der Revisionen erheblich entlastet, was – je nach Anzahl der vorher gespeicherten Revisionen – zu einer deutlich schnelleren Ladezeit der Website führen kann.

Hinweis: Wie immer vor größeren Eingriffen in die WordPress-Datenbank sollte vorher auf jeden Fall eine Sicherungskopie der Seite angelegt werden.

Bildquelle:
© 3dkombinat – Fotolia.com

Print Friendly

Kommentare

Datenbank um Revisionen bereinigen — 23 Kommentare

  1. Hat jemand einen Tipp, wie man die alten Revisionen direkt aus der Datenbank löscht? Wenn man danach sucht stößt man auf zwei verschiedene Code Schnippsel und ettliche unterschiedliche Meiungen dazu, welcher nun gut funktioniert und welcher nicht.

    Konkret geht es um:

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

    oder eben

    DELETE
    FROM wp_posts
    WHERE post_type = ‚revision‘;

    Welches ist nun die beste Variante und auf welche Version greift das Plugin Better delete Revision zurück?

    • Hallo Marco,

      ich kannte bisher nur den zweiten Code (DELETE FROM wp_posts WHERE post_type = ‚revision‘; ), den anderen musste ich mir gerade einmal ergooglen 😉

      Nachdem was ich gelesen habe hat der erste Code wohl den Nachteil, dass möglicherweise nicht nur Revisionen für Beiträge und Seiten gelöscht werden sondern unter Umständen auch in der Tabelle wp_links. Das könnte unter Umständen zu Problemen führen, die aber angeblich nicht allzu schwer zu bereinigen sind.

      Interessanterweise habe ich auch einen Hinweis darauf gefunden, dass das von mir vorgeschlagene Plugin „Better delete Revison“ auch den ersten Code verwendet – zumindest war das vor einem Jahr noch der Fall. Die durchweg positiven Bewertungen für das Plugin lassen mich vermuten, dass die Probleme mit wp_links damit nicht allzu schwerwiegend sein können.

      Ich persönlich würde den ersten, kurzen Code verwenden – Eine 100% wasserdichte Aussage, ob das die beste Variante ist möchte ich dazu aber nicht abgeben 🙂

      Herzliche Grüße
      Michaela

  2. Hallo Michaela,

    danke! Das wollte ich schon längst mal machen, weil es gerade bei meinem Kurs mittlerweile etliche Revisionen gibt.

    Also nochmal im Klartext: ich brauche
    1. Better delete revisions (um die alten Versionen zu löschen)
    2. revision control (um zu verhindern, dass zukünftig so viele gespeichert werden)

    Richtig? Es ist kein entweder-oder sondern ich brauche beide (im Code rumfummeln möchte ich nicht).

    Danke für die Antwort und dann mache ich mich da mal dran.

    lieber Gruß
    Marit

    • Hallo Marit,

      das Plugin „Revision Control“ löscht auch die alten Revisionen. Es genügt also, wenn Du nur mit dem Revision Control arbeitest.

      Das „Better delete Revision“ hatte ich nur als Alternative genannt für die, die lieber ohne Plugin und mit Code-Anpassungen arbeiten. Die Revisions händisch aus der Datenbank zu löschen wäre aber dann so aufwändig, dass ich dafür hier lieber die Plugin-Möglichkeit erwähnt habe 🙂

      Herzliche Grüße
      Michaela

  3. Hallo Michaela,
    ich bin zufällig auf diese Seite gestoßen und freue mich über Deine Hinweise, die sehr sinnvoll sind. Insbesondere dieser hier!

    Oft findet man gerade in Blogs, die sich professionell mit WP beschäftigen, sogenannte „Tipps“, die nur Content generieren sollen, aber eigentlich sinnfrei sind. Vielen Dank also für die zahlreichen Hinweise und dafür, dass Du mir solch ein „Blabla“ ersparst!
    Beste Grüße und ein erfolgreiches 2015!
    Sanne

  4. Vielen Dank. Das war genau, wonach ich gesucht habe. Es war mir völlig unklar, warum mein Blog immer langsamer wurde. Ich habe mich zwar für ein anderes Plugin entschieden, weil dieses mit meinem Theme kompartibel ist, den einscheidenen Hinweis habe ich dafür hier gefunden.

  5. Hallo Michaela,

    wie lösche ich denn Revisionen von gelöschten Seiten? Kann ich die Revisionen in der DB _posts einfach löschen?

    Lieben Gruß, Uwe.

    • Hallo Uwe,
      ich muss zugeben, ich habe noch nie geprüft ob beim Löschen von Seiten nicht auch automatisch die Revisionen mit gelöscht werden. Zumindest bin ich bisher davon ausgegangen dass das so ist.

      Die Seiten von denen Du sprichst sind tatsächlich auch nicht mehr im Papierkorb sondern definitiv gelöscht, und es existieren noch Revisionen?

      Dann bleibt m.E. tatsächlich nur der Weg über das manuelle löschen in der Datenbank. Vorher aber unbedingt eine Sicherung der Datenbank anlegen! 🙂

      Herzliche Grüße
      Michaela

  6. Hallo Michaela, ich hatte überlegt, Revision Control zu installieren, habe dann aber gesehen, dass das letzte Update vor 6 Monaten war und es auch keinen Support mehr gibt. Da auch dein Artikel darüber nicht mehr ganz neu ist: würdest du es trotzdem nach wie vor empfehlen? Ich bin jetzt auf WP Sweep gestoßen, das wohl ähnliche bzw. noch mehr Funktionen und recht gute Bewertungen hat. Damit löscht man aber alles, kann also keine 3 Revisionen o.ä. speichern. Hast du damit auch Erfahrung oder kannst du mir eine weitere Alternative nennen?

    • Hallo Gudrun, ja, ich würde Revision Control noch immer empfehlen. Dass es seit 6 Monaten kein Update mehr gab stimmt mich da nicht zwingend bedenklich, da es ja nicht immer einen Grund für ein Update gibt wenn das Plugin funktioniert, keine Funktionserweiterungen bekommt und keine Sicherheitslücken geschlossen werden müssen 🙂

      Auch gab es überhaupt nur 2 Support-Anfragen in den letzten zwei Monaten – Ich habe für das Plugin den Support noch nie benötigt.

      Also von meiner Seite nach wie vor ein „Daumen hoch“

      Herzliche Grüße
      Michaela

  7. Hallo,
    ich bin auf diese Seite vor ca. 2 Jahren gestoßen und habe mir dann das Plugin „Revision Control“ runtergeladen. Es funktioniert perfekt und ich nutze es seither auch für alle meine anderen Blogs. Daher nochmals vielen Dank für diesen Artikel, der auch so gut und einfach beschreibt.
    Viele Grüße Kristina

    • Hallo Kristina,

      wow, es freut mich total zu lesen das Du auch nach 2 Jahren meinem Blog noch treu bist 😉

      Ich freue mich, dass das Plugin für Dich so gut funktioniert. Danke auch, dass Du das für Gudrun hier noch einmal bestätigt hast.

      Herzliche Grüße
      Michaela

  8. Habe Revisin control installiert, aktiviert und die Einstellungen angepaßt. Was muß ich jetzt machen, damit die vielen alten Sicherungen meiner Seiten gelöscht werden?
    Danke

  9. Muss ich das Plugin permanent laufen lassen oder kann ich es nach einmal laufen lassen wieder deaktivieren und anschließend sind die max. Revisionen für „immer“ eingestellt?

    PS: Vielen Dank für Eure tolle Website. Ein kleiner Schatz, bin noch beim Stöbern.

Schreibe einen Kommentar

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


Ich möchte auch den WordPress-Rundbrief abonnieren