Formular-Spam in WordPress stoppen — ohne die echten Anfragen zu vergraulen.
Zwanzig Spam-Mails am Tag aus dem Kontaktformular, dazwischen die echte Anfrage, die man fast übersieht — oder schlimmer: Das Formular verschickt selbst Spam an Fremde, und der Hoster droht mit Sperrung. Hier stehen die Maßnahmen, die wirklich wirken, in der richtigen Reihenfolge.
Die wirksamste Kombination ohne Nutzer-Rätsel: Honeypot-Feld, Zeitprüfung (zu schnell abgeschickt = Bot), Begrenzung pro IP und ein unsichtbarer Bot-Check wie Cloudflare Turnstile. Dazu: E-Mail-Versand per SMTP, feste Empfängeradresse statt Nutzereingabe, und keine Formulare, die Text des Absenders ungefiltert an beliebige Adressen weiterleiten.
Zwei Arten von Formular-Spam.
Eingehender Spam: Bots füllen dein Formular aus, du bekommst Werbung, Links, Erpressungsversuche. Lästig, aber harmlos — solange du echte Anfragen noch findest.
Ausgehender Spam: Das Formular wird missbraucht, um Mails an Fremde zu schicken — etwa weil eine Kopie an eine vom Absender eingegebene Adresse geht oder der Betreff frei wählbar ist. Dann verschickt deine Domain Spam, landet auf Sperrlisten, und der Hoster sperrt das Postfach. Das ist der Fall, der sofort behoben werden muss.
Die Maßnahmen in der richtigen Reihenfolge.
- Honeypot: Ein unsichtbares Feld, das Menschen nicht sehen, Bots aber ausfüllen. Ausgefüllt = verwerfen. Kostet den Nutzer nichts.
- Zeitprüfung: Wer das Formular in unter drei Sekunden abschickt, ist kein Mensch.
- Begrenzung pro IP: Mehr als drei Sendungen in zehn Minuten werden abgelehnt.
- Unsichtbarer Bot-Check: Cloudflare Turnstile oder vergleichbar — der Nutzer sieht meist nichts.
- Inhaltsfilter: Nachrichten mit mehreren Links, kyrillischen Zeichen bei deutschem Publikum oder bekannten Spam-Phrasen markieren oder ablehnen — mit Augenmaß.
- Akismet oder ähnliche Dienste als zusätzliche Prüfung, Datenschutz beachten.
- Bestätigung per E-Mail (Double-Opt-in) nur, wo es passt — etwa bei Newsletter-Anmeldungen, nicht bei Kontaktanfragen.
Meist reichen die ersten drei Punkte für über 90 % des Spams — ohne dass ein echter Interessent ein einziges Rätsel lösen muss.
reCAPTCHA, Turnstile oder gar nichts?
| Google reCAPTCHA | Cloudflare Turnstile | Honeypot + Zeit + Limit | |
|---|---|---|---|
| Nutzer sieht | Oft Bilderrätsel | Meist nichts | Nichts |
| Wirksamkeit | Hoch | Hoch | Hoch gegen einfache Bots |
| Datenschutz | Datenübertragung an Google, Einwilligung nötig | Datenübertragung an Cloudflare, Auftragsverarbeitung prüfen | Keine Übertragung |
| Verlorene Anfragen | Spürbar — Rätsel schrecken ab | Gering | Keine |
| Empfehlung | Nur wenn nichts anderes hilft | Gute Ergänzung | Immer als Basis |
Einstellungen je Formular-Plugin.
- Contact Form 7: Honeypot per Erweiterung, Akismet-Anbindung über Feldnamen, Turnstile per Erweiterung. Standardmäßig wenig Schutz — deshalb häufig betroffen.
- WPForms, Gravity Forms, Fluent Forms: Honeypot und Zeitprüfung eingebaut, Turnstile und Akismet in den Einstellungen aktivierbar, Begrenzung teils über Add-ons.
- Elementor Forms: Honeypot-Feld hinzufügen, Turnstile oder reCAPTCHA in den Integrationen, Empfänger fest eintragen — keine Felder des Absenders in „An“, „CC“ oder „Antwort an“ ungeprüft übernehmen.
- Ninja Forms, Forminator: ähnlich, Honeypot und Bot-Check in den Formular-Einstellungen.
Formular als Spam-Schleuder: der gefährliche Fall.
Ein Formular wird zur Spam-Schleuder, wenn ein Absender bestimmen kann, wohin eine Mail geht oder was im Betreff steht. Typisch: „Kopie an mich senden“ mit frei eingegebener Adresse, oder ein Betreff-Feld, das eins zu eins in die Mail übernommen wird. Bots nutzen das, um tausende Mails mit deiner Absenderadresse zu verschicken. Abhilfe: Empfänger fest eintragen, Betreff festlegen, keine Kopie an frei eingegebene Adressen, Rate-Limiting, und im Hosting den Mailversand des Formulars auf ein Postfach mit SMTP-Authentifizierung umstellen, damit Missbrauch sichtbar und begrenzbar ist. Ich habe genau diesen Fall bei einem Kundenprojekt bereinigt — es sah zunächst wie ein Hack aus, war aber ein offenes Formular.
Warum echte Anfragen im Spam landen.
Das Gegenproblem: Anfragen kommen nicht an, weil dein Server Mails „im Namen“ der Absender verschickt. Empfänger-Server werten das als Fälschung. Lösung: Versand per SMTP über ein echtes Postfach deiner Domain, Absender ist immer deine Adresse, die Adresse des Kunden steht in „Antwort an“. Dazu SPF- und DKIM-Einträge für die Domain. Mehr zu diesem und anderen Fehlern: WordPress-Fehler beheben.
Honeypot und Zeitprüfung für eigene Formulare.
<?php
// Beim Rendern des Formulars:
// <input type="text" name="firma_website" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px">
// <input type="hidden" name="t0" value="<?php echo time(); ?>">
function mk_formular_ist_spam() {
// 1) Honeypot ausgefüllt -> Bot
if ( ! empty( $_POST['firma_website'] ) ) return true;
// 2) Zu schnell abgeschickt -> Bot
$t0 = (int) ( $_POST['t0'] ?? 0 );
if ( ! $t0 || time() - $t0 < 3 ) return true;
// 3) Mehr als 3 Sendungen in 10 Minuten von derselben IP -> ablehnen
$key = 'mk_form_' . md5( $_SERVER['REMOTE_ADDR'] ?? '' );
$count = (int) get_transient( $key );
if ( $count >= 3 ) return true;
set_transient( $key, $count + 1, 10 * MINUTE_IN_SECONDS );
return false;
}
// Beim Verarbeiten:
if ( mk_formular_ist_spam() ) {
wp_send_json_success(); // Bots freundlich "Danke" sagen, nichts versenden
}Bots bekommen absichtlich eine Erfolgsmeldung, damit sie nicht weiterprobieren. Empfänger und Betreff werden fest im Code gesetzt, nie aus Nutzereingaben übernommen. Bei Formular-Plugins übernehmen deren Einstellungen diese Aufgabe.
Formular-Spam ist meist in einer Stunde erledigt — inklusive SMTP-Umstellung, damit echte Anfragen ankommen: WordPress-Hilfe. Bei Verdacht auf ausgehenden Spam oder Sperrlisten-Einträgen: WordPress gehackt?.
Wer hilft.
Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.
Echte Projekte — live ansehen.
WordPress-Websites, die ich gebaut habe oder laufend betreue.

