Avatar von Matthias Bathke

von

Lesezeit: 6 Minuten

DSGVO All in one for WP vervielfacht Größe der wp-options Tabelle.

Vielerorts wird behauptet, WordPress wäre schlechter optimiert, als andere Content Management Systeme – Ursache sind aber meist einzelne Plugins. Ein Beispiel aus der Praxis.

Bei der Betreuung von Websites, die nicht von uns entwickelt wurden, stoßen wir immer wieder auf interessante Überraschungen.

Das Plugin DSGVO All in one for WP wirbt damit, eine ganzheitliche Lösung für die DSGVO-Konformität von Websites zu bieten. Bei genauerem Hinsehen zeigt sich jedoch, dass es weniger ein durchdachtes Gesamtkonzept verfolgt. Stattdessen ermöglicht es lediglich eine Beeinflussung des Verhaltens von ausgewählten Drittanbieterplugins. Wer alternative Plugins verwenden oder mehr als 5 eigene Tracking-Scripte integrieren möchte, stößt rasch an Grenzen, die teilweise willkürlich erscheinen.

Dennoch: Für Nutzer, die mit den angebotenen Funktionen zufrieden sind, bietet das Plugin grundsätzlich Möglichkeit, um DSGVO-Anforderungen zu erfüllen.

Ein wichtiges Merkmal jeder DSGVO-konformen Lösung ist das Logging von User-Reaktionen auf Cookie-Banner. Damit können beispielsweise Zustimmungen zum Tracking auch später nachvollzogen werden. Auch der Mitbewerber Usercentrics hält Logs vor.

Der Knackpunkt liegt jedoch in der Methode, mit der „DSGVO All in one for WP“ diese Logs speichert.

Logs haben es an sich, dass sie gerne ein Eigenleben entwickeln – sie fangen sehr klein an – und können monströse Größen annehmen.

Bei unserem Kunden wurde die Größe der wp_options-Tabelle innerhalb von etwa einem halben Jahr um über 450% aufgebläht – von ca. 4,18 MB zu 23,80 MB.

Aufgefallen war uns das, weil ein Import der wp_options-Tabelle über PHPmyAdmin, Plesk und verschiedene SQL-Dump-Scripts fehlschlug – Grund war eine einzelne Insert-Query für ein Feld, das knapp 20 Megabyte Textdaten enthielt – der MySQL-Server brach einfach ab.

Standardmäßig wird der Log-Eintrag nicht geladen und beeinträchtigt die Performance daher nur dann direkt, wenn ein neuer Eintrag hinzugefügt oder die vorhandenen Einträge ausgelesen werden, was bei einem einfachen Seitenaufruf nicht geschieht.

Best Practice ist, die Logs in einer eigenen Tabelle zu speichern.

In diesem Beitrag geht es nicht darum, das Plugin eines Kollegen in ein schlechtes Licht zu rücken. Obwohl die Grundversion des Plugins kostenlos ist und Raum für Feedback bietet, hat das Review-Team von WordPress dieses spezielle Problem übersehen. Es zeigt sich erst, wenn eine Website lange im Betrieb ist oder besonders hohen Traffic hat.

Dieses Beispiel illustriert, wie während der Entwicklungsphase architektonische Fehler übersehen werden können.

Praktiken wie regelmäßiges Refactoring, externe Code-Reviews oder Pair Programming können helfen, solche Schwachstellen frühzeitig zu identifizieren, ebenso wie automatisierte Tests. Zugegeben, diese Maßnahmen sind ressourcenintensiv und kosten Zeit sowie Geld.

Keine Software, auch unsere nicht, ist vor solchen Fehlern sicher. Wir müssen akzeptieren, dass perfekte Software illusorisch ist. Trotzdem sind solche Fehler vermeidbar und können, wenn sie nicht behoben werden, die Stabilität einer Website gefährden.

Ein Muster, das uns bei früheren Überprüfungen von DSGVO-Plugins aufgefallen ist: rechtliche Perfektion übertrifft oft technische Exzellenz.

Deshalb ist es entscheidend, technische Überprüfungen der eingesetzten oder ins Auge gefassten Plugin-Lösungen durchzuführen.

Unser Rat: Verzichten Sie, wenn möglich, auf Cookie-Banner – denn wenn keine Cookie-Zustimmung erforderlich ist, ist auch kein Banner notwendig.