Spam is een groot probleem op WordPress websites en als je een of meerdere (contact)formulieren hebt geplaatst op je website dan ontvang je al snel heel veel spam. Gelukkig is er wat aan te doen.
De populairste gratis plugin voor contactformulieren voor WordPress is Contact Form 7. Juist omdat het een populaire plugin is die op veel WordPress websites wordt gebruikt, is dit formulier een belangrijk doelwit van spammers. Een website kan dagelijks wel honderden spam e-mails ontvangen door aanvallen op het contactformulier. Erg irritant natuurlijk. In dit artikel bespreken we een aantal methoden om deze spam tegen te gaan.
Je hoeft geen WordPress expert te zijn om ze te gebruiken.
Ook hoef je niet alle besproken antispammaatregelen te gebruiken. Integendeel, het is juist beter om niet te veel en in elk geval geen onnodige plugins te installeren. Elke extra plugin vertraagt je site een klein beetje en vormt een (klein) veiligheidsrisico. Het beste kies je een of twee methoden en test je het effect. Werkt het niet, probeer dan iets anders.
1. Akismet
Akismet heeft de reputatie de beste anti-spam plugin te zijn voor WordPress. Niet iedereen weet dat het ook werkt in combinatie met Contact Form 7.
Zodra je de Akismet WordPress plug-in hebt geactiveerd en de instructies op het scherm hebt gevolgd om je API-sleutel toe te voegen (gratis voor een website zonder winstoogmerk, een klein maandelijks bedrag voor bedrijfssites), moet je een aantal instellingen doen om het te laten werken met Contact Form 7 – zie https://contactform7.com/spam-filtering-with-akismet.
Akismet werkt ook tegen spam in de reactieformulieren van je blogartikelen. Omdat veel sites al Akismet gebruiken, en het erg effectief is, raad ik aan om als eerste Akismet in te zetten in je strijd tegen de spam. In mijn tests stopte Akismet ongeveer 70% van de spam van Contact Form 7. Het werkte goed samen met reCaptcha en de combinatie Akismet en reCaptcha stopte 100% van de spam.
2. reCaptcha
reCAPTCHA is een project van Google en moet een einde maken aan het irritante overtypen van moeilijk leesbare codes. Het is een geavanceerde techniek die ervoor zorgt dat bezoekers zo weinig mogelijk merken van de spambeveiliging. Met de laatste versie van reCAPTCHA (v3) kunnen menselijke gebruikers automatisch van bots worden onderscheiden. Contact Form 7 heeft ingebouwde voorzieningen voor reCAPTCHA v3. De stappen om reCAPTCHA v3 te integreren staan omschreven in de officiele documentie van Contact Form 7.
In combinatie met Akismet hield dit in de test alle spam tegen. Mogelijk is alleen het gebruik van reCaptcha al voldoende om alle spam tegen te houden en is de combinatie met Akismet niet per se nodig. Dit hebben we niet getest.
3. Quiz
Een eenvoudige quiz is ook een populaire manier om spam via contactformulieren te bestrijden. Ze werken door de gebruiker een eenvoudige vraag te stellen zoals “Welk getal is groter, 2 of 8?” Spambots kunnen deze vraag niet beantwoorden. Als gevolg hiervan kunnen alleen mensen die de juiste reactie invoeren het contactformulier verzenden. Gebruik bij voorkeur de in Contact Form 7 ingebouwde quiz optie en niet een extra plugin.
Om een quiz toe te voegen, klik je in het tabblad Formulier van het contactformulier op het knopje quiz.
Er verschijnt een pop-up. Vul bij Vragen en antwoorden de vraag en het antwoord in gescheiden door een ‘pipe’ (verticale streep) en klik op Tag invoegen.
Een voorbeeld van wat je kunt invullen bij Vragen en antwoorden is: Wat is de bovenste kleur van de Nederlandse vlag?|rood
Nadat je op de knop Tag invoegen hebt geklikt wordt de tag code geplaatst. Die ziet er ongeveer zo uit:
[quiz quiz-747 “Wat is de bovenste kleur van de Nederlandse vlag?|rood”]
Ook hier was de combinatie met Akismet een hele goede: er kwam geen spam meer binnen.
4. Bepaald aantal tekens
Ontvang je veel spam met slechts een paar tekens, dan is dit een goede bestrijder van dit soort spam. Je kunt de opties minlength en maxlength gebruiken om te voorkomen dat formulieren met te weinig of te veel tekens kunnen worden verzonden. Deze manier van spambestrijding blokkeert spambots zonder echte gebruikers te frustreren. Meer informatie over het gebruik van deze opties lees je hier: https://contactform7.com/text-fields
5. Contact Form 7 Honeypot
Contact Form 7 Honeypot is een WordPress plugin die een verborgen veld toevoegt aan je contactformulier. Echte gebruikers zullen het veld niet invullen het veld onzichtbaar is. Maar spambots zien niet dat het veld niet zichtbaar is en zullen het invullen. Hierdoor kan de plugin ze herkennen als bots en hun inzending blokkeren.
Nadat je de plugin Contact Form 7 Honeypot in je WordPress site hebt geïnstalleerd en geactiveerd, kies je de optie Honeypot van de Tag generator om een honeypot shortcode te maken die je in je contactformulier kunt invoegen. Het ziet er ongeveer zo uit (Contact Form 7 raadt aan de ID te veranderen in iets unieks, dus vervang 815 door iets anders):
[honeypot honeypot-815]
Meer info over de installatie en het gebruik van de plugin lees je hier: https://wordpress.org/plugins/contact-form-7-honeypot/#installation
Bij onze tests werkte deze plugin erg goed en zelfs zonder gebruik van Akismet kwam er vrijwel geen spam binnen.
De beste manier om af te rekenen met spam
Wat de beste manier is om spam via Contact Form 7 te stoppen is afhankelijk van het soort spam dat je krijgt. Niet elke methode of combinatie werkt voor elke site even goed. Zelf ben ik het meest tevreden over de combinatie van Akismet en reCaptcha. Maar voor jouw site kan de uitkomst anders zijn.
Wil je enkel de spam verminderen, maar is volledig stoppen geen vereiste, dan volstaat het gebruik van Akismet.