Verwenden von Akismet in Kontaktformularen
Akismet wurde ursprünglich entwickelt, um Spam in Blog-Kommentaren herauszufiltern, kann aber genauso auch Kontaktformulare schützen. Wenn du ein Kontaktformular entwickelst und es mit Akismet integrieren möchtest, folge der nachstehenden Anleitung.
Lies zunächst die Dokumentation zum API-Endpunkt comment-check und wende dann die folgenden Parameter-Anpassungen für deine Implementierung an:
permalink: Verwende die URL des Kontaktformulars.
comment_type: Verwende contact_form
comment_author: Wenn dein Kontaktformular ein Feld für den vollständigen Namen der ausfüllenden Person enthält, verwende diesen Wert hier.
comment_author_email: Wenn dein Kontaktformular ein einzelnes Feld für die E-Mail-Adresse des Benutzers enthält, verwende diesen Wert hier.
comment_author_url: Wenn dein Formular ein einzelnes Feld enthält, in das der Benutzer seine URL eingibt, verwende diesen Wert hier.
Sende für jedes weitere Freitextfeld in deinem Formular den jeweiligen Wert als eigenen Parameter im Format contact_form_field_fieldname, wobei fieldname eine normalisierte Version der Feldbezeichnung ist. Wenn du beispielsweise ein Feld namens „Phone Number“ hast, für das der Benutzer 1234567 eingibt, sende contact_form_field_phone_number=1234567. Ein Feld mit der Bezeichnung „Where did you hear about us?“ würde entsprechend als contact_form_field_where_did_you_hear_about_us übermittelt.
Wenn einer der Parameter für dein Formular nicht relevant ist, lasse ihn vollständig weg, anstatt einen leeren Wert zu senden. Wenn es beispielsweise kein E-Mail-Feld gibt, sende den Parameter comment_author_email gar nicht.
Wichtig: Nimm keine Inhalte in deine Anfrage auf, die nicht vom Benutzer frei eingetippt wurden. Auswahlen aus Dropdowns und die Bezeichnungen aktivierter Checkboxen sollten in der Akismet-Anfrage nicht enthalten sein.
Nicht erkannter Spam und Fehlalarme
Dein Kontaktformular sollte das Senden von Meldungen an Akismet zu nicht erkanntem Spam und Fehlalarmen unterstützen. Deine Implementierung sollte die ursprünglich an den Endpunkt comment-check gesendete Anfrage speichern, damit sie für diesen Zweck wiederverwendet werden kann.
Wenn eine Einsendung als Spam markiert wird, sende die ursprüngliche comment-check-Anfrage erneut, diesmal jedoch an den Endpunkt submit-spam.
Wenn eine Einsendung als Fehlalarm markiert wird, sende die ursprüngliche comment-check-Anfrage erneut, diesmal jedoch an den Endpunkt submit-ham.
Vor dem Start
Gehe vor der Veröffentlichung deiner Akismet-Integration für das Kontaktformular die folgende Checkliste durch:
☐ Mein Kontaktformular ermöglicht die Angabe eines Akismet-API-Schlüssels (sofern der Schlüssel nicht vordefiniert ist).
☐ Mein Kontaktformular überprüft die Gültigkeit eines vom Benutzer eingegebenen API-Schlüssels bei der Eingabe – und nur dann.
☐ Mein Kontaktformular enthält die empfohlenen Metadaten in Akismet-Anfragen wie IP-Adresse, User-Agent, Referrer und Permalink.
☐ Mein Kontaktformular enthält alle Felder, in die ein Wert eingetippt wurde, gesendet als contact_form_field_[fieldname]
☐ Mein Kontaktformular sendet keine Felder an Akismet, die keinen vom Benutzer eingetippten Wert enthalten.
☐ Mein Kontaktformular unterstützt das Markieren von Einsendungen als nicht erkannten Spam.
☐ Mein Kontaktformular unterstützt das Markieren von Einsendungen als Fehlalarme.
Wenn all diese Punkte zutreffen: Herzlichen Glückwunsch! Deine Integration ist startklar.
