飲食店専門ホームページ制作プラン

Contact Form 7の迷惑メール対策6つとそれぞれのメリットデメリットまとめ

こんにちは。代表の銀河(@ginga_noguchi)です。

WordPressでWEBサイトを作成し、日に日にアクセスも増えてきて順調……それに比例して問い合わせフォームからのスパム(迷惑メール)も増えてイライラ。通知に反応してがっかりするのも嫌だし、肝心なメールを見落としそうで怖い。

ということで何かしらの対策をしたいと考えますよね。WordPressの問い合わせフォームはほとんどの方が『Contact Form 7』というプラグインを使用していると思いますので、今回はこちらで作成したフォームの対策方法をご紹介していきます。

少し手間のかかる作業もありますが、頑張ってこなしてストレスと時間の無駄から解放されましょう。

目次

迷惑メール対策1. フォームにチェックボックスを入れる

もっとも簡単な対策がこれ。

「スパムメール防止のため、こちらのボックスにチェックを入れてから送信してください。」

のような文言を入れるやつですね。Contact Form 7に純正で備わっている機能ですが、対策効果はちょっと薄め。

もちろん無いよりはいいですけど。あと、スパム対策だけでなく

「上記の内容で送信します。よろしければチェックを入れて送信ボタンを押してください。」

みたいな文言にすれば送信前の確認にも使えます。

メリット
  • 設定が簡単
  • ちょっとだけ効果がある
  • 送信前の確認としても使える
デメリット
  • 全ては防げない
  • 1アクション増えるので利便性は下がる

迷惑メール対策2. クイズを入れる

Contact Foorm 7の純正機能からもう1つご紹介。こちらは「1 + 1 = ???」のような簡単なクイズ機能を使って回答が正解でなければエラーになるというものですね。

簡単な問題でもロボットでは解けませんから効果はあります。ただ、デザイン的にイケてはいないのと、ユーザーの利便性も下がりますね。

メリット
  • 設定が簡単
  • けっこう効果がある
デメリット
  • 利便性はけっこう下がる
  • あんまりイケてない

迷惑メール対策3. Google「reCAPTCHA」を導入する

もっともおすすめなのがこちら。Googleの『reCAPTCHA』というものを導入することですね。

reCAPTCHAとは「私はロボットではありません」みたいなやつです。見たことありますよね?

ただ、これだけだと「最初のと同じチェック入れるやつじゃん」と思う方もいるでしょう。それだったらこっちは設定が結構面倒なのでおすすめしません。

reCAPTCHAは現在V3(バージョン3)まで出ており、

  1. 4文字ほどのランダムの英語や数字やひらがな等が表示され「表示されているテキストを入力して下さい」的なやつ
  2. 「私はロボットではありません」にチェックを入れる。または複数の写真が表示されて「自動車の写真を全部選んでください」的やつ
  3. AIがページ内でのユーザーの行動を自動でスコア化し、人間かbotか判断してくれる

となっています。V3になるとユーザーがサイトに来てからどのような動きをして問い合わせに来て、その動きから察するにそれは人間なのかロボットなのかをAIが自動で判断し、疑わしいやつはその場ではじいてくれます。

そしてContact Form 7はV3に対応しているのでユーザーの利便性も見た目も失いません。ただし、上述の通り設定がやや複雑ですのでそこはデメリットですね。

メリット
  • AIが自動で人間かbotか判断
  • デザインも利便性も損なわない
  • サイト内のデータが増えれば増えるほどAIが学習して精度アップ
デメリット
  • 設定が複雑で初心者はちょっとひるむかも
  • reCAPTCHAの導入方法

迷惑メール対策4. プラグイン「Akismet」を入れる

『Akismet』はWordPressにデフォルトで入っているスパム対策のプラグインです。迷惑メールだけでなく、サイト内のコメントにも効果があります。

デフォルトで入っているので設定しようかと思いきや「WordPress.comへの登録がなんちゃらかんちゃら」で挫折した方も多いんじゃないでしょうか。

