Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung WordPress 30.09.2026 · 10 min Lesezeit

WordPress-Kommentare datenschutzfreundlich einrichten: IP-Adressen kürzen und Daten sparen

WordPress speichert zu jedem Kommentar die vollständige IP-Adresse und den User-Agent. Diese Anleitung zeigt, wie Sie beides per Must-Use-Plugin kürzen, alte Kommentare bereinigen und die Diskussionseinstellungen datensparsam setzen.

Mit KI erstellt – redaktionelle Prüfung ausstehend

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Mehr dazu

Grafik mit der Überschrift Kommentare datensparsam und einem stilisierten WordPress-Adminbereich mit Kommentarliste

Jeder Kommentar in WordPress hinterlässt mehr Daten, als auf der Seite zu sehen ist: Neben Name, E-Mail-Adresse und Text speichert WordPress die vollständige IP-Adresse und die Browser-Kennung (User-Agent) des Absenders, standardmäßig ohne Ablaufdatum. Dazu kommen Avatare, die WordPress von einem externen Dienst lädt, und Cookies für die Formularfelder. Für Unternehmen im DACH-Raum stellt sich damit die Frage nach Datenminimierung und Speicherdauer nach DSGVO. Diese Anleitung zeigt, welche Daten tatsächlich anfallen, wie Sie IP-Adresse und User-Agent mit wenigen Zeilen Code kürzen, bestehende Kommentare nachträglich bereinigen und die Diskussionseinstellungen passend setzen. Alle Schritte haben wir in einer Testinstanz mit WordPress 7.1.2 ausgeführt. Eine Rechtsberatung ersetzt die Anleitung nicht.

Voraussetzungen

  • WordPress: eine aktuelle Version, getestet mit 7.1.2. Die Funktion wp_privacy_anonymize_ip() gibt es seit WordPress 4.9.6.
  • PHP: mindestens 7.4, wie von WordPress empfohlen.
  • Zugriff: SFTP, FTP oder SSH auf wp-content. Für die Bereinigung alter Kommentare (Schritt 4) SSH mit WP-CLI.
  • Rolle: Administrator im Backend.
  • Backup: eine aktuelle Sicherung der Datenbank. Schritt 4 verändert bestehende Daten unumkehrbar.
  • Datenschutzerklärung: Zugriff auf die Seite, damit Sie die Angaben zur Kommentarfunktion anpassen können.

Schritt 1: Feststellen, welche Daten WordPress speichert

Bevor Sie etwas ändern, sehen Sie nach, was Ihre Installation tatsächlich erfasst. Mit WP-CLI fragen Sie die letzten Kommentare direkt ab:

wp comment list --fields=comment_ID,comment_author,comment_author_IP,comment_agent --number=5

In unserer Testinstanz standen nach zwei Testkommentaren diese Werte in der Datenbank:

comment_ID  comment_author  comment_author_IP  comment_agent
2           Erika Muster    127.0.0.1          Mozilla/5.0 Testbrowser/1
3           Erika Muster    127.0.0.1          Mozilla/5.0 Testbrowser/2

Im Livebetrieb steht dort die öffentliche IP-Adresse des Besuchers. Ohne SSH sehen Sie die IP unter Kommentare in der Spalte des Autors. Übersicht der Datenpunkte:

DatumWo gespeichertStandard
Name, E-Mail, WebsiteTabelle wp_commentsunbegrenzt
IP-Adressecomment_author_IPvollständig, unbegrenzt
Browser-Kennungcomment_agentvollständig, unbegrenzt
Formular-CookiesBrowser des Besuchersnur nach Opt-in
Avatar-AbrufAnfrage an Gravatarbei jedem Seitenaufruf mit Kommentaren

Die DSGVO verlangt in Art. 5 Abs. 1 lit. c Datenminimierung: nur so viele Daten wie für den Zweck nötig. Die IP-Adresse hilft bei der Spam- und Missbrauchsabwehr; ob Sie sie dafür vollständig und dauerhaft brauchen, müssen Sie selbst begründen können. Der User-Agent hat für die Kommentarfunktion kaum einen Zweck.

Verifizieren: Sie wissen, ob in comment_author_IP vollständige Adressen stehen und ob comment_agent befüllt ist.

Schritt 2: IP-Adresse kürzen und User-Agent verwerfen

