WordPressサイトを運営する上で切っても切り離せないのがスパムコメント。
スパムコメントの多くはbotという自動プログラムを介して行われ、単純に宣伝目的のものから悪意のあるアダルトサイトやフィッシングサイトへの誘導等多岐に渡ります。
スパムコメントを放置する事で自分のサイトそのものへの悪影響もありますが、もし読者の方がそこへアクセスしてしまうような事があれば自分の信頼も失墜してしまいますよね。
そこでスパムコメントはもちろん、botによる総当たり攻撃のような不正ログイン攻撃も防ぐ事ができるGoogle reCAPTCHAをWordPressに取り入れておきましょう!
WordPressサイトのbot対策
WordPressのbot対策として有名なプラグインがAkismet。
Akismetはスパムコメント対策として多くのサイトでおすすめプラグインとして推奨されています。
もちろんAkismetも優秀なんですが、何よりも動作がめちゃくちゃ重いんですよね・・・。
また、Akismetが守ってくれるのはあくまでコメントフォームのみ、WordPress管理画面へのログインフォーム等は守ってくれません(Contact Form 7のように対応していればプラグインも保護対象になります)。
そこで代替手段どころかパワーアップして対策できるのがGoogle reCAPTCHAです。
Google reCAPTCHAとは?
Google reCAPTCHAは言うまでもなくあのGoogleが提供するサービスで、ユーザーの行動が不審な場合botであると判定してくれるシステムです。
今までv1/v2/v3と公開されてきていて、現在はv2とv3が提供されておりv3が最新です。
v2はユーザーがチェックをつけたり画像選択する必要がありましたが、v3になるとユーザーは何もする必要がありません。
画面上の動きやログイン済みのGoogleアカウント等の挙動を全てスコアリングし一定スコアを下回ればbotであると判定するとの事ですが、ほとんどの普通のユーザーは問題無く認証されます。
不審な動きをするようなbotだけを効率よく弾いてくれるので、安全性を保ったまま利便性を向上させる事ができます。
実際にはスコアが低いとv3でも画像認証が出てくるらしいけど、ぶっちゃけ1回も見たことありません・・・笑。
Google reCAPTCHAでできること
Google reCAPTCHAはとても汎用性が高く、Akismetの場合基本的にコメントフォームのみですが様々なフォームを守ることができます。
- コメントフォーム
- 管理画面へのログインフォーム
- ユーザー新規登録フォーム
- Contact Form 7(問い合わせプラグイン)フォーム
- WooCommerce(ECサイトプラグイン)フォーム
これは一例で、Google reCAPTCHAの設置はプラグインを使用しますが組み合わせるプラグインによって様々なフォームに設置する事が可能。
Google reCAPTCHAの使用条件
Google reCAPTCHAは全ての機能が無料で利用でき、専用サイトでレポートの閲覧や設定変更等が行えます。
利用にはGoogleアカウントが必要ですが、もちろん現在利用しているGoogleアカウントをそのまま利用可能。
特に追加の設定無く誰でも使える点はさすがGoogleですね!
もちろんGoogle reCAPTCHA設定ページは全て日本語対応なので簡単に設定が行えます。
WordPressでGoogle reCAPTCHAを使えるプラグイン
先述したように、Google reCAPTCHAをWordPressへ導入するためには基本的にプラグインを使用します。
Google reCAPTCHAを導入する為のプラグインは色々種類がありますので比較してみましょう!
Invisible reCaptcha for WordPress
Invisible reCaptcha for WordPressは非常に簡素ながら様々なフォームに対応したプラグインです。
- コメント
- 管理画面へのログイン
- ユーザー新規登録
- パスワード再発行
- Contact Form 7
- WooCommerce
- UltraCommunity
- BuddyPress
- Gravity Forms
非常に多彩なフォームに対応しており、とりあえずこれを入れておけばOKというプラグインです。
v2はもちろん最新のv3も対応しており、Google reCAPTCHAのバッジの表示もプラグイン内で編集できる為汎用性が高い点も○。
とりあえず迷ったらInvisible reCaptcha for WordPressを使っておけば良いと思います。
Advanced noCaptcha & invisible captcha Settings
Advanced noCaptcha & invisible captcha SettingsもInvisible reCaptcha for WordPressと同じく様々なフォームに対してreCAPTCHAを実装できるプラグインです。
ショートコードを使用して任意の場所にバッジを表示する事が可能で、ログイン済みのユーザーにはreCAPTCHAを非表示にしたり任意のエラーメッセージを表示させたりする事が可能。
通常WordPressをブログとして使いたい場合はInvisible reCaptcha for WordPressで十分ですが、もっともっと自分でカスタマイズして使うという場合には一つの選択肢になるかも知れません!
reCaptcha by BestWebSoft
reCaptcha by BestWebSoftはGoogle reCAPTCHAを導入する上で最も高機能なプラグインの一つです。
v2、v3に対応しプラグイン内でCSS/PHP/JavaScriptのカスタマイズが可能。
ただしContact Form 7や様々なプラグインのフォームに対応させるには年間$17.95(執筆時の日本円でおよそ2,000円)のサブスクリプションサービス(Proプラン)に課金する必要があります(1ドメイン/$179.5の買い切り型もあり)。
Proプランの場合最優先でサポートを受けられたりしますが、基本的な機能に限定すれば無料プラグインで十分かなというのが僕の感想。
様々カスタマイズして使いたい!という訳で無ければ、先述した2つで十分だと思います。
miniOrange 2 Factor Authentication
miniOrange 2 Factor Authenticationは高機能な統合型セキュリティプラグインです。
様々なセキュリティ対策の一つとしてGoogle reCAPTCHAが対応していますが、残念な事に現行バージョンではv2のみの対応でv3に非対応。
v2だとユーザーに画像選択や「ロボットではありません」のチェックという手間を強いる事になるのでこの点は非常に残念です。
また、保護対象はログインフォームと新規ユーザー登録フォームのみでコメント欄やContact Form 7等の保護は行なえません。
コメント欄を使用しない、Contact Form 7もGoogleフォーム等に置き換えて使用しないというサイトではプラグインを統合して1つ減らせる事になるので十分使う価値がありますね!
ちなみに今製作者さんにコンタクトを取っていて、v3対応予定を聞いているところです!製作者も非常に前向きなので近い将来対応して下さるかも・・・?
Wordfence Security
Wordfence Securityも miniOrange 2 Factor Authentication同様の統合型セキュリティプラグインです。
miniOrangeと同じくログインフォームや登録フォームのみですが、こちらはv3に対応しています!
何点以上で人間とみなすか(このスコアより上じゃないと合格できない)というしきい値の変更が簡単に行なえる点が特徴。
多機能統合型セキュリティプラグインなので他のセキュリティ対策もばっちりできるね!
Google reCAPTCHAの導入
それでは実際にGoogle reCAPTCHAを導入していきましょう!
まずはGoogle reCAPTCHAを使えるように設定します。
まずはGoogle reCAPTCHAの登録を行います、以下のボタンから公式ページを開いて下さい。
公式サイトにアクセスしたら、右上のAdmin Consoleをクリックします。
- Step.1ラベル
サイト名、ドメイン等なんでも良いのでどのサイトか分かるように名前をつける
- Step.2reCAPTCHAタイプ
v3が使える環境ならv3、プラグイン等の関係でv3が使えない場合はv2を選択
- Step.3ドメイン
xxx.comやxxx.netのようにドメインを入力、www等のサブドメインは入力不要
また、http://やhttps://のような通信プロトコルも入力不要
- Step.4reCAPTCHA利用条件に同意する
チェックを入れる
内容は後でも修正・編集が行えるので、最低限ドメインだけ間違わなければOK。
reCAPTCHAタイプだけは後から変更ができず、v2→v3等バージョンが変わる場合は作り直しになります。
これでサイトキーとシークレットキーが発行されました!
この2つのキーはプラグイン側へ入力する必要があるので、このページを開いておいたままWordPress側で作業を継続しましょう。
AMP対応サイトの場合、「設定に移動」をクリックして「このキーがAMPページで動作するようにする」にチェックを入れて保存して下さい。
WordPressプラグインでGoogle reCAPTCHAを導入
続いてWordPressにGoogle reCAPTCHAを導入して行きます。
今回は非常にシンプルで動作が軽快、かつ様々なフォームに対応しているInvisible reCaptcha for WordPressを使って導入していきましょう!
まずはプラグイン公式サイトからダウンロードしてインストール、もしくはWordPress上のプラグイン新規追加ページでInvisible reCaptcha for WordPressを検索してインストールします。
インストールしたら有効化して使えるようにしておきましょう、設定が完了するまでは稼働しないので安心して有効化しておいてください笑。
Google reCAPTCHAの設置
WordPressメニューから設定ページを開きます。
設定ページを開き最初に行う事は先程発行したGoogle reCAPTCHAのサイトキーとシークレットキーを入力する事。
間違わないようにコピペしましょう!
両方とも入力したらひとまず「変更を保存」ボタンで確定させます。
保護するフォームの選択
続いてどのフォームを保護するか決めて設定を行います。
WordPressタブを開くと全部で4つ選択できるので、保護したいフォームにチェックを入れていきましょう。
ログインフォームはよく見るあのIDやメールアドレスとパスワードを入力するフォームです。
新規登録はWordPressのユーザー登録を受け付けている(未ログイン状態で新規ユーザー作成ができる)場合のフォームです(通常の個人ブログサイトの場合は大半オフになっていると思います)。
コメントを受け付けている場合はコメントフォームを、パスワード再発行フォームも同様に保護するべきでしょう。
ログインフォームとパスワード再発行フォームは必須!新規登録やコメントを受け付けている場合はこの2つもチェックしておこう!
WordPressへのGoogle reCAPTCHA実装確認
これで最低限の設定ができました!
試しに一度ログアウトして、ログインフォームを見てみましょう!
右下にGoogle reCAPTCHAのマーク(バッヂ)が表示されていればOKです!
もし表示されていなければ以下のような可能性が考えられます。
Google reCAPTCHAバッヂの表示位置変更
このままでも問題無く機能するんですが、このGoogle reCAPTCHAのバッヂ位置は変更ができます。
- 右下(Bottom Right)
- 左下(Bottom Left)
- インライン(Inline)
変更をしたい場合はSettingsの中のBadge Positionから変更が可能です。
正直表示の問題なのでどれでも良いんですが、インライン以外の2つはコメントフォームで他のバナー等とかぶってしまうことがあり僕はインラインを好んで使っています。
使っているテーマやプラグイン、カスタマイズ状況によって最適な設置場所は変わるので、設定後一度ご自身のサイトを表示して決める事をおすすめします!
Contact Form 7にGoogle reCAPTCHAを設置
WordPressのお問い合わせプラグインといえばContact Form 7が非常に有名、Invisible reCaptcha for WordPressは標準でContact Form 7へのGoogle reCAPTCHAの設置に対応しています。
Contact Form 7そのものがGoogle reCAPTCHAに対応はしているんですが、Contact Form 7のGoogle reCAPTCHA設定は全く関係の無いトップページ等サイト全体にバッヂを表示させてしまい使い勝手がよくありません。
もし現在Contact Form 7のGoogle reCAPTCHAオプション(インテグレーション)を使っている場合、合わせてInvisible reCaptcha for WordPressで設定をしContact Form 7側の設定は解除する事をおすすめします。
Contact Form 7に対応するのは設定ページのContact Formsタブ内、Enable Protection for Contact Form 7にチェックをつければOK。
バッヂの非表示
Google reCAPTCHAのバッヂ、実はこれ非表示にする事ができます。
どうしてもサイトデザインに合わないという場合は非表示にできますがサイト内に以下のHTMLコードを埋め込む必要があります。
Google reCAPTCHA丸ごと非表示にした場合もプライバシーポリシー等は表示しなければならない点は注意しましょう。
また、非表示はCSSで行います。
このCSSをInvisible reCaptcha for WordPress設定ページ内の「Badge Custom CSS」欄に入力すればOK。
CSSでは非表示としてdisplay: hidden;という方法もありますが、この場合はGoogle reCAPTCHA丸ごと機能しなくなり設置の意味をなさなくなってしまいます。
詳しくはGoogle reCAPTCHAサポートページをご一読ください。
基本は表示させておいた方が「このサイトはセキュリティ対策をしているな」と思わせることができるかも知れないし、表示しておいた方が良いかな!
WordPressをGoogle reCAPTCHAで守ろう! まとめ
Google reCAPTCHAは非常に簡単なシステム、導入も実績あるプラグインで誰でも簡単に実装できます。
Akismetに比べて遥かに軽量でありながら、そもそもスパムコメントやメールを送信させないシステム。
もちろん今後もGoogleの開発が期待できますし、様々なサイトで利用されているのでフィードバックも膨大と信頼性も十分、まさに申し分ないと言えます。
非常に簡単に導入できるのでAkismetから乗り換えたい、または今の所なんの対策もしてない!なんて人は是非導入してみてください!
コメント