LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog-Übersicht /WordPress-Plugins & Tricks/Tutorials / WordPress-Revisionen: Speicherbedarf, Grenzen und verlässliche Messung
Diesen Artikel in anderen Sprachen lesen:

WordPress-Revisionen: Speicherbedarf, Grenzen und verlässliche Messung

WordPress-Revisionen: Speicherbedarf, Grenzen und verlässliche Messung
Inhalt
  1. Was WordPress tatsächlich speichert
  2. Zeilen zählen statt Schätzwerte vergleichen
  3. Textmenge ist nicht Dateigröße
  4. Welche Kosten daraus folgen
  5. Aufbewahrung gezielt begrenzen
  6. Fragen und Antworten
  7. Quellen

Revisionen speichern frühere Bearbeitungsstände in WordPress. Das erleichtert den Vergleich und die Wiederherstellung von Texten, vergrößert aber auch den Datenbestand. Eine große Zahl von Revisionen beweist weder einen Defekt noch eine langsame Website.

Eine schreibgeschützte Messung dieser Website am 24. Oktober 2026 um 04:19 UTC ergab 7.635 Revisionen in insgesamt 12.284 Zeilen der Beitragstabelle. Rund 79,4 Prozent der dort gespeicherten Inhaltstext-Bytes entfielen auf Revisionen. Diese Momentaufnahme ersetzt die früheren, inzwischen überholten Zahlen.

Revisionszeilen und Inhaltstext in einer datierten Datenbankmessung
Messung vom 24. Oktober 2026, 04:19 UTC: 7.635 Revisionen; 79,4 % der post_content-Bytes. Keine Messung von Plattenplatz oder Geschwindigkeit.

Was WordPress tatsächlich speichert

Eine Revision enthält standardmäßig Titel, Inhalt und Kurztext. WordPress speichert dabei den aktuellen Bearbeitungsstand als eigene, mit dem Beitrag verknüpfte Zeile. Nach weiteren Änderungen wird daraus ein älterer Stand. Entsprechend registrierte Metadaten können ebenfalls an Revisionen teilnehmen. Eine Revision ist trotzdem keine vollständige Sicherung aller Beitragseigenschaften oder der Website.

Nicht jeder Speichervorgang erzeugt eine neue Revision: Der Beitragstyp muss Revisionen unterstützen, Revisionen müssen aktiviert sein und die relevanten Felder müssen sich normalerweise geändert haben. Filter können dieses Verhalten beeinflussen. Ein Skript mit 300 bearbeiteten Beiträgen erzeugt deshalb nicht zwangsläufig 300 Revisionen. Direkte SQL-Änderungen umgehen die üblichen WordPress-Abläufe vollständig.

Automatische Zwischenspeicherungen funktionieren anders: WordPress verwaltet einen Autosave je Beitrag und Benutzer. Ein vorhandener Autosave wird aktualisiert; bei Übereinstimmung mit dem gespeicherten Beitrag kann der Autosave entfallen.

Zeilen zählen statt Schätzwerte vergleichen

Die untersuchte Tabelle verwendet InnoDB. Für diesen Speichermotor kann information_schema.TABLES.TABLE_ROWS eine Schätzung liefern. Während der Messung zeigte die Übersicht 10.649 Zeilen, die direkte Zählung dagegen 12.284. Das ist kein Beleg für verlorene Datensätze.

Die direkte Zählung ergab 7.635 Revisionen, 2.958 Anhänge, 1.689 Beiträge und Seiten sowie zwei weitere Datensätze für globale Stile und Navigation. Die 1.689 Beiträge und Seiten umfassen sämtliche Statuswerte, darunter Entwürfe, geplante Beiträge und Papierkorb. Tatsächlich veröffentlicht waren 1.290 Beiträge und Seiten. Ein Anhangsdatensatz entspricht zudem nicht jeder automatisch erzeugten Bilddatei.

Symbolischer Vergleich eines hohen und eines niedrigen Stapels, ohne Messmaßstab

Textmenge ist nicht Dateigröße

Mit OCTET_LENGTH(post_content) wurden 92.563.135 Byte in Revisionen und 23.963.672 Byte in Beiträgen und Seiten gemessen: rund 88,3 beziehungsweise 22,9 MiB. Ein MiB entspricht 1.048.576 Byte. Die zwei übrigen Datensätze enthielten zusammen weitere 74 Byte; die Anhänge hatten in dieser Messung leere Inhaltstexte. Anhänge können grundsätzlich Beschreibungen enthalten.

