Deine Anwendung erstellen

Wenn du dich dazu entscheidest, deine eigene Integration zu schreiben, solltest du ein paar Dinge beachten:

  1. Damit deine Anwendung ordnungsgemäß mit der Akismet‑API interagieren kann, sollten Benutzer in deiner Anwendung die Möglichkeit haben, übersehenen Spam und falsch‑positive Nachrichten zu melden sowie Kommentarprüfungen durchzuführen.
  2. Je mehr Daten du bei jeder Kommentarprüfung sendest, desto besser kann Akismet übersehenen Spam und falsche Positivmeldungen vermeiden.

Strukturieren deiner API‑Aufrufe

Alle Aufrufe an Akismet sind POST‑Anfragen – ganz ähnlich wie Anfragen, die ein Webformular sendet. Die Anfragevariablen sollten wie eine Abfragezeichenfolge aufgebaut sein: Schlüssel=Wert und mehrere durch Et‑Zeichen (&) getrennte Variablen. Vergiss nicht die URL‑Kodierung der Werte.

Arten von API‑Aufrufen

Es gibt drei verschiedene Arten von Aufrufen an Akismet:

  1. Die Schlüsselüberprüfung überprüft, ob ein gültiger API‑Schlüssel verwendet wird oder nicht. Dies ist besonders nützlich, wenn mehrere Benutzer mit ihren jeweils eigenen Akismet‑Abonnements deine Anwendung verwenden werden.
  2. Die Kommentarprüfung wird verwendet, um Akismet zu fragen, ob ein bestimmter Beitrag, Kommentar, ein Profil etc. Spam ist oder nicht.
  3. Spam melden und „Kein Spam“ melden sind Möglichkeiten, Akismet mitzuteilen, wenn etwas falsch erkannt wurde (übersehener Spam und falsche Positivmeldungen). Diese sind sehr wichtig und du solltest nicht mit der Akismet‑API entwickeln, ohne die Möglichkeit zu bieten, übersehenen Spam und falsch‑positive Nachrichten zu melden.

Testen deiner API‑Aufrufe

Akismet funktioniert, indem alle verfügbaren Informationen kombiniert werden. Es reicht nicht aus, nur den Inhalt einer Nachricht bereitzustellen; du musst in jedem Aufruf so viele unabhängige Informationen wie möglich bereitstellen. Bevor du die Treffsicherheit von Akismet testen kannst, musst du also sicherstellen, dass du vollständige und korrekte Informationen sendest.

Um ein positives (Spam‑)Ergebnis zu simulieren, tätige einen Kommentarprüfungs‑API‑Aufruf, 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 aus. Die Akismet‑API reagiert auf eine gültige Anfrage mit einem dieser Werte immer mit einer true‑Antwort. Wenn du eine andere Antwort erhältst, stimmt etwas nicht mit deinem Client, den Daten oder der Kommunikation.

Um ein negatives Ergebnis („Kein Spam“) zu simulieren, tätige einen Kommentarprüfungs‑API‑Aufruf, bei dem user_role auf administrator gesetzt und alle anderen erforderlichen Felder mit typischen Werten ausgefüllt sind. Die Akismet‑API reagiert immer mit einer false‑Antwort. Jede andere Antwort deutet auf ein Daten- oder Kommunikationsproblem hin.

Stelle außerdem sicher, dass dein Client mit einer unerwarteten Antwort umgehen kann. Gehe nicht davon aus, dass die Kommentarprüfungs‑API immer mit true oder false antwortet. Eine ungültige Anfrage kann zu einer Fehlerantwort führen; zusätzliche Informationen sind normalerweise in den HTTP‑Headern verfügbar. Und natürlich kann ein Konnektivitätsproblem dazu führen, dass gar keine Antwort kommt. Es ist wichtig, eine ungültige Antwort nicht fälschlicherweise als Spam oder Kein Spam zu interpretieren.

Für automatisierte Tests füge den Parameter is_test=1 in deine Tests ein. Dadurch wird Akismet sein Verhalten basierend auf diesen API‑Aufrufen nicht ändern – es gibt keinen Lerneffekt. Das bedeutet, dass deine Tests in gewisser Weise wiederholbar sind, in dem Sinne, dass ein Test keine Auswirkungen auf nachfolgende Aufrufe hat.

Festlegen deines User Agents

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

Anwendungsname/Version | Pluginname/Version

Der User‑Agent‑String des Akismet‑WordPress‑Plugins würde wie folgt aussehen:

WordPress/4.4.1 | Akismet/3.1.7