WordPressでブログやウェブサイトを作っていると、「お問い合わせフォーム」を設置する機会がたくさんありますが、そのときにはだいたい「Contact Form 7」プラグインを使用しています。ただ、そのまま設置しただけだとスパムメールが届いて煩わしいので、いくつかの対策を取っています。今回は、そのなかから、WordPressプラグインの「Contact Form 7 Honeypot」を使ったスパム対策について、メモします。

使用するプラグイン

「Contact Form 7 Honeypot」

Screenshot of wordpress.org

[icon-box icon=’arrow-right-2′ size=16 color=gray width=full]WordPressのプラグインページ:WordPress › Contact Form 7 Honeypot « WordPress Plugins[/icon-box][clear]

[icon-box icon=’arrow-right-2′ size=16 color=gray width=full]開発者さまのプラグインについてのページ:Honeypot Module for Contact Form 7 WordPress Plugin ~ Dao By Design[/icon-box][clear]

前提

「Contact Form 7 Honeypot」は、メールフォーム用プラグイン「Contact Form 7」内で使えるプラグインです。
[icon-box icon=’arrow-right-2′ size=16 color=gray width=full]Contact Form 7のWordPressのプラグインページ:Contact Form 7 « WordPress Plugins[/icon-box][clear]

しくみ

スパムボットはフォーム内のすべての項目に自動的に入力していくことが多いので、表から見えない「非表示のフィールド」をつくっておき、そこに入力されている場合はスパムとみなす処理をしてくれるようです。

表からは見られないフィールドなので、フォームに何かが表示されることはありません。たとえば、下記画像の○で囲んだ箇所に「Honeypot」のフィールドが入っていますが、このようになにも見えません。

インストール

「Contact Form 7 Honeypot」を利用するには、まず、プラグインをインストールします。
WordPress管理画面の[プラグイン]>[新規追加]から「Contact Form 7 Honeypot」を検索して、

検索結果に表示された「Contact Form 7 Honeypot」の「いますぐインストール」をクリックします。

インストールが終わったら「有効化」すると、プラグインが使えるようになります。

プラグインの設定

プラグインを有効化したら、メールフォーム内にHoneypotの「非表示フィールド」を追加してみましょう。まず、「Contact form 7」の管理画面を開きます。

Honeypotを追加したいフォームの編集画面を開いて、「タグの作成」をクリック、「Honeypot」 を選びます。

Honeypotの挿入画面が開きます。

「名前」の欄にデフォルトで入っている「honeypot」の文字列を、任意の文字列に書き換えたあと、「Copy this code and paste it into the form left.」の欄にある文字列をコピーします。
※任意の文字列に書き換えるのは、スパマー側で「honeypot」という名前を回避するような対策さをれると意味がないため

コピーした文字列をフォーム内の任意の場所にペーストして、保存したら完了です。

まとめ

この「Contact Form 7 Honeypot」は設置が簡単で、特にCAPTCHAをあまり使いたくないときには、とても便利に使えます。完全とはいえませんが、だいぶスパムメールが減ったので、満足です。その他のスパム対策と併用してもよいかもしれませんね。