Woordenlijst

Wat is een honeypot? Spambescherming zonder CAPTCHA

20 mei 2026

Een honeypot in webformulieren is een onzichtbaar invoerveld dat via CSS voor mensen verborgen blijft maar zichtbaar is voor bots die de HTML parsen. Omdat echte gebruikers het veld nooit zien of invullen, wordt elke submit met een ingevulde honeypot afgewezen als spam. De techniek werd rond 2007 populair via antispam-blogs en de WordPress-plugin "Honeypot for Contact Form 7" en is het privacyvriendelijke alternatief voor CAPTCHAs zoals Google reCAPTCHA — geen scripts van derden, geen cookies, geen toegankelijkheidsproblemen, geen conversieverlies.

Hoe werkt een honeypot?

De server voegt een extra veld toe (vaak website, url, email_confirm). Het wordt verborgen via display: none, visibility: hidden, position: absolute; left: -9999px, leeg <label> of tabindex="-1" autocomplete="off". Bots vullen elk veld dat ze vinden — ook de val. Bij submit:

  1. Veld leeg → mens, verwerken.
  2. Veld ingevuld → bot, stil weggooien of 200 OK retourneren zonder op te slaan.

Honeypot vs CAPTCHA: wat is beter?

CriteriumHoneypotCAPTCHA (reCAPTCHA)
GebruikerswrijvingGeenMiddel–hoog
Toegankelijkheid (WCAG 2.2)ConformAudio-alternatief nodig
Privacy / AVGGeen derde-partij-callsGoogle-scripts, toestemming nodig
Performance~0 KB~200 KB JS
Botdetectie~95 % dom spam~99 % incl. slimme bots
Conversie-impactGeen3–29 % daling

Voor de meeste WordPress-sites blokkeert honeypot + tijdscontrole ruim voldoende spam — zonder de juridische en UX-kosten van CAPTCHA.

Hoe voeg ik een honeypot toe aan een WordPress-formulier?

Contact Form 7

Installeer de gratis plugin "Honeypot for Contact Form 7" (1M+ actieve installaties) en voeg [honeypot website] toe.

WPForms / Gravity Forms / Fluent Forms

Alle drie hebben een ingebouwde honeypot-optie — één klik.

Eigen WordPress-formulier

<p style="position:absolute;left:-9999px;" aria-hidden="true">
  <label for="website">Laat dit veld leeg</label>
  <input type="text" name="website" id="website" tabindex="-1" autocomplete="off">
</p>
if ( ! empty( $_POST['website'] ) ) {
    wp_die( 'Spam gedetecteerd', 'Fout', array( 'response' => 200 ) );
}

Best practices voor honeypots

  • Plausibele veldnamen als website, url, company.
  • Verbergen via CSS, niet type="hidden".
  • tabindex="-1" + autocomplete="off".
  • aria-hidden="true" voor schermlezers.
  • Combineren met tijdscheck — afwijzen onder 2–3 s.
  • 200 OK retourneren bij afwijzing.

Wanneer is een honeypot niet genoeg?

Geavanceerde bots die JS uitvoeren en CSS-zichtbaarheid respecteren (Puppeteer / headless Chrome) slaan honeypots over. Voor doelen met hoge waarde (login, betaling, lead-gen met beloning) combineer honeypot + tijd + Cloudflare Turnstile of rate limiting. De andere betekenis van "honeypot" — een opzettelijk kwetsbare server om aanvallers te bestuderen — is een apart cybersecurity-concept.

Wat InspectWP controleert

InspectWP analyseert elk formulier op de gecrawlde pagina en markeert ontbrekende spambescherming op contact- en loginformulieren. Het detecteert ook geladen Google reCAPTCHA-scripts in de AVG-sectie.

Controleer nu uw WordPress-site

InspectWP analyseert uw WordPress-site op beveiligingsproblemen, SEO-problemen, GDPR-naleving en prestaties — gratis.

Analyseer uw site gratis