Die Abfrage misst ausschließlich die Spalte post_content. Titel, andere Spalten, Metadaten, Indizes und bereits reservierter Tabellenplatz fehlen. Aus 88,3 MiB Revisionstext folgen daher weder 88,3 MiB freigebbarer Festplattenplatz noch eine gleich große Verringerung komprimierter Sicherungen.

Welche Kosten daraus folgen

Übliche öffentliche Beitragsabfragen schließen Revisionen aus. Daraus folgt keine Garantie identischer Ladezeiten mit oder ohne Revisionen: Abfragen, Indizes, Caches, Erweiterungen und Verwaltungsansichten können sich unterschiedlich verhalten. Diese Prüfung enthält keinen Vergleichstest der Ladegeschwindigkeit.

Zusätzliche Datensätze erhöhen den Umfang logischer Datenbankexporte. Die Auswirkungen auf Sicherungsdauer und Übertragung hängen jedoch unter anderem von Kompression, Datenträgern und Exportverfahren ab. Dreimal so viel Inhalt bedeutet nicht automatisch dreimal so lange Kopierzeit.

Aufbewahrung gezielt begrenzen

WP_POST_REVISIONS steuert die reguläre Aufbewahrung: true oder -1 bedeutet unbegrenzt, eine positive Zahl begrenzt die Revisionen je Beitrag, false oder 0 deaktiviert reguläre Revisionen. Autosaves bleiben davon ausgenommen. Die geprüfte Installation verwendete true. WordPress-Filter können die wirksame Grenze verändern.

Eine passende Grenze hängt vom Bearbeitungsrhythmus und der benötigten Rücksprungtiefe ab. Drei bis fünf Fassungen sind keine allgemeingültige Empfehlung. Vor umfangreichen Änderungen ergänzen eine geprüfte Sicherung und ein nachvollziehbares Änderungsprotokoll die Revisionen.

Fragen und Antworten

Räumt eine neue Grenze sofort alle alten Revisionen auf?

Nein. Die normale Bereinigung erfolgt beitragsweise im Ablauf einer neu angelegten Revision. Ein bloßer Konfigurationswechsel oder unverändertes Speichern bereinigt nicht automatisch den gesamten Bestand. Das Abschalten regulärer Revisionen löscht bestehende Revisionen ebenfalls nicht.

Warum nicht direkt aus der Beitragstabelle löschen?

Ein einzelnes SQL-DELETE kann zugehörige Metadaten und Cache-Einträge zurücklassen. Die WordPress-Funktion wp_delete_post_revision() verwendet den regulären Löschablauf einschließlich der zugehörigen Bereinigung. Eine Bestandsbereinigung benötigt eine geprüfte Sicherung und eine ausdrücklich festgelegte Auswahl. Bei dieser Messung wurden keine Revisionen gelöscht.

Wird die Tabellendatei nach dem Löschen kleiner?

Nicht zwangsläufig. InnoDB kann freigegebenen Platz intern wiederverwenden. Ob ein Neuaufbau Platz an das Dateisystem zurückgibt, hängt unter anderem von Tablespace und Konfiguration ab. Ein Neuaufbau kann zusätzlichen Platz und Wartungszeit benötigen; ein pauschaler OPTIMIZE-TABLE-Befehl folgt daraus nicht.

Welche Abfrage zeigt die Verteilung?

Die folgende reine Leseabfrage trennt Beitragstyp und Status. Das Präfix wp_ muss dem tatsächlichen Tabellenpräfix entsprechen.

SELECT post_type, post_status,
       COUNT(*) AS row_count,
       COALESCE(SUM(OCTET_LENGTH(post_content)), 0) AS content_bytes
FROM wp_posts
GROUP BY post_type, post_status
ORDER BY post_type, post_status;

Die Bytezahl betrifft nur den Inhaltstext. Bei laufender Bearbeitung können aufeinanderfolgende Abfragen unterschiedliche Momentaufnahmen liefern.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Eine Frage oder eine Idee für ein Webprojekt? Schreib mir kurz, worum es geht. Das Formular nutzt reCAPTCHA zum Schutz vor Spam.

Kommentar schreiben

Erfahrungen mit anderen Plugins oder Hosting-Umgebungen und Rückfragen zur Einrichtung sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.