---
title: "Spam in WordPress-Kommentaren und Formularen abwehren, ohne Daten an Dritte zu senden"
date: 2026-09-30T21:24:32+02:00
modified: 2026-11-10T17:19:50+01:00
category: wordpress
type: how_to
author: Marcel Schönfelder
canonical: https://s-edv.com/anleitungen/wordpress-spam-kommentare-formulare-abwehren-datenschutz
keywords:
  - WordPress
  - Spam
  - Datenschutz
  - Antispam Bee
  - Contact Form 7
reading_time: 9
---

# Spam in WordPress-Kommentaren und Formularen abwehren, ohne Daten an Dritte zu senden

Kaum ist eine WordPress-Website online, kommen die ersten Spam-Kommentare mit Links zu Uhren, Krediten und Casinos. Kontaktformulare liefern Werbung statt Anfragen. Viele greifen dann zu Google reCAPTCHA oder einem Cloud-Filter und übertragen damit Daten ihrer Besucher an Dritte, was in der Datenschutzerklärung und oft auch im Cookie-Banner auftauchen muss. Diese Anleitung zeigt einen Weg, der ohne externe Dienste auskommt: Bordmittel von WordPress, das Plugin Antispam Bee für Kommentare und die eingebauten Mittel von Contact Form 7 für Formulare. Alle Schritte wurden im Labor mit echten Spam-Versuchen geprüft.

**Kurzfassung:** Stellen Sie unter „Einstellungen“ › „Diskussion“ die Moderation für Erstkommentare und die Link-Grenze ein und schließen Sie Kommentare, wo Sie keine brauchen. Installieren Sie Antispam Bee: Das Plugin legt ein verstecktes Köderfeld an und prüft lokal, ohne Daten an Dritte zu senden. Lassen Sie die drei Optionen mit Datenschutzhinweis ausgeschaltet. Für Formulare mit Contact Form 7 hilft eine Quizfrage, und die Kommentar-Sperrliste von WordPress gilt auch für Formulare. Prüfen Sie den Spam-Ordner in den ersten Wochen auf fälschlich aussortierte Nachrichten.

## Voraussetzungen

- [ ] **WordPress:** geprüft mit WordPress 7.1.2 in deutscher Sprache.
- [ ] **PHP:** WordPress empfiehlt PHP 8.3 oder neuer, PHP 7.4 ist nur noch die Mindestversion. Contact Form 7 verlangt ab Version 6.2 PHP 8.3 und WordPress 7.1. Im Test PHP 8.4.
- [ ] **Plugins:** Antispam Bee 2.11.13 (laut Plugin-Seite getestet bis WordPress 7.1.2) und, falls Sie Formulare nutzen, Contact Form 7 (im Test 6.1.7).
- [ ] **Zugriff:** ein Konto mit der Rolle Administrator im Backend. Optional SSH mit WP-CLI für die Kontrolle.
- [ ] **Backup:** eine aktuelle Sicherung der Datenbank, bevor Sie Plugins installieren oder Spam in größerem Umfang löschen.
- [ ] **Datenschutzerklärung:** Zugriff auf Ihre Datenschutzerklärung, um eingesetzte Plugins und ihre Datenverarbeitung dort zu beschreiben.

## Schritt 1: Bordmittel in den Diskussionseinstellungen nutzen

Die wirksamste Spam-Abwehr ist, keine Angriffsfläche zu bieten. Braucht Ihre Firmenwebsite keine Kommentare, schalten Sie sie ab. Unter „Einstellungen“ › „Diskussion“ finden Sie im Abschnitt „Standardeinstellungen für Beiträge“ die Optionen „Besuchern erlauben, neue Beiträge zu kommentieren“ und „Link-Benachrichtigungen von anderen Blogs (Pingbacks und Trackbacks) zu neuen Beiträgen erlauben“. Entfernen Sie beide Haken. Die Einstellung gilt nur für neue Beiträge. Bestehende Beiträge ändern Sie in der Beitragsliste per Mehrfachbearbeitung.

Wollen Sie Kommentare behalten, sind diese Einstellungen sinnvoll:

