Erstellen deiner Anwendung

Wenn du eine eigene Integration entwickeln möchtest, solltest du einige Dinge beachten:

  1. Damit deine Anwendung korrekt mit der Akismet API interagiert, sollte sie Benutzern neben der Durchführung von Kommentarprüfungen auch die Möglichkeit bieten, nicht erkannten Spam und fälschlich als Spam eingestufte Inhalte zu melden.
  2. Je mehr Daten du bei jeder Kommentarprüfung mitsendest, desto besser kann Akismet nicht erkannten Spam und False Positives vermeiden.

Aufbau deiner API-Aufrufe

Alle Aufrufe an Akismet sind POST-Anfragen, wie sie auch von einem Webformular gesendet werden. Die Anfrageparameter sollten wie eine Abfragezeichenfolge aufgebaut sein: key=value – mehrere Variablen werden durch kaufmännische Und-Zeichen (Ampersands) getrennt. Vergiss nicht, die Werte URL-kodiert zu übermitteln.

Arten von API-Aufrufen

Es gibt drei verschiedene Arten von Aufrufen an Akismet:

  1. Schlüsselüberprüfung prüft, ob ein gültiger API-Schlüssel verwendet wird. Das ist besonders nützlich, wenn mehrere Benutzer mit eigenen Akismet-Abonnements deine Anwendung nutzen.
  2. Kommentarprüfung Mit der Kommentarprüfung fragst du Akismet, ob ein bestimmter Beitrag, Kommentar, ein Profil usw. Spam ist.
  3. Spam melden und Kein Spam melden sind Folgeaufrufe, um Akismet über Fehleinschätzungen zu informieren (nicht erkannter Spam und False Positives). Diese Aufrufe sind sehr wichtig – du solltest die Akismet-API nicht nutzen, ohne eine Möglichkeit zum Melden von nicht erkanntem Spam und False Positives einzubauen.

Testen deiner API-Aufrufe

Akismet funktioniert, indem alle verfügbaren Informationen zusammen ausgewertet werden. Es reicht nicht aus, nur den Inhalt einer Nachricht zu übermitteln – du musst bei jedem Aufruf so viele unabhängige Informationen wie möglich mitsenden. Bevor du also die Genauigkeit von Akismet testen kannst, musst du sicherstellen, dass du vollständige und korrekte Daten sendest.

Um ein positives Ergebnis (Spam) zu simulieren, führe einen comment-check-API-Aufruf durch, bei dem comment_author auf akismet-guaranteed-spam oder comment_author_email auf akismet-guaranteed-spam@example.com gesetzt ist. Fülle alle anderen erforderlichen Felder mit typischen Werten. Die Akismet-API gibt bei einer gültigen Anfrage mit einem dieser Werte immer true zurück. Wenn du eine andere Antwort erhältst, liegt ein Problem in deinem Client, deinen Daten oder der Kommunikation vor.

Um ein negatives Ergebnis (kein Spam) zu simulieren, führe einen comment-check-API-Aufruf durch, bei dem user_role auf Administrator gesetzt ist, und fülle alle anderen erforderlichen Felder mit typischen Werten. Die Akismet-API gibt in diesem Fall immer false zurück. Jede andere Antwort deutet auf ein Daten- oder Kommunikationsproblem hin.

Stelle außerdem sicher, dass dein Client mit unerwarteten Antworten umgehen kann. Gehe nicht davon aus, dass die comment-check-API immer entweder true oder false zurückgibt. Eine ungültige Anfrage kann zu einer Fehlerantwort führen; weitere Informationen stehen in der Regel in den HTTP-Headern. Und natürlich kann ein Verbindungsproblem dazu führen, dass gar keine Antwort zurückkommt. Es ist wichtig, eine ungültige Antwort nicht fälschlicherweise als Spam oder Kein Spam zu interpretieren.

Füge für automatisierte Tests den Parameter is_test=1 hinzu. Damit wird Akismet angewiesen, sein Verhalten auf Basis dieser API-Aufrufe nicht zu ändern – sie haben keinen Trainingseffekt. Das bedeutet, dass deine Tests in gewissem Maße wiederholbar sind, da ein Test nachfolgende Aufrufe nicht beeinflusst.

Festlegen des User-Agents

Wenn möglich, sollte dein User-Agent-String immer das folgende Format verwenden:

Application Name/Version | Plugin Name/Version

Der User-Agent-String des Akismet-WordPress-Plugins würde so aussehen:

WordPress/4.4.1 | Akismet/3.1.7

Anwendungstypen

Akismet kann zum Filtern jeder Art von nutzergenerierten Inhalten verwendet werden, aber die API-Dokumentation wurde ursprünglich für Kommentarformulare und Foren geschrieben. Wenn du ein Kontaktformular entwickelst, wirf einen Blick auf diese zusätzlichen Hinweise zur Verwendung von Akismet mit Kontaktformularen.