今日、スパムはあらゆるものをターゲットとします。あなたのコンタクトフォームも例外ではありません。Contact Form 7 はスパムを回避するためにいくつかの手段を用意しており、スパムフィルタリングプラグインである Akismet との連携はその中でも重要な位置を占めます。この記事ではコンタクトフォームに Akismet を実装する手順について説明します。
まず、Akismet を有効化することが必要です。Akismet は最初から WordPress にインストールされているので、あとは有効化して WordPress.com の API キーをセットするだけです。
次に、以下の Akismet 関連オプションをフォームの適切な項目に追加します。
akismet:author
送信者の名前を入力する項目にこのオプションを追加する。
例:[text* your-name akismet:author]
akismet:author_email
送信者のメールアドレスを入力する項目にこのオプションを追加する。
例:[email* your-email akismet:author_email]
akismet:author_url
送信者の URL を入力する項目にこのオプションを追加する。
例:[text your-url akismet:author_url]
これらのオプションの最低1個がセットされている場合に(ただし正確な判定のためにはこれらすべてのオプションをセットすることを推奨します)、Contact Form 7 は送信者のすべての入力内容、および送信行動に関係したすべての情報を Akismet に送ります。そして、Akismet はその送信がスパムらしいかどうかを判定します。
Akismet がスパムと判定すると、Contact Form 7 はメールの送信をキャンセルし、メッセージ送信に失敗した旨のメッセージを表示します。スパムと判定されたことによる場合は応答メッセージにオレンジのボーダーラインが付くのでそれがわかります。
最後に、これが機能しているか確認したい場合は、送信者の名前として “viagra-test-123” を入力して送信することでテストすることができます。このテスト送信は常にスパムとして判定されるはずです。