- **„Bevor ein Kommentar erscheint,“ › „muss der Autor bereits einen freigegebenen Kommentar geschrieben haben“:** Erstkommentare landen in der Warteschlange, bekannte Kommentatoren erscheinen sofort. Diese Option ist ab Werk aktiv.
- **„Kommentare bei alten Beiträgen automatisch schließen“:** Spam trifft oft alte, gut gefundene Beiträge. Nach 90 Tagen kommt dort selten noch ein echter Kommentar.
- **„Kommentarmoderation“:** Ab Werk hält WordPress Kommentare mit zwei oder mehr Links zurück. Belassen Sie den Wert oder setzen Sie ihn auf 1.
- **„Kommentar-Sperrliste“:** Wörter, Domains oder IP-Adressen, eine pro Zeile. Treffer verschiebt WordPress in den Papierkorb. Auch Wortteile zählen, „press“ trifft also auch „WordPress“. Tragen Sie daher nur eindeutige Begriffe ein.

Im Labor landete ein Kommentar mit einer URL aus der Sperrliste direkt im Papierkorb. WordPress bremst zudem schnelle Serien: Ein zweiter Kommentar aus derselben Quelle wenige Sekunden nach dem ersten wurde mit HTTP 429 und dem Hinweis abgewiesen, die Kommentare würden zu schnell abgeschickt (englisches Original: „You are posting comments too quickly. Slow down.“).

> **Prüfen:** `wp option get comment_max_links` liefert den eingestellten Wert, `wp option get disallowed_keys` zeigt Ihre Sperrliste. Ein Testkommentar mit einem Begriff aus der Sperrliste erscheint unter „Kommentare“ im Filter „Papierkorb“.

## Schritt 2: Antispam Bee installieren

Antispam Bee wird von der Gruppe Pluginkollektiv gepflegt, kommt ohne Captcha aus und sendet laut Plugin-Seite keine personenbezogenen Daten an Dritte. Kern ist ein Köderfeld (Honeypot): Das Plugin benennt das echte Kommentarfeld um und legt unter dem alten Namen `comment` ein unsichtbares Textfeld an. Menschen sehen es nicht und füllen das echte Feld aus. Bots füllen das Feld mit dem bekannten Namen aus und verraten sich damit. Im Labor war das umbenannte Feld im Quelltext zu sehen, der Köder trug das Attribut `aria-label="hp-comment"` und `tabindex="-1"`, damit auch Screenreader und Tastaturnutzer nicht hineingeraten.

1. Öffnen Sie „Plugins“ › „Plugin hinzufügen“ und suchen Sie nach „Antispam Bee“.
2. Klicken Sie auf „Jetzt installieren“ und dann auf „Aktivieren“.
3. Die Einstellungen finden Sie unter „Einstellungen“ › „Antispam Bee“.

Per WP-CLI: `wp plugin install antispam-bee --activate`. Nutzen Sie einen Kommentar-Dienst wie Jetpack-Kommentare, wpDiscuz oder Disqus, hilft Antispam Bee laut FAQ nicht, weil diese ihr Formular in einem iFrame laden.

> **Prüfen:** Im Quelltext eines Beitrags mit Kommentarformular gibt es zwei `textarea`-Felder, eines davon mit `aria-label="hp-comment"`. Ein Kommentar, den ein Skript in das Feld `comment` schreibt, landet im Filter „Spam“. Im Labor speicherte das Plugin dazu den Grund `css`.

## Schritt 3: Antispam Bee datensparsam einstellen

Die Einstellungsseite gliedert sich in „Antispam-Filter“, „Erweitert“ und „Sonstiges“. Ab Werk waren im Labor aktiv: „Genehmigten Kommentatoren vertrauen“, „BBCode-Links sind Spam“, „Reguläre Ausdrücke verwenden“, „In der lokalen Spam-Datenbank suchen“ und „Als Spam markieren, nicht löschen“. Diese Voreinstellung arbeitet vollständig lokal.

Drei Optionen tragen ausdrücklich den Zusatz „Bitte beachte den Datenschutzhinweis für diese Option.“: „Kommentatoren mit Gravatar vertrauen“, „Kommentare aus bestimmten Ländern blockieren oder zulassen“ und „Kommentare nur in einer bestimmten Sprache zulassen“. Sie fragen je nach Option externe Dienste an, zum Beispiel Gravatar für das Profilbild. Lassen Sie sie ausgeschaltet, dann bleibt die Prüfung auf Ihrem Server und Sie müssen in der Datenschutzerklärung keinen zusätzlichen Empfänger nennen.

„Kommentarzeit berücksichtigen“ wertet zu schnell abgeschickte Kommentare als Spam. Die Seite selbst warnt: „Nicht empfohlen beim Einsatz von Caching“. Mit einem Seiten-Cache stimmt der gemessene Zeitpunkt nicht, echte Kommentare würden aussortiert.

