Contact Form 7 ist eines der beliebtesten Plugins für Kontaktformulare und das nicht ohne Grund. Denn es ist nicht unnötig aufgebläht und lässt sich bei Bedarf relativ einfach erweitern und individualisieren.
Aber es gibt ein Problem, nämlich Spam. Nicht nur Contact Form 7 hat dieses Problem, sondern jedes Formular im Web. Und es ist nicht immer einfach auf der einen Seite Spam zu verhindern und auf der anderen die (hoffentlich gute) User Experience und Usability zu bewahren.
Heute möchte ich dir zwei Möglichkeiten zeigen, wie du Contact Form 7 Spam verhinderst und zwar DSGVO-konform und ohne deine Besucher unnötig mit ReCaptchas zu quälen.
Contact Form 7 Spam mit einem Quiz stoppen
Das hört sich jetzt vielleicht etwas kompliziert oder aufwändig an, doch es ist sehr einfach umzusetzen. Contact Form 7 bringt standardmäßig ein Quiz-Feld mit. Dieses können wir dazu nutzen Spam zu verhindern.
Alles was du dafür tun musst, ist ein Quiz-Feld zu erstellen, indem du mindestens eine Frage und die richtige Antwort dazu formulierst.
Deine Besucher müssen die richtige Antwort in das Feld eintragen, sonst kann das Formular nicht gesendet werden. Spam-Bots werden das sehr wahrscheinlich nicht tun können. Selbst wenn sie die auf deutsch formulierte Frage lesen können, so können sie diese nicht verstehen und tragen somit jedes Mal eine falsche Antwort ein.
So setzt du das Quiz-Feld in Contact Form 7 um
Öffne dein Kontaktformular und klicke anschließend auf den „Quiz“-Button, um den Formular-Tag-Generator zu öfffnen:
Im Quiz-Feld-Generator kannst du nun so viele Fragen-Antworten-Paare hinterlegen wie du möchtest. In jede Zeile kommt eine Frage und die dazugehörige Antwort.
Hier habe ich einfach das Beispiel von Contact Form 7 übernommen und es angepasst.
Trägst du mehrere Fragen-Antworten-Paare ein, rotiert Contact Form 7 diese und wählt jedes Mal ein anderes Paar aus. Erfahrungsgemäß reicht es allerdings aus eine einzige Frage und Antwort zu formulieren.
Füge das generierte Quiz-Feld jetzt an die gewünschte Stelle in deinem Formular ein:
Nach dem Speichern des Formulars solltest du keine Spamprobleme mit deinen Contact Form 7 Formularen haben.
Tipps für gute Quiz-Fragen
Damit dir deine (echten) Besucher ohne große Anstrengungen Nachrichten senden können, habe ich hier noch ein paar Tipps:
- Stelle Fragen, die jeder sofort ohne viel nachzudenken beantworten kann
- Halte die Fragen möglichst kurz
- Formuliere unmissverständliche Fragen
- Gebe ggf. Hinweise auf die richtige Antwort (soll z.B. das Ergebnis bei Rechenaufgaben als Zahl eingegeben oder ausgeschrieben werden)
- Du kannst die Lösung auf deine Frage auch direkt vorgeben, weil Spam-Bots diese normalerweise sowieso nicht interpretieren können
Contact Form 7 Spam mit Honeypot Plugin stoppen
Honeypots werden schon sehr lange eingesetzt, um Spam zu verhindern. Die Funktionsweise dabei ist ziemlich simpel.
Es wird ein verstecktes bzw. nicht sichtbares Feld in das Formular eingefügt. Spam-Bots füllen in der Regel aber alle Felder aus, die sie im Quelltext einer Webseite finden können. Die meisten Bots erkennen nicht, ob ein Feld für Menschen sichtbar ist oder nicht.
Sobald das Formular abgeschickt wird, wird geprüft, ob das versteckte Feld (Honeypot) ausgefüllt wurde oder nicht. Falls ja, dann handelt es sich um Spam und die Daten können verworfen werden.
Das ist die einfachste Honeypot-Variante und sie funktioniert immer noch, aber die Spam-Bots haben dazugelernt und somit sind solche einfachen Honeypots nicht mehr so effektiv wie früher.
Ich habe mich deshalb etwas umgesehen und ein Plugin herausgesucht, das einen Honeypot in Contact Form 7 einfügt, der es Spam-Bots nahezu unmöglich macht diesen Schutz zu umgehen. Und natürlich arbeitet das Plugin DSGVO-konform.
WP Armour – Honeypot Anti Spam
Dieses Plugin funktioniert nicht nur mit Contact Form 7, sondern auch mit vielen weiteren Plugins. Außerdem fügt es auch einen Honeypot u.a. in die WordPress Kommentare und das Registrierungsformular von WordPress ein, falls du es nutzt.
Das schöne an diesem Plugin ist, dass du es nur zu installieren und aktivieren brauchst. Den Rest erledigt das Plugin automatisch.
Was macht WP Armour anders als die meisten anderen Plugins?
Das besondere bzw. clevere an diesem Plugin ist, dass das Honeypot Feld dynamisch erzeugt und eingefügt wird. Das funktioniert mit Hilfe von JavaScript.
Da (Spam-)Bots in der Regel kein JavaScript ausführen können, wird der Honeypot gar nicht erst erzeugt, wenn ein Bot deine Formulare aufruft. Das heißt wiederum, dass keine Daten gesendet werden können, da das Honeypot-Feld für den Versand vorhanden sein muss.
Nehmen wir aber an, dass wir in Zukunft vermehrt Bots haben werden, die auch JavaScript ausführen können. In dem Fall generiert das Plugin einen individuellen und einzigartigen Namen für das Honeypot-Feld. Ein Bot kann somit nicht erkennen, dass es sich dabei um ein Honeypot-Feld handelt, weil er den Namen nicht zuordnen kann. Damit kann der Bot das Feld auch nicht einfach auslassen.
Ähnlich funktioniert übrigens auch das Plugin Forget Spam Comment, welches nur deine Kommentare vor Spam schützt.
Welche Variante ist besser?
Beide Varianten funktionieren gut und verhindern erfolgreich (den meisten) Spam. Doch natürlich haben beide sowohl Vor- als auch Nachteile.
Während ein Quiz-Feld eine zusätzliche Kontakthürde darstellt, bemerkt ein Besucher WP Armour normalerweise überhaupt nicht.
Allerdings ist WP Armour darauf angewiesen, dass JavaScript im Browser des Besuchers aktiviert ist, sonst funktioniert es nicht. Contact Form 7 hingegen funktioniert auch ohne JavaScript.
Heutzutage kann man allerdings davon ausgehen, dass praktisch alle (normalen) Besucher JavaScript in ihren Browsern aktiviert haben. Insofern sollte dich das nicht davon abhalten das Plugin zu nutzen.
Möchtest du also kein zusätzliches Plugin installieren und eine ziemlich robuste Lösung haben, welche Contact Form 7 Spam verhindert, dann wähle das Quiz-Feld.
Ist dir die Usability und User Experience deiner Besucher viel wichtiger oder brauchst du nicht nur für Contact Form 7 eine Lösung, dann probiere WP Armour aus.
Fazit
Spam ist und bleibt ein Problem im Web. Diesen komplett zu verhindern ist nicht immer einfach. Doch mit ein wenig kreativen Lösungen kann man die meisten Spam-Bots stoppen und das sogar DSGVO-konform.
FAQ
Häufig gestellte Fragen zu Contact Form 7 Spam werden hier beantwortet.
Kann Contact Form 7 Spam DSGVO-konform gestoppt werden?
Ja, sofern für die Spam-Erkennung keine personenbezogenen Daten verarbeitet werden. Falls IP-Adressen erfasst werden, so muss darauf zumindest in der Datenschutzerklärung hingewiesen werden.
Verhindert ein Honeypot immer zuverlässig Spam?
Je nachdem wie so ein Honeypot umgesetzt wird, kann dieser extrem gut funktionieren. Doch eine Garantie dafür, dass so Spam zu 100% unterbunden wird, kann es nicht geben.