WordPress reicht beide Werte vor dem Speichern durch die Filter pre_comment_user_ip und pre_comment_user_agent. Dort setzen Sie an. Zum Kürzen bringt WordPress die Funktion wp_privacy_anonymize_ip() mit, die auch der Datenlöschungs-Assistent nutzt. Legen Sie die Datei wp-content/mu-plugins/kommentar-datenschutz.php an (Ordner mu-plugins bei Bedarf erstellen):

<?php
/**
 * Plugin Name: Kommentar-Datenschutz
 * Description: Speichert bei neuen Kommentaren keine vollständige IP-Adresse und keinen User-Agent.
 */

// IP-Adresse kürzen (IPv4: letztes Oktett auf 0).
add_filter( 'pre_comment_user_ip', function ( $ip ) {
	return wp_privacy_anonymize_ip( $ip );
} );

// Browser-Kennung (User-Agent) nicht speichern.
add_filter( 'pre_comment_user_agent', '__return_empty_string' );

Warum ein Must-Use-Plugin? WordPress lädt Dateien in mu-plugins immer, sie lassen sich im Backend nicht versehentlich deaktivieren und überstehen Theme-Wechsel. Code in der functions.php des Themes wäre beim nächsten Theme-Update weg.

So kürzt die Funktion, getestet per wp eval:

192.168.178.23 => 192.168.178.0
2001:db8:85a3:8d3:1319:8a2e:370:7348 => 2001:db8:85a3:8d3::

Bei IPv4 bleibt das Netz erhalten, bei IPv6 die ersten 64 Bit. Wer auch den verbleibenden Netzanteil nicht speichern möchte, gibt im Filter einfach eine leere Zeichenkette zurück.

Prüfen Sie die Datei vor dem Hochladen, falls Sie SSH haben:

php -l wp-content/mu-plugins/kommentar-datenschutz.php

Verifizieren: php -l meldet No syntax errors detected. Unter Plugins > Installierte Plugins erscheint der Reiter „Must-Use“ mit „Kommentar-Datenschutz“. Schreiben Sie einen Testkommentar und fragen Sie ihn wie in Schritt 1 ab. In unserem Test stand danach 127.0.0.0 in comment_author_IP und comment_agent war leer.

Schritt 3: Diskussionseinstellungen datensparsam setzen

Öffnen Sie Einstellungen > Diskussion. Vier Einstellungen sind für den Datenschutz relevant:

  • „Das Opt-in-Kontrollkästchen für Kommentar-Cookies anzeigen, damit die Cookies des Kommentarautors gesetzt werden können“: in unserer Neuinstallation aktiv, lassen Sie es so. Im Formular erscheint dann das Kästchen „Name, E-Mail-Adresse und Website in diesem Browser für meinen nächsten Kommentar speichern.“ Im Test füllte WordPress die Cookies comment_author_… und comment_author_email_… nur bei gesetztem Haken; ohne Haken schickte es leere Cookies mit Ablauf in der Vergangenheit, also eine Löschanweisung. Für nicht notwendige Cookies verlangt § 25 TDDDG eine Einwilligung; das Kästchen liefert sie.
  • „Avatare anzeigen“: Bei aktivierter Anzeige lädt der Browser jedes Kommentar-Avatars ein Bild von secure.gravatar.com. Im Test enthielt die Bildadresse einen Hashwert der E-Mail-Adresse des Kommentators, der Aufruf überträgt außerdem die IP-Adresse jedes Besuchers an den Dienst. Wenn Sie das nicht in der Datenschutzerklärung begründen möchten, entfernen Sie den Haken. Nach dem Abschalten enthielt die Beitragsseite im Test keinen Verweis auf Gravatar mehr.
  • „Kommentare bei alten Beiträgen automatisch schließen“: Weniger offene Formulare bedeuten weniger Spam und weniger neue Daten. Den Zeitraum in Tagen legen Sie daneben fest.
  • „Bevor ein Kommentar erscheint, muss der Kommentar manuell freigegeben werden“: Moderation verhindert, dass Besucher personenbezogene Daten Dritter öffentlich posten, bevor Sie es sehen.

