{"id":470,"date":"2026-06-13T12:18:23","date_gmt":"2026-06-13T10:18:23","guid":{"rendered":"https:\/\/furthmueller.info\/plugins\/?p=470"},"modified":"2026-06-15T12:43:45","modified_gmt":"2026-06-15T10:43:45","slug":"warum-wordpress-so-viel-datenbankballast-erzeugt","status":"publish","type":"post","link":"https:\/\/furthmueller.info\/plugins\/warum-wordpress-so-viel-datenbankballast-erzeugt\/","title":{"rendered":"Warum WordPress so viel Datenbankballast erzeugt"},"content":{"rendered":"<p>WordPress ist das meistgenutzte Content-Management-System der Welt \u2013 und gleichzeitig eines der Systeme, das am schnellsten eine \u00fcbervolle Datenbank produziert. Wer eine WordPress-Website \u00fcber Monate oder Jahre betreibt, ohne sich um die Datenbank zu k\u00fcmmern, wird irgendwann feststellen: Die Seite wird langsamer, Backups wachsen ins Unermessliche, und Datenbankabfragen dauern l\u00e4nger als n\u00f6tig. Der Grund daf\u00fcr liegt nicht in einem Fehler von WordPress \u2013 sondern in der Art, wie das System von Grund auf konstruiert ist.<\/p>\n<h2>Die Architektur als Ursache<\/h2>\n<p>WordPress speichert nahezu alles in einer einzigen MySQL-Datenbank. Inhalte, Einstellungen, Nutzerdaten, Metadaten, Cache-Eintr\u00e4ge, Protokolle \u2013 alles landet in denselben Tabellen. Das macht WordPress flexibel und leicht erweiterbar, f\u00fchrt aber dazu, dass Daten sich \u00fcber die Zeit unkontrolliert anh\u00e4ufen.<\/p>\n<p>Die zentrale Tabelle <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#wp_options\" target=\"_blank\" rel=\"noopener\"><code>wp_options<\/code><\/a> ist daf\u00fcr ein gutes Beispiel: Sie speichert nicht nur WordPress-Kerneinstellungen, sondern auch Konfigurationsdaten jedes installierten Plugins, Widget-Einstellungen, Theme-Optionen und tempor\u00e4re Eintr\u00e4ge. Je l\u00e4nger eine WordPress-Installation l\u00e4uft und je mehr Plugins im Laufe der Zeit installiert und wieder entfernt wurden, desto gr\u00f6\u00dfer wird diese Tabelle \u2013 oft auf mehrere tausend Zeilen, von denen ein Gro\u00dfteil keine aktive Funktion mehr erf\u00fcllt.<\/p>\n<h2>Revisionen: Das stille Datenwachstum<\/h2>\n<p>Einer der h\u00e4ufigsten Verursacher von Datenbankballast ist das Revisionssystem von WordPress. Jedes Mal, wenn ein Beitrag oder eine Seite gespeichert wird \u2013 auch bei kleinen \u00c4nderungen oder versehentlichem Klick auf \u201eSpeichern&#8221; \u2013, legt WordPress automatisch eine Kopie des bisherigen Zustands an. Diese <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#revision\" target=\"_blank\" rel=\"noopener\">Revisionen<\/a> werden dauerhaft in der Datenbank gespeichert und standardm\u00e4\u00dfig nicht automatisch gel\u00f6scht.<\/p>\n<p>Bei einem aktiv gepflegten Blog oder einer Website mit vielen Seiten summiert sich das schnell: Ein einziger Beitrag, der zwanzig Mal \u00fcberarbeitet wurde, erzeugt zwanzig Revisionseintr\u00e4ge in der Tabelle <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#wp_posts-wp_postmeta\" target=\"_blank\" rel=\"noopener\"><code>wp_posts<\/code><\/a> \u2013 jeweils mit vollst\u00e4ndigem Inhalt, Titel und allen zugeh\u00f6rigen Metadaten in <code>wp_postmeta<\/code>. Bei hundert solchen Beitr\u00e4gen sind das potenziell tausende Zeilen, die keinen aktiven Nutzen mehr haben.<\/p>\n<p>WordPress erlaubt es, die Anzahl der aufzubewahrenden Revisionen per Konfiguration zu begrenzen. Wer das nicht aktiv tut, akkumuliert Revisionen unbegrenzt.<\/p>\n<h2>Papierkorb-Eintr\u00e4ge und Entw\u00fcrfe<\/h2>\n<p>\u00c4hnlich verh\u00e4lt es sich mit gel\u00f6schten Inhalten. WordPress verschiebt gel\u00f6schte Beitr\u00e4ge, Seiten und Medien standardm\u00e4\u00dfig in den Papierkorb, anstatt sie sofort zu l\u00f6schen. Der Papierkorb wird automatisch nach 30 Tagen geleert \u2013 aber nur, wenn der entsprechende Cronjob zuverl\u00e4ssig l\u00e4uft. Auf vielen Shared-Hosting-Umgebungen ist der <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#wp-cron\" target=\"_blank\" rel=\"noopener\">WP-Cron<\/a> nicht zuverl\u00e4ssig konfiguriert, sodass Papierkorb-Eintr\u00e4ge deutlich l\u00e4nger als geplant in der Datenbank verbleiben.<\/p>\n<p>Hinzu kommen Entw\u00fcrfe, die nie ver\u00f6ffentlicht wurden: Angefangene Artikel, Testseiten, automatisch gespeicherte Arbeitskopien. All das liegt in <code>wp_posts<\/code> mit dem Status <code>draft<\/code> oder <code>auto-draft<\/code> \u2013 und bleibt dort, bis es aktiv gel\u00f6scht wird.<\/p>\n<h2>Transients: Tempor\u00e4re Daten, die nicht verschwinden<\/h2>\n<p><a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#transient\" target=\"_blank\" rel=\"noopener\">Transients<\/a> sind ein Mechanismus in WordPress, mit dem Plugins und Themes tempor\u00e4re Daten zwischenspeichern k\u00f6nnen \u2013 \u00e4hnlich einem einfachen Cache. Der Gedanke dahinter ist sinnvoll: Statt bei jedem Seitenaufruf eine aufwendige Berechnung oder API-Abfrage durchzuf\u00fchren, wird das Ergebnis kurzzeitig in der Datenbank gespeichert und wiederverwendet.<\/p>\n<p>Das Problem: Transients haben zwar eine Ablaufzeit, werden aber nicht automatisch gel\u00f6scht, wenn sie ablaufen. Sie bleiben als inaktive Eintr\u00e4ge in <code>wp_options<\/code> stehen, bis WordPress sie beim n\u00e4chsten Zugriff \u00fcberschreibt oder ein Aufr\u00e4umprozess sie entfernt. Bei viel genutzten Websites oder nach der Deinstallation von Plugins, die intensiv von Transients Gebrauch gemacht haben, k\u00f6nnen sich Hunderte oder sogar Tausende solcher Eintr\u00e4ge ansammeln \u2013 ohne dass sie noch irgendeinem Zweck dienen.<\/p>\n<h2>Plugin-Deinstallationen hinterlassen Spuren<\/h2>\n<p>Wer WordPress \u00fcber l\u00e4ngere Zeit betreibt, installiert und deinstalliert typischerweise viele Plugins. Das ist normal \u2013 man probiert etwas aus, stellt fest, dass es nicht passt, und entfernt es wieder. Was dabei oft \u00fcbersehen wird: Viele Plugins hinterlassen nach ihrer Deinstallation Datenbankeintr\u00e4ge.<\/p>\n<p>Das liegt daran, dass WordPress bei der Deinstallation eines Plugins nur die Plugin-Dateien entfernt. Ob das Plugin dabei auch seine eigenen Datenbankeintr\u00e4ge aufr\u00e4umt, h\u00e4ngt davon ab, ob der Plugin-Entwickler eine entsprechende Deinstallationsroutine implementiert hat. Viele \u00e4ltere oder schlecht gewartete Plugins tun das nicht.<\/p>\n<p>Die Folge: Eigene Tabellen, die das Plugin angelegt hat, bleiben in der Datenbank bestehen. Einstellungen in <code>wp_options<\/code> bleiben erhalten. <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#post-meta\" target=\"_blank\" rel=\"noopener\">Post-Meta-Eintr\u00e4ge<\/a> in <code>wp_postmeta<\/code>, die das Plugin f\u00fcr seine Funktion geschrieben hat, bleiben erhalten. Nach Jahren mit dutzenden installierten und wieder entfernten Plugins kann sich so eine erhebliche Menge an verwaisten Daten ansammeln.<\/p>\n<figure><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/furthmueller.info\/plugins\/wp-content\/uploads\/sites\/4\/2026\/06\/datenbank.png\" alt=\"Illustration Datenbankserver mit Speicherkapazit\u00e4ten.\" \/><figcaption style=\"font-size: 0.8rem; font-style: italic; color: #888; text-align: center; margin-top: 6px; line-height: 1.5;\">Deinstallierte Plugins hinterlassen Tabelleneintr\u00e4ge, Einstellungen und Post-Meta \u2013 die Datenbank w\u00e4chst, auch wenn das Plugin l\u00e4ngst weg ist. \u00a9 2026 SJF.solutions \u00b7 Illustration erstellt mit ChatGPT (DALL\u00b7E)<\/figcaption><\/figure>\n<h2>Spam-Kommentare und Kommentar-Metadaten<\/h2>\n<p>Auf \u00f6ffentlich zug\u00e4nglichen WordPress-Seiten mit aktivierten Kommentaren landen unweigerlich Spam-Kommentare. Akismet und andere Spam-Filter fangen viele davon ab und verschieben sie in den Spam-Ordner \u2013 aber auch dort bleiben sie zun\u00e4chst gespeichert. Wer den Spam-Ordner nicht regelm\u00e4\u00dfig leert, sammelt \u00fcber Monate tausende Eintr\u00e4ge in <code>wp_comments<\/code> an, die keinerlei Informationswert haben.<\/p>\n<p>Zu jedem Kommentar k\u00f6nnen au\u00dferdem Metadaten in <code>wp_commentmeta<\/code> gespeichert werden. Auch diese Eintr\u00e4ge bleiben nach dem L\u00f6schen von Kommentaren manchmal als verwaiste Datens\u00e4tze zur\u00fcck, wenn die L\u00f6schroutine nicht vollst\u00e4ndig arbeitet.<\/p>\n<h2>Medien-Duplikate und nicht zugewiesene Dateien<\/h2>\n<p>Die WordPress-Mediathek ist ein weiterer Bereich, in dem sich ungenutztes Material ansammelt. Wenn Bilder mehrfach hochgeladen werden \u2013 etwa weil ein Beitrag \u00fcberarbeitet und das Bild noch einmal eingef\u00fcgt wurde \u2013, entstehen Duplikate sowohl auf dem Server als auch in der Datenbank. WordPress erzeugt beim Upload au\u00dferdem automatisch mehrere Bildgr\u00f6\u00dfen (Thumbnail, Medium, Large sowie custom sizes, die Themes definieren), die ebenfalls gespeichert werden.<\/p>\n<p>Hinzu kommen Medien, die hochgeladen, aber nie in einem Beitrag oder einer Seite verwendet wurden: Testbilder, veraltete Versionen, Importe aus alten Systemen. In der Datenbank sind das <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#attachment-verwaist\" target=\"_blank\" rel=\"noopener\">verwaiste Attachments<\/a> in <code>wp_posts<\/code>, die keinem \u00fcbergeordneten Beitrag zugeordnet sind.<\/p>\n<h2>Autoload-Optionen und Performance<\/h2>\n<p>Ein oft untersch\u00e4tztes Problem ist die <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#autoload\" target=\"_blank\" rel=\"noopener\"><code>autoload<\/code>-Spalte<\/a> in <code>wp_options<\/code>. Eintr\u00e4ge, die dort auf <code>yes<\/code> gesetzt sind, werden bei jedem einzelnen Seitenaufruf vollst\u00e4ndig in den Arbeitsspeicher geladen \u2013 unabh\u00e4ngig davon, ob sie gerade gebraucht werden. Je mehr Plugins ihre Einstellungen mit <code>autoload=yes<\/code> speichern, desto gr\u00f6\u00dfer wird diese initiale Datenbankabfrage bei jedem Seitenaufruf.<\/p>\n<p>Bei einer frischen WordPress-Installation ist das kein Problem. Nach Jahren mit vielen Plugins kann die Summe der Autoload-Daten jedoch mehrere Megabyte erreichen. Das wirkt sich direkt auf die Ladezeit jeder einzelnen Seite aus \u2013 auch wenn der Effekt auf modernen Servern oft erst unter Last sp\u00fcrbar wird.<\/p>\n<h2>Warum WordPress das nicht automatisch bereinigt<\/h2>\n<p>Man k\u00f6nnte fragen: Warum r\u00e4umt WordPress das nicht einfach automatisch auf? Die Antwort liegt in der Philosophie des Systems. WordPress ist darauf ausgelegt, keine Daten ohne explizite Nutzerbest\u00e4tigung zu l\u00f6schen. Das ist in vielen F\u00e4llen das richtige Verhalten \u2013 niemand m\u00f6chte, dass WordPress selbstst\u00e4ndig entscheidet, welche alten Daten noch gebraucht werden und welche nicht.<\/p>\n<p>Die Kehrseite ist, dass der Nutzer selbst aktiv werden muss. WordPress bietet daf\u00fcr einige Grundfunktionen (manuelles Leeren des Papierkorbs, Limit f\u00fcr Revisionen per <code>wp-config.php<\/code>), aber keine umfassende automatisierte Bereinigung. Das ist bewusst so gestaltet \u2013 und erkl\u00e4rt, warum die Datenbankverwaltung f\u00fcr WordPress-Betreiber eine regelm\u00e4\u00dfige Wartungsaufgabe ist, die nicht von selbst erledigt wird.<\/p>\n<h2>Fazit<\/h2>\n<p>Datenbankballast bei WordPress ist kein Zeichen einer kaputten oder schlecht konfigurierten Installation. Er ist die nat\u00fcrliche Folge davon, wie WordPress gebaut ist: flexibel, datenbasiert, mit einem starken Fokus auf Datensicherheit statt automatischer Bereinigung. Wer das versteht, kann gezielt gegensteuern \u2013 durch Konfiguration (Revisionslimit, <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/#wp-cron\" target=\"_blank\" rel=\"noopener\">WP-Cron<\/a>-Zuverl\u00e4ssigkeit), regelm\u00e4\u00dfige manuelle Bereinigung und ein Bewusstsein daf\u00fcr, welche Plugins wie intensiv mit der Datenbank interagieren.<\/p>\n<p>Eine gut gepflegte WordPress-Datenbank ist kein einmaliges Projekt, sondern ein Teil der laufenden Website-Wartung \u2013 \u00e4hnlich wie das Einspielen von Updates oder das Pr\u00fcfen von Backups.<\/p>\n<hr class=\"sjfb-article-end\" \/>\n<p><em>Fachbegriffe wie Transient, Autoload, WP-Cron oder wp_options werden im <a href=\"https:\/\/furthmueller.info\/plugins\/glossar\/\" target=\"_blank\" rel=\"noopener\">WordPress-Glossar<\/a> erkl\u00e4rt.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress ist das meistgenutzte Content-Management-System der Welt \u2013 und gleichzeitig eines der Systeme, das am schnellsten eine \u00fcbervolle Datenbank produziert. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":491,"comment_status":"open","ping_status":"open","sticky":false,"template":"template-plugins-single.php","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_metis_text_type":"standard","_metis_text_length":9032,"_post_count":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-470","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/posts\/470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/comments?post=470"}],"version-history":[{"count":9,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/posts\/470\/revisions"}],"predecessor-version":[{"id":498,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/posts\/470\/revisions\/498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/media\/491"}],"wp:attachment":[{"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/media?parent=470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/categories?post=470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/furthmueller.info\/plugins\/wp-json\/wp\/v2\/tags?post=470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}