WordPressのスパム対策をGoogle reCaptcha v3一本にする

2019/06/07[公開]

recaptchav3

 最近、 Contact Form 7のお問い合わせフォームから、送信者メールが[email protected]のスパムが大量に送信されてきました。それは一日だけで治まったのですが、いままでコンタクトフォーム経由ではたいした迷惑行為を受けたことがなかったので何も対策していなかったので、今回Google reCaptchaを設定しました。

  Google reCaptchaはコンタクトフォームだけではなく、コメントやログインなどにも使えるので、WordPressのスパム対策はこれ一本で済むのが良いです。

スポンサー リンク

スパム対策なら Google reCaptcha

 正直に言うと、今回コンタクトフォームのスパム対策を調べてはじめてGoogle reCaptchaというものを知りました。あのマークが出ているサイトは見たことありますが、それがGoogle reCaptcha だったのねという感じです。

 Google reCaptchaにもバージョンがあり、v2からv3になって設定も簡単になりユーザーに「私はボットではありません」とチェックを要求することもなくなり、ユーザビリティを損なうことなくボットやパスワード漏洩を防いでくれるという夢のような仕組みのようです。

 一体どういう仕組みなのか理解不能ですが、設定さえすれば後はお任せでGoogleが上手いことやってくれればOKではないでしょうか。もはやセキュリティ対策は人間の理解を超えてAIに任せるしかなくなっていくのでしょうか。

Google reCaptchaを設定する

 まずは下記Google reCaptchaのサイトに行き、右上のAdmin ConsoleにGoogleアカウントでログインします。

キーを生成

 reCaptchaのバージョン選択をv3にして、ドメインを入力して登録しますと、サイトキーとシークレットキーが発行されます。この2つのキーをコピーしてWordPressに設定します。

タイプはv3の方を選ぶ
タイプはv3の方を選ぶ
サイトキーとシークレットキーをこのあと使う
サイトキーとシークレットキーをこのあと使う

 Googleのサイト上での操作はここまでです。この2つのキーの画面を開いたままにしておくのがオススメです。このあとキーをコピー&ペーストするのですが、一旦画面を閉じてしまっても、またGoogleアカウントでログインすれば後でキーを確認することができます。

プラグインで設置する

 WordPressのサイトにGoogle reCaptchaを設置する方法は何通りかありますが、プラグインを利用するのが簡単でした。コメント入力欄があるページだけreCaptchaマーク(バッジ)を出して、コメントやフォームの送信ボタンの近くにバッジを表示させることがプラグイン「Invisible reCaptcha for WordPress」を使うと簡単に設定できました。

 ダッシュボードのプラグイン新規追加から検索してインストールできます。プラグインページはコチラです。

プラグイン設定

 プラグインをインストールして有効化したら、ダッシュボードの設定⇒Invisible reCaptchaを開いて設定をします。

Settingsタブ

 最初に開くSettingsタブで、さきほど生成したサイトキーとシークレットキーをコピー&ペーストで入れます。言語はJapanese、バッジポジションはInlineを選択します。

 バッジカスタムCSSの欄にはマージンを設定しておくと、ログイン画面などでバランスよくバッジの位置が出るようになりました。CSSセレクターは.grecaptcha-badgeでした。このCSSはバッジポジションをInlineに設定したときだけ有効です。

.grecaptcha-badge{
    margin:1em 0 2em 0 ;
}
Settingタブの設定
Settingタブの設定

WordPressタブ

 WordPressタブでは、WordPressのログイン画面、登録画面、コメント、パスワードを忘れた画面での有効化設定を チェックを入れることで行えます。

WordPressシステムでの有効化設定
WordPressシステムでの有効化設定

Contact Formsタブ

Contact Formsタブでは、Contact Form 7のチェックを入れるだけで定番プラグインContact Form 7で作ったお問い合わせなどのフォームがあるページで有効化設定が簡単にできました。

Contact Form 7対応はチェックを入れるだけ
Contact Form 7対応はチェックを入れるだけ

 私が設定した項目は以上となります。最後に「変更を保存」して設定完了です。

 Googleの推奨設定は reCaptchaバッジを全ページに表示かつスクロール追従して常時バッジを表示させる設置方法のようです。よりスパム投稿者の行動を捉えてスパム判定の精度が増すようです。ただし試してみるとモバイル画面などではreCaptchaバッジが相当視界に入って邪魔な感じだったので、私はこのプラグインを使ってこの設定にしました。

スパム効果抜群

 以上でGoogle reCapchaの設定が完了しました。管理画面へのログイン画面、コメント欄の送信ボタンの近く、コンタクトフォームの送信ボタンの近くにreCapchaのバッジが表示されていればOKです。

ログイン画面
ログイン画面
コメント欄
コメント欄
コンタクトフォーム
コンタクトフォーム

 いままでコメントスパム対策で利用していたWordPressプリインストールプラグインのAkismet Anti-Spam、日本語が入っていないと除外されるThrows SPAM Away、スパムコメントが集中してくる記事だけコメント無効にしていたDecent Comments、この3つのプラグインを停止&削除して一ヵ月ほど様子を見ましたが、いまのところスパムはまったく来なくなりました。おすすめです。

スポンサー リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です