Das Feld „Website“ im Formular ist optional. Pflichtfelder sind Name und E-Mail nur, wenn „Kommentarautoren müssen ihren Namen und ihre E-Mail-Adresse angeben“ aktiv ist. Ob Sie auf die E-Mail-Adresse verzichten, ist eine Abwägung zwischen Datensparsamkeit und Erreichbarkeit bei Rückfragen.

Verifizieren: Öffnen Sie einen Beitrag abgemeldet in einem privaten Fenster. Das Opt-in-Kästchen steht unter dem Formular und ist nicht vorausgewählt. In den Entwicklerwerkzeugen (F12, Reiter Netzwerk) erscheint keine Anfrage an gravatar.com, wenn Sie Avatare abgeschaltet haben.

Schritt 4: Bestehende Kommentare nachträglich bereinigen

Das Must-Use-Plugin wirkt nur auf neue Kommentare. Alte Einträge behalten ihre vollständige IP-Adresse. Legen Sie vor diesem Schritt ein Datenbank-Backup an; die Änderung lässt sich ohne Backup nicht zurücknehmen:

wp db export vor-kommentar-bereinigung.sql

Der folgende Befehl geht alle Kommentare durch, kürzt die IP mit derselben Funktion und leert den User-Agent. Er nutzt die WordPress-API statt SQL, damit Caches und Hooks sauber laufen:

wp eval '
$n = 0;
foreach ( get_comments( array( "status" => "all", "number" => 0 ) ) as $c ) {
	$ip = wp_privacy_anonymize_ip( $c->comment_author_IP );
	if ( $ip !== $c->comment_author_IP || "" !== $c->comment_agent ) {
		wp_update_comment( array( "comment_ID" => $c->comment_ID, "comment_author_IP" => $ip, "comment_agent" => "" ) );
		$n++;
	}
}
echo "Geaendert: $n\n";'

In der Testinstanz meldete der Befehl drei geänderte Kommentare. Beim Beispielkommentar ohne IP-Adresse setzte die Funktion 0.0.0.0 ein; das ist so vorgesehen. Bei sehr vielen Kommentaren führen Sie den Befehl außerhalb der Hauptlastzeit aus. Ohne SSH bereinigen Sie einzelne Personen über die Werkzeuge in Schritt 5.

Verifizieren: wp comment list --fields=comment_ID,comment_author_IP,comment_agent zeigt nur noch Adressen mit .0 am Ende (IPv4) und leere User-Agents.

Schritt 5: Auskunfts- und Löschanfragen bearbeiten

Verlangt eine Person Auskunft oder Löschung (Art. 15 und Art. 17 DSGVO), nutzen Sie die eingebauten Werkzeuge unter Werkzeuge > Personenbezogene Daten exportieren und Werkzeuge > Personenbezogene Daten löschen. Sie geben die E-Mail-Adresse ein, WordPress schickt eine Bestätigungsmail an die Person, nach Bestätigung führen Sie den Vorgang aus.

Die Löschung entfernt Kommentare nicht, sondern anonymisiert sie: Im Test stand danach als Autor „Anonym“, E-Mail und Website waren leer, die IP gekürzt. Der Kommentartext bleibt stehen. Enthält der Text selbst personenbezogene Angaben, bearbeiten oder löschen Sie den Kommentar zusätzlich von Hand unter Kommentare.

Denken Sie an Ihre Backups: Gesicherte Datenbanken enthalten die alten Daten weiter. Wie Sie Aufbewahrungsfristen und Löschpflichten in Backups regeln, beschreibt die Anleitung DSGVO-Löschpflichten und Backups.

Eine datensparsame Kommentarfunktion ist keine einmalige Einstellung. Neue WordPress-Versionen und Plugins können eigene Felder oder externe Dienste mitbringen, und Spam-Plugins wollen gepflegt werden. Wer Updates, Backups und die Firewall nicht selbst betreuen möchte, kann sie abgeben: Die WordPress-Wartung von wordpressupdate.de spielt Updates von WordPress, Plugins und Themes innerhalb von 48 Stunden mit Kompatibilitätsprüfung ein und sichert die Website wöchentlich auf externen Speicher.

Verifizieren: Stellen Sie eine Testanfrage mit einer eigenen Adresse. Nach Ausführung zeigt die Kommentarliste „Anonym“ statt Ihres Namens.

Typische Fehler

