Akismet によるスパムフィルタリング

This page is also available in English.

スパマーはあらゆる対象をターゲットにします。あなたの問い合わせフォームも例外ではありません。

Contact Form 7 はさまざまなスパム対抗モジュールを用意しています。異なるタイプのモジュールを複数組み合わせて使うのがおすすめです。

Akismet は Automattic が提供する強力なアンチスパムサービスです。Akismet によるスパムフィルタリングは Contact Form 7 の対スパム戦略の要をなします。

Akismet を有効化する

情報開示: この投稿の作成者は Automattic アフィリエイトです。これは、文中のリンクを通じてあなたが何かを購入した場合に、投稿作成者が手数料収益を得ることを意味します。

最初のステップは Akismet プラグインを有効化することです。Akismet のプラグインパッケージは WordPress に同梱されているので、わざわざインストールする必要はありません。「プラグイン」メニューに移動して、”Akismet Anti-Spam” を有効化するだけです。

Akismet を使うためには API キーの取得が必要になります。個人のブログで使う場合は無料で API キーを取得できます。企業サイトや商業サイト向けには有料の購読プランが提供されています。

有料の購読プランの利用を検討している方には Jetpack Security のプランをおすすめします。これらにはスパム対策の機能に加えてバックアップとマルウェア検出の機能が含まれています。Jetpack は Akismet と同じ会社が提供している、WordPress のための総合セキュリティパッケージです。

Jetpack

問い合わせフォームに Akismet を配備する

Akismet の元々の目的は WordPress のコメントフォームを保護することです。Akismet を Contact Form 7 を保護する用途で使うためには、フォームの入力項目(フォームタグ)に特定のオプションを設定する必要があります。

Akismet 関連のオプションが3種類用意されています:

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]

これらのオプションのひとつでも使用されていれば Akismet がフォームに配備されます。正確な結果を得るためにはなるべく多種類のオプションを使用することをお勧めします。

Akismet が配備されたフォームでは誰かがフォームの送信を行うたびに Contact Form 7 は Akismet に対してデータ送信を行います。このデータは、すべてのユーザー入力内容(akismet:* オプション付きの項目だけではないので注意)に加えて、環境変数に由来する内容が含まれます。Akismet はこのデータを検証し、「スパム」か「ハム(非スパム)」かを応答します。

「スパム」応答が返された場合、Contact Form 7 はメール送信を停止し、「メッセージの送信に失敗しました」というオレンジの枠線で囲まれたメッセージを表示します。

スパムフィルタリングをテストする

スパムフィルタリングが正常に機能しているかテストするには、名前 (akismet:author) の入力項目に “viagra-test-123” と、あるいはメールアドレス (akismet:author_email) の入力項目に “akismet-guaranteed-spam@example.com” と入力して送信してみてください。これらのテスト用に予約された魔法の単語が与えられると Akismet は必ず「スパム」の応答を返すことになっています。期待通りに機能していればオレンジ枠のエラーメッセージを目にするでしょう。

WordPress のお問い合わせフォームプラグイン。シンプル、でも柔軟。