読了目安時間は約 5 分です。
Webサイトにお問合せフォームを設置するとスパムメール悩まされます。スパム対策として有名なプラグイン『Akismet』がありますが、ここではGoogleの『reCAPTCHA v3』での対策を紹介します。
reCAPTCHAとは?
Webサイトにお問合せフォームを設置すると、フォーム経由でスパムメールが頻繁に送られて来てしまいます。そのスパム対策としてよく使われているのが 『Google reCAPTCHA(リキャプチャ)』です。無料で使えます。
入力フォームで送信するときに「私はロボットではありません」というチェックボックスにチェックを入れた経験が少なからずあると思いますが、これがreCAPTCHAです。
現在は『v3』というバージョンが最新で(2020年3月現在)、なんとチェックボックスがなくなっています。自動的にボットか人間か判断するようです。すごいですね!
Akismetとの比較
スパム対策としてはとても有名な『Akismet』というプラグインがあるのですが、なぜ『reCAPTCHA v3』を選んだかと言うと
- スパム投稿を受け取らず、投稿自体を防ぐことができる
- 完全無料で使える(商用利用でも可)
この点が優れているためです。
Akismetはスパムを自動で削除してくれますが、投稿を防いでいるわけではないんです。また、商用利用の場合は有料プランが推奨されています。
なのでこれからWebサイトを開設する方はreCAPTCHA v3を導入するので良いと思います。
reCAPTCHA v3の導入(Contact Form 7の場合)
入力フォームの定番『Contact Form 7』を使用している場合の設定方法です。
事前にGoogleのアカウントを取得しておいてください。普段使っているアカウントがあればそれでOKです。
- Google reCATCHAのページにアクセスします。
- 右上の[Admin console]ボタンをクリックしてください。
- 右上の方にある[+]マークをクリックして新規登録します。
- 次の画面でそれぞれの項目を入力します。
それぞれの項目の説明は以下の通り
ラベル:サイト名を入力(複数サイトを登録することも考慮して識別しやすくしておきましょう)
reCAPTCHAタイプ: reCAPTCHA v3を選択
ドメイン:設定したいサイトのドメインを入力
オーナー:自分以外のメールアドレスに知らせる場合はメールアドレス追加
- よければ[reCAPTCHA 利用条件に同意する]にチェックし、「アラートをオーナーに送信する」にもチェックして[送信]をクリックします。
- サイトキーとシークレットキーが表示されますので、これを控えましょう。
次に『Contact Form 7』と『reCAPTCHA』を連携させます。Contact Form 7を設置していることを前提で説明いたします。
- WordPressの管理画面から[設定]>[お問い合わせ]>[インテグレーション]に移動します。
- [reCAPTCHA]に、先程取得したサイトキーとシークレットキーを入力します。
- [変更を保存]を押しましょう。
これで完了です。画面の右下にreCAPTCHAのバッジが表示されていると思います。
以上です!
ちょっとしたデメリットが…
このままだと、画面の右下にreCAPTCHA v3のバッジが強制的に表示されてしまいます。右下に『ページトップに戻るボタン』がある場合、被ってしまってボタンが押せなくなってしまいます。しかもスマホでは画面が小さい分バッジの専有面積が大きくなり、テキストを隠してしまって余計に邪魔に見えます。
これを回避する方法を、下記にまとめましたので参照してみてください。