[WP]Contact Form 7のお問い合わせフォームからの「スパムメール」を防ぐ方法

こんにちは! ヨス(プロフィールはこちら)です。

、友達のきち(@YOSHI_YANO)さんと「朝活」をしてきました(前回の朝活の記事はこちら)。その中でWordPressの送信フォームについていろいろと教えてもらったのでそのことについて。

コンタクトフォームからのスパムメールが多くて困っている

今回、話をした中で非常に役に立つ情報をWordPressのエキスパートのきちさんからゲットしました。 それは、お問い合わせフォーム(コンタクトフォーム)から届くスパムメールについてです。

実は、アクセスが多くなってきてから、お問い合わせフォームを介してのスパムメールが毎日めっちゃ多く届くようになっていたんです。それを何とかできないかと思っていたら、もちろん解決方法がありました。

「Akismet」のスパムフィルタリングに結びつける!

まずは、WordPressでサイトを運営をしている人ならたぶん使っている人が多いと思われるプラグイン「Akismet」を使う方法です。

この「Akismet」は、「スパムコメント」を分別してくれるステキなプラグインなんですが、これを使ってコンタクトフォームからのスパムメッセージを防ぐ方法です。

「Akismet」をインストール

まずはプラグインの「Akismet」をすでにインストールしていることが前提です。まだインストールしていない方は以下の記事をご参考に!

参考: Akismetプラグイン(コメントスパム対策) - WordPressプラグインの一覧

「Contact Form 7」の編集を開く

ではプラグイン「Contact Form 7」の編集画面を開きます。

場所は、[ 左メニューの「プラグイン」] → [「Contact Form 7」の下にある「設定」をクリック ] → [ 使っているフォームをクリック ]です。

コードを追加する

「名前」「Eメール」「URL」を入力する欄を「Akismet」に関連付けすることができます。

やり方はコードを以下のコードに変更するだけ!

Contact Form 7のコードを変更
名前 [text* your-name]

[text* your-name akismet:author]
Eメール [email* your-email]

[email* your-email akismet:author_email]
URL [text your-url]

[text your-url akismet:author_url]

これでばっちりです。

テストメール送信

ではちゃんとスパムメールが送れないようにしてくれているか、テストをしてみましょう。

送信者の名前入力欄に「viagra-test-123」を入れてテスト送信してみてください。

きっと送信されないと思います。送信されなければAkismetのスパムフィルタリングはちゃんとできているということです。

ちなみにこの「viagra-test-123」はスパムとして判別されるようになっている「テスト用の名前」だそうです。

Akismetは要らん!って方には

「Akismet」を入れるのがめんどくさい!って方にも、簡単にスパムを防ぐ方法があります。それは、チェックを入れないと送信できない「必須項目」を追加する方法です。

こんな項目を送信のボタンの上に作って、チェックを入れてもらうようにします。

確認画面は表示されません。上記内容にて送信しますので、よろしければチェックを入れてください。

これを必須項目にして、チェックを入れないと送信ボタンを押してもメッセージが送れなくするわけです。

やり方

やり方は、以下のコードを「Contact Form 7」の編集画面のコードに挿入して下さい。たったこれだけ。


<p>[checkbox* check use_label_element "確認画面は表示されません。上記内容にて送信しますので、よろしければチェックを入れてください。"]</p>

メリット

こんなチェック項目を利用することで、以下の3つのメリットが得られます。

  • チェックを入れないと送信できないため、スパムを防げる
  • 上の例のような文面にすることでこの送信フォームに「確認画面」がないことを伝えられる(「Contact Form 7」には確認画面がありません)
  • 「同意します」のような文面にすれば、クレームを防げる

3つ目の「クレームを防げる」というのはこういう意味です。

規約に同意します。

「いやいや、自分、チェックを入れた~っちゅうことは、読んだってことやんな? な?」ということです。

ヨスさんのこと大好きです。

ありがとうございます!! ぽっ。

エラーメッセージの位置も変えた!

ついでに必須項目への記入漏れがあったときの「エラーメッセージ」が一番下の分かりにくい場所に出ていたのを、変更しました。

エラーメッセージはこういうやつです。

入力内容に不備があります。確認してもう一度送信してください。

場所の変更の仕方

場所を変更したいときは「 [response] 」を出現させたい場所にいれるだけ!

たったこれだけで変更できます。もちろん<p>classを付けてCSSでデザインを変更することも可能です。

さて、こういうことって、ぶっちゃけGoogleで検索して調べれば、出てきます。でも検索で調べるより、知っている人に聞くと、所要時間が10分の1以下になりますよね。あ、もちろん私も助けられるところはアドバイスをしています!

そういう場として、ブロガー同士で困っていることを話し合えることだけで、「朝活」はありがたいですねー。今は2人だけですが、もう少し増えたら活気が出るかな? 香川の人で一緒にブログについて話がしたい人はぜひヨス(@yossense)まで連絡くださいねー!

今回お世話になったきちさんのブログはこちらです。