KT Bodenteam
Professioneller Auftritt für einen Bodenleger — Vorher-Nachher-Slider und regionale SEO.
Website ansehen ↗
Babas Grill
Webauftritt für einen Schnellimbiss — warmes Branding, Speisekarte, direkte Bestellmöglichkeit.
Website ansehen ↗
Potassco Solutions
Klare Website für ein KI-Unternehmen, die komplexe Technologie verständlich macht.
Website ansehen ↗FAQ — Formular-Spam in WordPress stoppen.
Wie stoppe ich Spam über mein WordPress-Kontaktformular?
Am wirksamsten ohne Nutzer-Rätsel ist die Kombination aus Honeypot-Feld, Zeitprüfung, Begrenzung der Sendungen pro IP und einem unsichtbaren Bot-Check wie Cloudflare Turnstile. Inhaltsfilter und Dienste wie Akismet ergänzen das. Diese Maßnahmen stoppen meist über 90 Prozent des Spams.
Sollte ich reCAPTCHA einsetzen?
Nur, wenn andere Maßnahmen nicht reichen. Bilderrätsel schrecken echte Interessenten ab und übertragen Daten an Google, was eine Einwilligung erfordert. Cloudflare Turnstile ist meist unsichtbar; Honeypot, Zeitprüfung und Rate-Limiting kommen ganz ohne Datenübertragung aus.
Mein Formular verschickt Spam an fremde Adressen, was tun?
Das Formular wird missbraucht, weil Absender Empfänger oder Betreff bestimmen können. Sofort Empfänger und Betreff fest eintragen, Kopien an frei eingegebene Adressen abschalten, Rate-Limiting einrichten und den Versand auf SMTP mit Authentifizierung umstellen. Danach prüfen, ob die Domain auf Sperrlisten steht.
Warum landen meine echten Anfragen im Spam-Ordner?
Weil der Server Mails im Namen der Absender verschickt, was Empfänger als Fälschung werten. Die Lösung ist Versand per SMTP über ein Postfach der eigenen Domain mit der Kundenadresse in Antwort an, ergänzt um SPF- und DKIM-Einträge.
Was ist ein Honeypot-Feld?
Ein für Menschen unsichtbares Formularfeld, das Bots automatisch ausfüllen. Ist es beim Absenden gefüllt, wird die Nachricht verworfen. Der Nutzer merkt davon nichts.
Welches Formular-Plugin hat den besten Spamschutz?
WPForms, Gravity Forms und Fluent Forms bringen Honeypot und Zeitprüfung mit und lassen Turnstile und Akismet aktivieren. Contact Form 7 hat standardmäßig wenig Schutz und braucht Erweiterungen. Bei Elementor Forms sind Honeypot, Bot-Check und feste Empfänger wichtig.
Das bin ich – rechts im BildErzähl mir von deiner neuen Website.
Beschreib kurz, was du vorhast — du bekommst eine ehrliche Einschätzung zu Umfang, Zeit und Kosten.
Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de