Im Bereich „Erweitert“ lohnt sich „Vorhandenen Spam nach … Tagen löschen“, etwa nach 30 Tagen. So sammeln sich keine Daten an, die Sie nicht brauchen, was auch dem Grundsatz der Datenminimierung entspricht. „Bei Spam per E-Mail benachrichtigen“ ist meist überflüssig und erzeugt nur Mails.

> **Prüfen:** `wp option get antispam_bee --format=json` zeigt `"gravatar_check":0`, `"country_code":0` und `"translate_api":0`.

## Schritt 4: Kontaktformulare mit Contact Form 7 schützen

Antispam Bee schützt laut FAQ nur Kommentare, keine Formular-Plugins und keine Registrierungen. Für Formulare brauchen Sie eigene Mittel. Contact Form 7 bringt zwei davon ohne Zusatz-Plugin mit.

**Quizfrage:** Das Formular-Tag `quiz` stellt eine einfache Frage, die ein Mensch sofort beantwortet. Bearbeiten Sie unter „Formulare“ › „Kontaktformulare“ Ihr Formular und fügen Sie vor dem Senden-Knopf eine Zeile ein:

```plaintext
<label> Sicherheitsfrage [quiz spamfrage "Wie viel ist 3 plus 4?|7"] </label>
```

Vor dem senkrechten Strich steht die Frage, danach die Antwort. Im Labor lehnte das Formular die Antwort 5 mit „The answer to the quiz is incorrect.“ ab, die Antwort 7 ging durch. Ein Quiz ist barrierearm, solange die Frage einfach bleibt, und überträgt nichts an Dritte. Gezielte Angriffe auf Ihre Website hält es nicht auf, massenhaften Bot-Spam aber schon.

**Sperrliste:** Contact Form 7 prüft Eingaben gegen die Kommentar-Sperrliste von WordPress aus Schritt 1. Im Labor wurde eine Nachricht mit einer gesperrten Domain mit dem Status `spam` abgewiesen. Eine Liste gilt so für Kommentare und Formulare.

Wer ein Köderfeld auch im Formular möchte, findet im Plugin-Verzeichnis Erweiterungen wie „CF7 Apps“ (früher „Honeypot for Contact Form 7“, im Test Version 3.8.0), die ein Formular-Tag `honeypot` ergänzen. Das Plugin bringt inzwischen viele weitere Funktionen mit. Prüfen Sie vor dem Einsatz, welche Sie brauchen, denn jedes Plugin muss gepflegt werden.

> **Prüfen:** Schicken Sie das Formular einmal mit falscher Quiz-Antwort ab. Unter dem Feld erscheint die Fehlermeldung, und es geht keine E-Mail ein. Mit richtiger Antwort kommt die Nachricht an.

## Schritt 5: Spam-Ordner kontrollieren und Fehlalarme freigeben

Jeder Filter sortiert gelegentlich echte Nachrichten aus. Prüfen Sie deshalb in den ersten Wochen wöchentlich unter „Kommentare“ den Filter „Spam“. Mit „Kein Spam“ geben Sie einen Kommentar frei. Per WP-CLI:

```bash
$ wp comment list --status=spam --fields=comment_ID,comment_author,comment_date
$ wp comment meta list 3
$ wp comment unspam 3
```

Die Meta-Angabe `antispam_bee_reason` zeigt, welcher Filter angeschlagen hat. Im Labor gab es dabei einen lehrreichen Fehlalarm: Ein echter Testkommentar wurde mit dem Grund `localdb` als Spam markiert, weil er von derselben IP-Adresse kam wie ein kurz zuvor erkannter Bot. Die lokale Spam-Datenbank merkt sich IP-Adressen erkannter Spammer. Teilen sich viele Nutzer eine IP-Adresse, etwa in einem Firmennetz, kann das echte Kommentare treffen. Häufen sich solche Fälle, schalten Sie „In der lokalen Spam-Datenbank suchen“ aus. Im Labor landete der nächste echte Kommentar danach regulär in der Moderation.

Spam-Abwehr ist kein einmaliges Projekt. Plugins brauchen Updates, Bots ändern ihre Muster, und ein veraltetes Formular-Plugin ist selbst ein Einfallstor. Wer diese Aufgaben nicht selbst im Kalender halten möchte, kann sie abgeben: Die [WordPress-Wartung von wordpressupdate.de](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=artikel&utm_campaign=42) übernimmt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung, wöchentliche Backups auf externen Speicher und die Firewall.

