こんな方に読んで欲しい!
- コンタクトフォーム7(Contact Form 7)を使っている
- スパム対策を強化したい
ここがポイント!
この記事は、コンタクトフォーム7がインストール済であることを前提に、googleのスパム対策「reCAPTCHA ver.3」の導入方法を詳しく解説します!
Webサイトを作ったら問い合わせフォームを必ず作りましょう! wordpressには様々な問い合わせフォームを作ることができるプラグイン(追加機能)がありますが、
- 機能が豊富
- 作成者が日本人
- たくさんの利用実績(500万回以上のインストール実績)がある
- wordpressの最新バージョンに対応
- カスタマイズに関する記事が大量にある
などの理由から、まずはコンタクトフォーム7(Contact Form 7)の利用がオススメです!
コンタクトフォーム7の基本的な使い方についてはこちらの記事で解説しています。
[blogcard url=”https://iblab.net/contact-form-7/”]
1. ある日突然、大量のスパムがフォームから送信されてきた
僕が運営するwordpressで作られたwebサイトの問い合わせフォームは、特別な事情がない限りコンタクトフォーム7(Contact Form 7)で作っています。
スパム対策はAkismet Anti-Spamというプラグインで行っていて、これまではその機能で防御していました。
全てのWebサイトで問題なくスパムをブロックしていたのですが、ある日(というかこの記事を書いている前日)、そのうちの1つのwebサイトの問い合わせフォームから大量のスパムが!
本文にURLなどの記載もなく目的は不明ですが、とり急ぎ防御を固めるためgoogleのスパム対策「reCAPTCHA ver.3」を導入することにしました。
Akismet Anti-Spamとは?
「Akismet Anti-Spam」とは、入力されたコメントなどを自動的にスパムかどうか判断し、スパムの場合はフォルダ分けしてくれる機能を持ったプラグインです。WordPressの運営会社が開発・提供しているので、WordPress をインストールすると元から入っています。
2. Googleのスパム対策「reCAPTCHA」とは?
Googleが開発・提供している申し込みフォームなどのスパム対策の仕組みです。どんどん使いやすくなり、最新バージョンは3です!
さらに詳しく!
reCAPTCHA v1は、表示された画像の文字を読み取って入力することで、「人間」であることを証明していました。
reCAPTCHA v2は、チェックボックスにチェックすることで判定していました。また、そこでスパムの可能性が高いと判断された場合は、「○○の画像を選択します」と表示され、その下に表示された画像の文字を読み取って入力することで、「人間」であることを証明する仕組みでした。
reCAPTCHA v3(バージョン3)は、チェックボックスへのチェックすら必要ありません!webサイトに仕込めば、自動的にロボットか人間かを判定し、ロボットの場合はブロックします。
そのフォームが表示さているページでの行動をスコア化し、そのスコアで判定します。スコアの出し方は公表されていませんが、googleのことなのでこれまで蓄積されたデータを元に算出しているのでしょう。
3. コンタクトフォーム7にGoogleのスパム対策「reCAPTCHA v3」を導入する方法
では、コンタクトフォーム7にGoogleのスパム対策「reCAPTCHA v3」を導入する方法を詳しく解説していきます。
3-1. WordPress のメニューから、お問い合わせ > インテグレーション を選択
WordPress のメニューから、お問い合わせ > インテグレーション を選択してください。右の画面が切り替わったら「reCAPTCHA」のインテグレーションのセットアップをクリックします。
3-2. 「CAPTCHA」のURLをクリック
CAPTCHA の下に記載されたURLをクリックします。
ここがポイント!
もし可能であれば、右クリックして「新しいウィンドウで開く」を選んでください。
3-3. 「reCAPTCHA」に登録する
新たに開いたページの右上に「 Admin console 」ボタンがありますので、クリックします。
登録に必要な情報を登録しましょう。
① ラベル:この項目は自分のわかりやすいように名前をつけるための項目です。ドメイン名などわかりやすいものを登録してください。
② reCAPTCHAタイプ:reCAPTCHAのバージョンを選択します。特に理由が無ければ reCAPTCHA v3(新しい方)を選択してください。
③ ドメインの追加:対象とするドメインを入力します。このwebサイトであれば「iblab.net」ですね。
さらに詳しく!
サブドメイン(xxx.iblab.net、yyy.iblab.net など)も対象になりますので、サブドメインを使って複数サイトを運営している場合も、1回の登録でOKです。
④ reCAPTCHAの利用条件に同意する:利用規約を読み、同意する方はチェックボックスにチェックを付けてください。
⑤ アラートをオーナーに送信する:これは元からチェックが入っています。何かあった時にアラートが送られてくるだけですので、そのままで良いです。
最後に送信ボタンをクリックします。
3-4. 「サイトキー」「シークレットキー」を取得し、コンタクトフォーム7にコピペする
3-3. で最後に送信ボタンを押しましたが、このあと次のような画面が表示されます。
「サイトキーをコピーする」ボタンをクリックし、WordPress の該当欄にペースト(貼付け)します。シークレットキーも同様です。
ここがポイント!
コピーされたサイトキーやシークレットキーは、キーボードの「Ctrl」を押しながら「 v 」を押すと、貼付けできます。
両方をペースト(貼付け)したら、「変更を保存」のボタンをクリックします。
3-4、reCAPTCHA が適用できたか確認する
「変更を保存」のボタンをクリックすると画面が切り替わり、「reCAPTCHAはこのサイト上で有効化されています。」と表示されます。
実際にWebサイトを見てみると、次の画像のようになっているはずです。これが確認できれば設導入完了です!
4. まとめ
実はコンタクトフォーム7を使っていないサイトは、このあとにサイト側の作業、サーバ側の作業を行う必要があります。
これが初心者には結構ハードルの高い作業です。
でも、コンタクトフォーム7はサイトキーとシークレットキーの入力欄を作ってくれているので、コピペだけでOK!導入が非常に簡単です。
僕のサイトはこれでスパムの送信が止まりました。さすがGoogleのサービス!