Ein Honeypot in Webformularen ist ein unsichtbares Eingabefeld, das per CSS vor menschlichen Nutzern verborgen, für automatisierte Bots beim Parsen des HTMLs aber sichtbar ist. Da echte Nutzer das Feld nie sehen oder ausfüllen, wird jeder Submit mit einem gefüllten Honeypot als Spam abgelehnt. Die Technik wurde um 2007 durch Anti-Spam-Blogs und das WordPress-Plugin "Honeypot for Contact Form 7" populär und ist die datenschutzfreundliche Alternative zu Captchas wie Google reCAPTCHA — keine Drittanbieter-Skripte, keine Cookies, keine Barrierefreiheitsprobleme, kein Conversion-Verlust.
Wie funktioniert ein Honeypot?
Der Server fügt dem Formular ein zusätzliches Feld hinzu (oft website, url, email_confirm o. ä.). Das Feld wird per display: none, visibility: hidden, position: absolute; left: -9999px, leerem <label> oder Wrapper mit tabindex="-1" autocomplete="off" versteckt. Spam-Bots füllen wahllos jedes Feld, das sie finden — auch die Falle. Beim Submit prüft der Server:
- Feld leer → als Mensch behandeln, Formular verarbeiten.
- Feld gefüllt → als Bot behandeln, still verwerfen oder 200 OK zurückgeben, ohne zu speichern (so versucht der Bot es nicht erneut).
Honeypot vs Captcha: was ist besser?
| Kriterium | Honeypot | Captcha (reCAPTCHA) |
|---|---|---|
| User-Friktion | Keine (unsichtbar) | Mittel bis hoch |
| Barrierefreiheit (WCAG 2.2) | Konform | Audio-Fallback nötig |
| Datenschutz / DSGVO | Keine Drittaufrufe | Lädt Google-Skripte, Einwilligung nötig |
| Performance-Kosten | ~0 KB | ~200 KB JS |
| Bot-Erkennungsrate | ~95 % gegen dumme Spammer | ~99 % auch gegen smarte Bots |
| Conversion-Einfluss | Keiner | 3–29 % Drop |
Für die meisten WordPress-Seiten reicht ein Honeypot plus Zeit-Check, um deutlich mehr Spam zu blockieren, als wirklich relevant ist — ohne die rechtlichen und UX-Kosten eines Captchas.
Wie füge ich einem WordPress-Formular einen Honeypot hinzu?
Contact Form 7
Installiere das kostenlose Plugin "Honeypot for Contact Form 7" (über 1 Mio. aktive Installationen) und füge den Tag [honeypot website] in dein Formular ein. Das Plugin übernimmt CSS-Versteck und Server-Check automatisch.
WPForms / Gravity Forms / Fluent Forms
Alle drei haben eine eingebaute Honeypot-Option in den Formulareinstellungen — ein Klick, fertig.
Eigenes WordPress-Formular
<p style="position:absolute;left:-9999px;" aria-hidden="true">
<label for="website">Dieses Feld bitte leer lassen</label>
<input type="text" name="website" id="website" tabindex="-1" autocomplete="off">
</p>Server-seitige PHP-Prüfung:
if ( ! empty( $_POST['website'] ) ) {
// Bot erkannt — verwerfen
wp_die( 'Spam erkannt', 'Fehler', array( 'response' => 200 ) );
}Welche Best Practices gelten für Honeypots?
- Plausible Feldnamen wie
website,url,companyverwenden — nichthoneypot. Moderne Bots überspringen offensichtliche Fallen. - Über CSS verstecken, nicht
type="hidden"— smarte Bots ignorieren Hidden Inputs. tabindex="-1"undautocomplete="off"setzen, damit Tastaturnutzer und Passwortmanager das Feld überspringen.aria-hidden="true"für Screenreader.- Mit Zeit-Check kombinieren — Formulare, die in unter 2–3 Sekunden abgeschickt werden, ablehnen.
- Bei Ablehnung 200 OK zurückgeben, damit Bots nicht lernen, sie zu umgehen.
Wann reicht ein Honeypot nicht?
Anspruchsvolle Bots, die JavaScript ausführen und CSS-Sichtbarkeit respektieren (z. B. Headless-Chrome- / Puppeteer-Skripte), überspringen Honeypots. Für Hochwertziele — Login-Seiten, Zahlungsformulare, Lead-Gen mit Prämie — kombiniere Honeypot + Zeit-Check + Cloudflare Turnstile oder serverseitiges Rate-Limiting. Die andere Bedeutung von "Honeypot" — ein absichtlich verwundbarer Server zur Analyse von Angreifern — ist ein separates Cybersecurity-Konzept und hat nichts mit Spam-Formularen zu tun.
Was prüft InspectWP?
InspectWP analysiert jedes Formular auf der gecrawlten Seite und markiert fehlenden Spam-Schutz auf Kontakt- und Login-Formularen. Außerdem erkennt es geladene Google-reCAPTCHA-Skripte im DSGVO-Bereich, sodass du Honeypot- vs Captcha-Einsatz auf deiner Seite vergleichen kannst.