こんにちは、海星です。
今回は、スパム対策ツール「reCAPTCHA」をWordPressに導入する方法を紹介します。
スパム対策をしないと、コメント欄やお問い合わせフォームから大量に迷惑メッセージ(スパム)が届きます。
ブログ運営に支障が出るので、「reCAPTCHA」を導入しましょう。5分ほどで設置できます。
- reCAPTCHAとは?
- reCAPTCHAの導入方法を知りたい
- Akismetの代わりにreCAPTCHAを導入したい
- 右下に出るreCAPTCHAのバッジを消すには?
reCAPTCHA(リキャプチャ)とは
「reCAPTCHA」は、Googleが提供しているスパム対策ツールです。
お問い合わせフォームや、コメント欄に送りつけられるスパムを遮断できます。
仕組みとしては、ユーザーにクイズを出したり、ユーザーの環境をもとにスコア判定したりすることでロボットと人間を判断します。
reCAPTCHAにはバージョンがいくつかあり、代表的なのは「v2」と「v3」の2つです。
結論から言うと「v2」を使うのがおすすめですが、それぞれの違いを解説していきますね。
reCAPTCHA v2とv3の違いは?
reCAPTCHAでは、「v2」「v3」が使用できます。
両者の大きな違いは、スパムの判定方法です。簡単に特徴を述べますね。
「reCAPTCHA v2」の特徴
reCAPTCHA v2では、ユーザーに画像認証のクイズを求めることでスパム判定を行います。
下記の認証は、やったことがある人も多いと思います。
ほとんどのスパムは通しませんが、ユーザーがクイズを行わなければならないのがデメリットです。
「reCAPTCHA v3」の特徴
reCAPTCHA v3では、「ユーザーの環境や動作」をもとにスパム判定を行うため、画像認証のクイズはありません。
クイズやチェックなどを行わなくていいので、ユーザー側としては非常に楽です。
ただ、ボットであっても人間判定してしまうことがあり、スパムが到達してしまう可能性があります。
「v2」と「v3」はどちらがおすすめ?
v2 | v3 | |
---|---|---|
画像認証クイズ | あり | なし |
ユーザーの快適性 | × | ○ |
ページ表示速度のスコア | ○ | × |
人間がボット認定される可能性 | 基本なし | あり |
スパムの遮断率(当ブログ調べ) | 高い | 低い |
結論から言うと、当ブログではv2を推奨します。
v3は、迷惑メッセージが到達してしまう可能性があるからですね。
以前は当ブログでもv3を設定していましたが、コメント欄やお問い合わせフォームから迷惑メッセージが届くようになってしまいました。
また、v3はページ速度のスコアが下がる傾向にあるみたいです。
以上のことから、v2の導入がおすすめです。
注意:「Contact Form 7」はv3しか対応していない
お問い合わせフォームの「Contact Form 7」は、v3しか対応していません。
v3でも良いなら問題ありませんが、v2を使いたい場合は下記の2つを試してみてください。
- 「ReCaptcha v2 for Contact Form 7」プラグインで、v2を使用可能にする
- お問合せフォームを「Contact Form by WPForms」にする(v2もv3も使用可)
もしv2を使いたい方は「ReCaptcha v2 for Contact Form 7」を使えばv2も使うことができます。
まずはこのプラグインを試してみてください。
ちなみに僕の環境では、下記の3つの組み合わせでは動作しませんでした。
- 「Contact Form 7 」
- 「reCAPTCHA v2」
- 「ReCaptcha v2 for Contact Form 7」
お問い合わせフォームを送信しようとすると、エラー(オレンジ色)になり、フォームが送信できませんでした。
上記のようなことがあったので、結局は「Contact Form 7」→「Contact Form by WPForms」に変更しています。
「Contact Form by WP Forms」は、最初からv2に対応しているためです。
お問合せフォームを変える場合は、下記の記事を参考にしてください。
Akismetプラグインの代わりになる
WordPressのスパム対策プラグインとして、Akismetが有名です。
reCAPTCHAを導入すれば、基本的にAkismetは不要です。
Akismetを削除してreCAPTCHAに乗り換えましたが、僕の環境では今のところスパムは届いていません。
プラグインは少ないほうがサイトは軽くなり、表示速度も速くなります。
参考までに、僕がAkismetから乗り換えた理由としては、下記のとおりです。
- 無料版だと広告を載せている商用サイトでは利用できない
- Akismetを導入していてもスパムが届くようになってしまった
reCAPTCHAの導入・設置方法(WordPress)
reCAPTCHAの導入方法を解説します。
手順1:Google reCAPTCHAにアクセス
ログインページに移動するので、Googleにログインしましょう。
Googleアカウントを持っていない方は、下記の記事を参考にして作成しましょう。
各項目を入力します。
- ラベル:サイト名やドメイン名など
- reCAPTCHAタイプ:「v2」
- 『「私はロボットではありません」チェックボックス』を選択
- ドメイン:ご自身のドメイン名
- 利用条件に同意する:チェック
- アラートをオーナーに送信する:チェック
最後に、「送信」をクリックします。
これでサイトが登録されました。
続いて、「キー」をブログに追加します。1番目の「サイトキーをコピーする」をクリックします。
まだこのページは使うので、開いておいてください。
手順2:reCAPTCHAと各プラグインを連携する
続いて、reCAPTCHAと各プラグインを連携します。
お問い合わせフォームをスパムから守る
Contact Form by WPFormsと連携したい方は、下記の記事を参考にしてください。
当ブログでは、reCAPTCHA v2と簡単に連携できるのでお問い合わせフォームはContact Form by WPFormsを推奨しています。
Contact Form 7と連携したい方は、下記の記事を参考にしてください。
コメント欄・ログインフォームをスパムから守る
Advanced Google reCAPTCHAと連携することで、コメントフォームやログイン画面からの攻撃を防ぐことができます。
補足:CSSで右下バッジを消す
reCAPTCHAを導入すると、サイトの右下にバッジが出てきてしまいます。見た目に影響が出てしまうので、非表示にしましょう。
今回は、「Contact Form 7」を導入していると仮定して話を進めていきます(WPFormsでも同様の作業です)。
お問い合わせページの「 [submit “送信”] 」の下に、下記の文言を追加します。
This site is protected by reCAPTCHA and the Google
<a href="https://policies.google.com/privacy">Privacy Policy</a> and
<a href="https://policies.google.com/terms">Terms of Service</a> apply.
もしくは、
このサイトはreCAPTCHAによって保護されており、
Googleのプライバシーポリシーと利用規約が適用されます。
追加できたら「保存」します。
ConoHA WINGサーバーの方は「保存」すると「Forbidden Access」になるかも
これはおそらくConoHA WINGの「WAF」の仕業です。ざっくり手順を書きますが、「ConoHAコントロールパネル」→「サイト管理」→「サイトセキュリティ」→「WAF 利用設定」→「OFF」にします。すると保存が成功するはず。保存が終わったら、WAFの利用設定は「ON」に戻してください。
下記のように表示されていればOKです。
この表記があれば、右下のバッジは消して大丈夫です。
WordPress上部から「カスタマイズ」をクリックし、「追加CSS」をクリックします。
その中に、下記のコードを追加します。
.grecaptcha-badge { visibility: hidden; }
追加が終わったら、上にある「公開」をクリックします。
これで、右下のバッジを消した&reCAPTCHAの表記も入れた、ということで作業は完了になります。
reCAPTCHAを導入するデメリット
reCAPTCHAを導入することで、表示速度のスコアが落ちる傾向があります。
Page Speed Insightsという表示速度に点数をつけてくれるサイトがあるのですが、その測定結果が20〜30くらい落ちました。
とはいっても、体感的にそんなに変わらないので、個人的には気にしていません。
あまりこのサイトの測定結果にこだわりすぎないほうがいいです。スコア改善に躍起になると、何時間も(場合によっては何日も)消費することになるので…。
なので僕は「表示速度が優秀なテーマを導入するだけ。ほかは基本なにもしない」という考えにしました。
reCAPTCHAの効果なし?さらにスパム対策の効果を高める方法
「reCAPTCHAの効果がなかった」方もいるかもしれません。スパムをほぼ遮断してくれるものの、完全にというのは難しいのでしょう。
追加のスパム対策として、「お問い合わせページURLを変える」という方法が役に立つかもしれません。
どうやら、スパムを送りつけてくるボットというのは、URLの「/contact」「/message」などを検索して攻撃を仕掛けてきているようなんですね。
お問い合わせページの編集画面からパーマリンクを好きな文字に変更してみてください。
まとめ
reCAPTCHAはスパム対策としては優秀なツールです。
まだ対策をしていない方は、ぜひ導入してみてください。
今回は、以上になります。