Flood-Sperre greift nicht mehr über die IP: WordPress prüft zu schnelle Folgekommentare, indem es die aktuelle IP mit gespeicherten Kommentaren vergleicht. Gespeichert ist aber nur noch die gekürzte Adresse. Im Test ohne Plugin lieferte der zweite Kommentar innerhalb von 15 Sekunden HTTP 429 mit dieser Meldung der deutschen Sprachdatei:

Du schickst deine Kommentare zu schnell ab. Bitte etwas langsamer.

Mit Plugin wurden zwei schnelle Kommentare mit verschiedenen E-Mail-Adressen angenommen. Gleichen Sie das mit einem Spam-Schutz aus, der ohne IP arbeitet, siehe Spam in Kommentaren und Formularen datenschutzfreundlich abwehren.

  • Datei im Unterordner von mu-plugins: WordPress lädt nur Dateien direkt im Ordner. Der Reiter „Must-Use“ bleibt dann leer.
  • „Es gab einen kritischen Fehler auf dieser Website.“: meist ein Syntaxfehler, oft typografische Anführungszeichen aus einem Textprogramm. Datei per SFTP umbenennen, dann lädt WordPress sie nicht mehr.
  • Hinter Proxy oder CDN steht überall dieselbe IP: WordPress speichert REMOTE_ADDR. Liegt ein Reverse-Proxy davor, ist das dessen Adresse. Die Kürzung schadet dann nicht, die IP war aber auch vorher wenig aussagekräftig.
  • Spam-Plugin speichert eigene Daten: Manche Plugins legen IP-Adressen in eigenen Tabellen oder Protokollen ab. Prüfen Sie deren Einstellungen separat.

Häufige Fragen

Reicht das für eine DSGVO-konforme Kommentarfunktion?

Es reduziert die gespeicherten Daten deutlich. Dazu gehören aber auch passende Angaben in der Datenschutzerklärung (Art. 13 DSGVO), eine festgelegte Speicherdauer und, falls Sie externe Spam-Dienste nutzen, ein Vertrag zur Auftragsverarbeitung. Die Bewertung Ihres Einzelfalls gehört zu Ihrem Datenschutzbeauftragten oder einer Rechtsberatung.

Darf ich IP-Adressen zur Spam-Abwehr kurz vollständig speichern?

Viele Betreiber stützen das auf ein berechtigtes Interesse nach Art. 6 Abs. 1 lit. f DSGVO. Dann brauchen Sie eine kurze, begründete Frist und einen Mechanismus, der danach kürzt. Das Plugin oben kürzt sofort; eine zeitversetzte Lösung wäre ein regelmäßiger Lauf des Befehls aus Schritt 4 nur für ältere Kommentare. Diese Variante haben wir nicht getestet.

Brauche ich ein Plugin für die Datenschutz-Checkbox im Formular?

Nicht für Cookies, das Opt-in-Kästchen ist eingebaut. Eine Pflicht-Checkbox zur Datenschutzerklärung bringt WordPress nicht mit; ob Sie eine brauchen, hängt von Ihrer Rechtsgrundlage ab.

Testumfang

Wir haben das Must-Use-Plugin in einer Testinstanz mit WordPress 7.1.2 ausprobiert und die gespeicherten Kommentardaten vorher und nachher direkt in der Datenbank verglichen. Dabei haben wir die Kürzung von IPv4- und IPv6-Adressen geprüft und auch die Flood-Sperre mit und ohne Plugin getestet.

Proxy-Setups, Multisite und die Bestätigungsmail der Werkzeuge haben wir nicht geprüft. Wenn Sie so etwas einsetzen, testen Sie bitte zuerst auf einer Kopie Ihrer Seite.

Fazit

Mit einem kleinen Must-Use-Plugin, einer einmaligen Bereinigung und drei Häkchen in den Diskussionseinstellungen speichert Ihre Kommentarfunktion nur noch das Nötige. Den Verlust der IP-basierten Flood-Sperre fangen Sie mit einem datensparsamen Spam-Schutz auf. Halten Sie die Datenschutzerklärung aktuell und prüfen Sie nach größeren Updates, ob neue Plugins zusätzliche Daten erfassen. Wer diese Kontrolle zusammen mit Updates und Backups auslagern möchte, findet sie in der WordPress-Wartung.

Weiterführende Anleitungen und Quellen

Quellen:

WordPressKommentareDatenschutzDSGVOIP-Adresse