メリット
  • スパムコメントにも効果がある
  • 一定のロボットに効果がある
  • 送信前の確認としても使える
デメリット
  • WordPress.comへの登録が必要
  • 重くなる・他のプラグインと競合するなどの理由でプラグインを増やしたくない
  • Akismetの導入方法

迷惑メール対策5. 日本語が含まれない場合はエラーにする

現在スパムメールのほとんどは海外からのものです。ですので「日本語が1文字も含まれない場合はスパム認証する」という設定にしてしまえば未然に防げます。

設定方法はこちらのブログにあるようなソースコードをfunction.phpに記述するだけ。function,phpは繊細ですのでちょっとしたことで「画面真っ白」みたいなエラーにもなりかねません。

初心者がここをいじる場合は必ずバックアップを取り、万が一エラーになった際には復元作業をするという覚悟の元で行ってください。

functionwpcf7_validate_spam_message($result,$tag){
  $value=str_replace(array(PHP_EOL,' '),'',esc_attr($_POST['your-subject']));
  if(!empty($value)){
    if(preg_match('/^[!-~]+$/',$value)){
      $result['valid']=false;
      $result['reason']=array('your-subject'=>'エラー。日本語を入力してください。');
    }
  }
  return$result;
}
add_filter('wpcf7_validate','wpcf7_validate_spam_message',10,2);
メリット
  • 日本語の含まれないスパムメールを一斉排除できる
  • デザインを損なわない
デメリット
  • funtioon.phpをいじる必要があるので初心者には怖い
  • 人間からでも日本語が含まれなかった場合はエラーになる

迷惑メール対策6. 問い合わせフォームを変える

あとは極論ですが、Contact Form 7からフォームを変えるという手段もあります。たとえばLINE公式アカウント(旧LINE@)や、TwitterなどのSNSのDMなどですね。

入力フォームが欲しければ『Google フォーム』も簡単に使えて何気に便利です。Contact Form 7てWordPressのお問い合わせフォームの定番中の定番でほぼみんなこれを使っていると思いますが、

  • デフォルトのデザインがイケていなく、CSSのカスタマイズも面倒
  • 送信前の確認画面がない
  • 自動返信メールの設定もわかりにくい
  • 公式の解説もわかりにくい

というデメリットがあります。僕は『Snow Monkey』の開発者の北島さん(@inc2734)が作成した『Snow Monkey Forms』が好き。

Snow Monkeyじゃなくてもどのテーマにも使えますので、断然おすすめですよー。

まとめ

以上、「WordPressブログの問い合わせフォーム(Contact Form 7)から迷惑メールが来てうざいよー」の方向けの対策方法のご紹介でした。まとめると

チェックボックスを入れる簡単だけど効果薄い
クイズを入れる簡単だけどあんまりイケてない
Google「reCAPTCHA」を導入する効果あるけど設定が手間
プラグイン「Akismet」を入れる効果あるけど設定が手間
日本語が含まれない場合はエラーにする外国人向けには使えない
初心者にはエラーが怖すぎる
問い合わせフォームを変える極論

以上の6通りとなります。それぞれメリットもデメリットありますので目的と状況に合わせて行ってみてください。

制作費用は無料。月額7,900円~できるHP

制作費高い、維持費高い、更新できない、古い、ダサい、問い合わせこない……一般的なWeb制作を脱却する新サービス。最高のコストパフォーマンスを保証します。

初期費用49,800円が今なら無料

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

この記事を書いた人

野口 銀河のアバター 野口 銀河 代表取締役

PC11株式会社代表取締役。鉄板焼レストラン&バー『葉山』を経営してます。大学2度中退→ホームレス→DJ→Web制作・ブロガー→法人設立。地元の飲食店が大金をかけずネットでも集客できるようホームページの自作・集客方法などを発信しています。コロナに負けるな沼津の飲食店。

目次
閉じる