Alte Revisionen von WordPress-Einträgen löschen

Wenn man in WYSIWYG-Editor einen Beitrag bearbeitet, so erzeugt WordPress standardmäßig alle 60 Sekunden eine neue Revision. Auf Dauer kann dies zu überflüssigen Einträgen führen, welche die Datenbank sehr stark anwachsen lässt und in ihrer Performance beeinträchtigt. Im WordPress selber gibt es aber leider keine Möglichkeit, dies einzustellen und zu begrenzen. Durch folgende zusätzliche Einträge in die wp-config.php lässt sich das Verhalten dennoch steuern.

Mit

define('WP_POST_REVISIONS', 3);

wird definiert, wie viele Revisionen in der Datenbank maximal gespeichert werden sollen. Man kann aber anstatt der Zahl auch ein false als Variable einsetzen. Dann werden natürlich keine Einträge erzeugt.

Und mit

define('AUTOSAVE_INTERVAL', 300);

wird der Zeitintervall in Sekunden gesetzt, in der eine neue Revision gespeichert wird. In meinem Fall also immer nach 5 Minuten.

Sollten sich in der Datenbank bereits eine menge Einträge mit früheren Artikelrevisionen befinden, so kann man die auch manuell heraus löschen. Am besten aber vorher ein Backup der Datenbank erstellen, so kann man bei Problemen nach dem löschen diese wieder in ihrem Ursprungszustand wieder herstellen. Über PHPMyAdmin kann man auch mit folgendem Befehl die unnötigen Einträge löschen.:

DELETE FROM wp_posts WHERE post_type="revision";

Als Alternative dazu gibt es aber diverse PlugIn’s, welche für einem dies sehr zuverlässig und sicher erledigen.

Update 10. Mai 2020 18:30 Uhr:

Im Rahmen einer Weiterbildung hatte ich im Jahr 2017 einen sechsmonatigen Kurs für den Einstieg in SQL. Dieser brachte mir das grundsätzliche Verständnis von Datenbanken und einfache SQL-Statements in Übungen bei.
Darauf aufbauend habe ich in meinem DokuWiki einen Seite erstellt, welche die derzeitig nötigen SQL-Statements behandelt, die zur Pflege dieses WordPress-Blogs nötig sind.

Link: Praktische Anwendung von SQL-Statements bei WordPress (eigenes DokuWiki)