【検証終了】Akismetを使わないContact Form 7のスパムメール対策

【検証終了】Akismetを使わないContact Form 7のスパムメール対策

2018年5月23日

※当記事は現在検証中です。2018年6月23日に検証結果を報告いたします。

※当記事でご紹介している方法を1ヶ月試しました!結果はこちら

まほろば@mahoroba148です。

WordPressの問い合わせフォームといえば「Contact From 7」が有名です。

以前かいた自動返信付きの問い合わせフォームを作ろうという記事でも、Conact From 7を使った方法をご紹介しています。

自動返信付きの問い合わせフォームを作ろう〜WordPress編〜
まほろば@mahoroba148です。 こちらの記事ではGoogleフォームでの自動返信の設定方法をご紹介しました。 https://mahoroba148.c…
mahoroba148.com

しかし、有名なプラグインなだけにスパムメールが届きます。近頃、私の問い合わせフォームにも英語のスパムメールが届くようになりました。

今後も増えていく可能性が高いので、簡単にできるスパムメール対策を考えてみました。

Akismetを使わない理由

先に理由をいうと、

  • プラグインを増やしたくない
  • 誤判定されないか不安
  • スパムメールが届かない前例があった

からです。

スパムメールが届かない前例があったが気になる方は「スパムメールが届かないサイト、届くサイト」へ飛んでください。

「Akitsmet」はContact Form 7でスパム対策として推奨されているプラグインです。

akismet

APIキーを入力してフォームのタグにAkismetのオプションを記述すると、スパムチェックをしてくれるそうです。

別のプラグインなので当然のことながら新しくAkismetをインストールする必要があります。

新しいプラグインが増えてくると管理が大変になってきます。また、サポート切れのリスクもあります。

なるべく新しいプラグインを導入しなくてもできる方法があればそちらで対応したいと思ったのが理由の1つです。

そして、Akismetもやはり誤判定はあるようで、有効なメールも届かなくなるリスクがあります。

天下のGoogle先生ですら有効なメールを誤判定してしまうこともあるため、ノーミス判定は将来的にも難しいだろうというのが2つ目の理由です。

スパムメールが届かないサイト、届くサイト

3つ目の理由としてスパムメールが届かない前例がありました。

Contact Form 7をまほろばのサイトより先に導入したにも関わらず、今のところスパムメールは0(ゼロ)です。

同じ問い合わせフォームを使っているのに、なぜ違うのか比較してみました。

スパムメールが届くサイト(当サイト)

スパムメールが届くサイト

スパムメールが届かないサイト

届かないサイト

スパムメールが届かないサイトにはプライバシーポリシーに同意するためのチェックボックスがあります。

きっとこのチェックボックスが分かれ目になっているに違いない!

ということで実際に設置してみます。

一石二鳥!同意するボタンを設置

コンタクトフォームの編集画面に移動してチェックボックスを設置しましょう。

私はこのように設定しました↓

チェックボックスを設置

実際の画面はこんな感じ(スマートフォン)↓

スマホ画面

パソコン↓

パソコン画面

チェックを入れていないとエラーが出ます。

エラー画面

ポイントとしては

  • プライバシーポリシーページへのリンクを設置
  • 「必ず同意するにチェック」を目立たせる
  • チェックボックスのボタンを調整

です。

問い合わせフォームを設置したサイトには必ずプライバシーポリシーページを設置する必要があります。

ユーザーが問い合わせを送信する前に確認できる状態にしておかないと責任を問われる可能性があるため、リンクを設置します。

チェックボックスに気づかずに送信ボタンを押してしまうことを防ぐためにチェックを促すようCSSで装飾をしました。

チェックボックス基本的な設定手順は以下の通りです。

①フォームのタブからチェックボックスを選択

チェックボックスを選択

➁必須項目にチェック、オプションに同意するを入力

フォーム設定

一石二鳥な理由はプライバシーポリシーの正しい設置とスパム対策にもなるためだったのです!

「承認確認」タグはどうなのか

チェックボックスと同じ機能で承認確認というタグがあります。見た目はチェックボックスと同じです。

調べてみると承認確認でも同じような効果が得られそうです。

しかし、前例としてはチェックボックスを使っていたため今回はチェックボックスで続行します。

[2018/07/05追記]

チェックボックスと承認確認の挙動に違いがありました。

私はチェックボックスをおすすめします!

チェックボックスの場合、チェックせずに送信すると入力エラーが発生します。

チェックボックス入力エラー

一方、承認確認の場合は入力エラーが出ません。

仮に承認チェックを見落として送信ボタンを押してしまうと、送信できたと錯覚してしまいます。

ユーザーは問い合わせできたと錯覚しているため、いつまで経っても返事がこないという悪い印象を与えてしまいます。

ユーザーにチェックし忘れていると教えてあげるためにも、チェックボックスをおすすめします。

もし、どうしても承認確認タグではないといけない場合は、あらかじめ「同意するにチェックしていただけない場合は送信できません」「送信が完了できたらメールが届きます」などチェックを促す説明が必要です。

【まとめ】1ヶ月間、様子をみます

当記事ではスパムメール対策としてチェックボックスを挿入する方法をご紹介しました。

Contact Form 7内でできるので簡単にできました。

チェックボックスを設置しているサイトではスパムメールが届かないという前例があります。

しかし、発信している情報やアクセス数など違いがあります。

そこで1ヶ月間様子をみて、検証結果を改めてご報告したいと思います。

当記事を書いているのが2018年5月23日です。

2018年5月1日から届きだしたスパムメールは計5通。果たして0になるのか!?

検証結果は2018年6月23日にご報告しますのでお楽しみに!

ご紹介した方法で1ヶ月間検証しました!

[2018年6月23日追記]

当記事ではスパムメール対策としてチェックボックスを挿入する方法をご紹介しています。

実際に1ヶ月試した結果スパムメールの件数はどうなったのかというと…残念ながら0にはなりませんでした。

  • <対策前>1ヶ月間で5通
  • <対策前>1ヶ月間で2通

1ヶ月間で比べてみると数は減っています。やらないよりかはやった方がこなくなるくらい。

今までのホームページでスパムメールがなくなったのは単純にアクセス数の問題もあるのかもしれません。

今後も動きや良き対策あればご報告していきます!