> **Prüfen:** Nach `wp comment unspam` steht der Kommentar mit Status `0` (wartet auf Freigabe) oder `1` (freigegeben) in `wp comment list --status=all`.

## Typische Fehler

**Echte Kommentare landen im Spam mit Grund `localdb`**

gemeinsame IP-Adresse mit einem erkannten Spammer, siehe Schritt 5.

**Köderfeld ist für Besucher sichtbar**

Laut FAQ versteckt Antispam Bee das Feld mit Inline-Styles. Eine strenge Content Security Policy ohne `'unsafe-inline'` bei `style-src` verwirft diese. Die FAQ beschreibt den Filter `antispam_bee_honeypot_styles` und eine CSS-Regel als Lösung. Verstecken Sie das Feld nicht mit `display: none`.

**HTTP 429 beim Kommentieren**

Das ist die eingebaute Flood-Sperre von WordPress (HTTP 429), kein Fehler des Plugins. Sie trifft beim Testen vor allem Sie selbst.

**Formular meldet „There was an error trying to send your message.“**

Im Labor kam diese Meldung sowohl bei Spam als auch bei fehlendem Mailversand. Prüfen Sie zuerst, ob ein Begriff aus der Sperrliste greift, und dann den Mailversand.

**Sperrliste blockiert zu viel**

Wortteile zählen mit. Ein Eintrag wie „cash“ trifft auch Namen oder Adressen, die diese Buchstabenfolge enthalten.

## Häufige Fragen

### Warum nicht einfach reCAPTCHA?

reCAPTCHA lädt Skripte von Google und überträgt dabei Daten der Besucher an Google. Das müssen Sie in der Datenschutzerklärung nennen und in der Regel über eine Einwilligung absichern. Die hier gezeigten Mittel arbeiten lokal und stören Besucher nicht mit Bilderrätseln.

### Und Akismet?

Akismet ist in vielen Installationen vorinstalliert und filtert zuverlässig, prüft die Kommentare aber auf den Servern des Anbieters. Laut Plugin-Seite ist der Schlüssel nur für private Blogs kostenlos, geschäftliche Websites brauchen ein kostenpflichtiges Abo. Für eine Firmenwebsite bedeutet das Kosten und eine weitere Datenübermittlung. Ist Akismet inaktiv, löschen Sie es.

### Hilft Antispam Bee gegen Spam-Registrierungen?

Nein, laut FAQ nicht. Brauchen Sie keine Registrierung, lassen Sie unter „Einstellungen“ › „Allgemein“ die Option „Jeder kann sich registrieren“ ausgeschaltet.

## Fazit

Gegen den üblichen Spam kleiner Firmenwebsites reichen Bordmittel, Antispam Bee und ein Quiz im Formular. Alles läuft auf Ihrem Server, Besucher müssen keine Rätsel lösen, und die Datenschutzerklärung bleibt schlank. Kontrollieren Sie den Spam-Ordner anfangs regelmäßig, damit keine echte Anfrage verloren geht. Weitere Schritte zur Absicherung zeigt die Anleitung [Benutzerrollen in WordPress sauber vergeben](https://s-edv.com/anleitungen/wordpress-benutzerrollen-rechte-vergeben). Die laufende Pflege der Plugins übernimmt auf Wunsch die [WordPress-Wartung](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=fazit&utm_campaign=42) von Marcel Schönfelder.

## Weiterführende Anleitungen und Quellen

- [Benutzerrollen in WordPress sauber vergeben](https://s-edv.com/anleitungen/wordpress-benutzerrollen-rechte-vergeben)
- [WordPress-Login mit Zwei-Faktor-Authentifizierung absichern](https://s-edv.com/anleitungen/wordpress-login-zwei-faktor-authentifizierung-einrichten)
- [WordPress-Datenbank mit WP-CLI sichern und wiederherstellen](https://s-edv.com/anleitungen/wordpress-datenbank-wp-cli-sichern-wiederherstellen)
- [Antispam Bee im Plugin-Verzeichnis von wordpress.org](https://wordpress.org/plugins/antispam-bee/)
- [WordPress-Dokumentation: Discussion Settings Screen](https://wordpress.org/documentation/article/settings-discussion-screen/)
- [Contact Form 7 im Plugin-Verzeichnis](https://wordpress.org/plugins/contact-form-7/)
- [WP-CLI-Handbuch: wp comment](https://developer.wordpress.org/cli/commands/comment/)
