WordPressサイトをそれなりに続けているとロボットによるスパム投稿が結構きます。
大半のスパムは、スパムブロックプラグインのAkismetを利用していれば防げると思います。
ただ、Akismetでは、防ぎきれないスパムも中にはあります。
そんな時は、ユーザーがコメント欄等に入力をする時に「画像内の文字列」や「簡単な計算の結果」を入力して貰って、間違っていたらロボットと判断して入力を弾くプラグインもあります。
例えば、古いreCAPTCHAプラグインを例にすると、こんな感じでした。
ただこういったテキスト入力だと、ユーザーが「読みづらい画像の文字を読んでテキスト入力する」といった動作が必要になり、非常に面倒でした。
けれど、新バージョンのreCAPTCHAプラグインは、基本的に以下のように「私はロボットではありません」にチェックを入れるのみでロボット判定ができるようになりました。
たまに、チェックを入れたら以下のような、画像選択画面が出ることはあるのですが、単に画像を選択するだけで、文字を入力する必要がなくなったので、かなり楽にはなりました(たまに結構難解なものもあるけど)。
こういった、コメント投稿者の負担が減ったreCAPTCHAをWordpressで使おうとプラグインを探したら、「Advanced noCaptcha reCaptcha」が結構使いやすかったので紹介です。
目次
Advanced noCaptcha reCaptchaとは
Advanced noCaptcha reCaptchaは、コメント投稿時などにロボット判定機能を手軽につけることができるWordpressプラグインです。
コメント投稿時に、reCAPTCHAを表示するWordpressプラグインは、他にも結構あります。けれど、Advanced noCaptcha reCaptchaが便利なのは、以下の入力時にもreCAPTCHAを表示するように設定することができます。
- WordPressコメントフォーム (コメントテキストエリアと投稿ボタンの間)
- WordPressのログインフォーム
- WordPressの登録フォーム
- WordPressでパスワードを無くしたときのフォーム
- WordPressでパスワードをリセットするフォーム
- bbPressで新しいトピックを作成するフォーム(フォーラムプラグイン)
- bbPressでトピックへの返信を書くフォーム(フォーラムプラグイン)
- Contact Form 7 (問い合わせフォームプラグイン)
- WooCommerce (通販サイト用のプラグイン)
WordPressのコメントのみならず、ログインでもreCAPTCHAを利用できるようになります。
主な手順
Advanced noCaptcha reCaptchaを導入するに当たって、必要な手順は以下になります。
- プラグインのインストール
- Google reCAPTCHAへの登録
- プラグインの設定
Google reCAPTCHAへの登録が多少手間ではありますが、プラグイン自体は結構簡単に利用できます。
プラグインのインストール
まずは、Advanced noCaptcha reCaptchaをWordpressにインストールします。
WordPress管理画面から「プラグイン → 新規追加」を選択してください。
「プラグインを追加」画面で「Advanced noCaptcha reCaptcha」と検索した後、出てきたプラグインの「インストール」ボタンを押してください。
インストールが終わったら「有効化」すれば、導入は完了です。
Google reCAPTCHAへの登録
プラグインのインストールが終了すると、Wordpress管理画面のメニューに「Advanced noCaptcha」と表示されるのでクリックしてください。
すると、以下のような設定画面が表示されるのでGet From Googleと書かれた部分をクリックします。
すると以下のような、GoogleのreCAPTCHA管理画面が表示されます。
Googleにログインしていない場合は、ログインが必要かもしれません。
このGoogleのreCAPTCHA管理画面の「新規サイト登録フォーム(Register a new site)」に以下のように入力して、サイトを登録する必要があります。
ラベル(Label)には、登録内容を識別できる名前を入力してください(識別できるなら何を入力してもOK)。
ドメイン(Domains)には、reCAPTCHAを利用したいサイトのドメインを改行区切りで入力してください。
上記2項目を入力したら、「登録(Register)」ボタンを押せば登録完了です。
すると、以下のような登録情報画面が表示されます。
この中で「サイトキー(Site key)」と「シークレットキー(Secret key)」が必要になってくるのでメモっておきます。
プラグインの設定
あとは、先程の「Advanced noCaptcha reCaptcha」の設定画面に戻ります。
サイトキーとシークレットキー設定
まずは、先程取得したサイトキーとシークレットキーを入力します。
表示設定
その他の項目についてもそれぞれ簡単に説明します。
言語(Language)には、日本語(Japanese)を選択します(特に入力しなくても自動で判別されるけど)。
テーマ(Theme)は、ライト(Light)とダーク(Dark)が選択できます。通常は、Light(明るい色)で十分かと思います。
サイズ(Size)は、ノーマル(Normal)とコンパクト(Compact)が選択できます。
エラーメッセージ(Error Message)には、reCAPTCHAに失敗したときのメッセージを入力します。デフォルトは「<strong>ERROR</strong>: Please solve Captcha correctly.」ですが、日本語で「「<strong>エラー</strong>: Captchaを入力してください。」みたいに書いても良いかと思います。
reCAPTCHAの表示場所設定
CAPTCHAの表示(Show Captcha on)では、reCAPTCHAを表示させたい入力フォームを選択します。
その他の設定
あと必要な設定といえば「ログインユーザーにCAPTCHAを隠す(Hide Captcha for logged in users?)」くらいでしょうか。
「ログインユーザーの場合にロボット判別が必要ない」といった場合にはチェックを入れてください。
すべての設定を終えたら「Save Options」ボタンを押して設定を保存してください。
このように設定することで、コメント欄にreCAPTCHAを表示させたり
ログインフォームに表示させたりできるようになりました。
Contact Form 7でreCAPTCHAを表示する設定
Contact Form 7でreCAPTCHAを表示させる方法は、「Show Captcha on」設定項目の「For other forms see Instruction」のInstruction部分のリンクをクリックすると出てきます。
こんな感じのショートコードが出てくるので、
Contact Form 7のコンタクトフォーム個別設定画面で、reCAPTCHAを表示させたい箇所に挿入してやればOKです。
まとめ
こんな感じで、WordpressプラグインでreCAPTCHAを設定したことにより、スパムはかなり減少しました。
というか、今月(2017年1月1日)から利用者始めたんですが、現在(2017年1月14日)のところスパム投稿は0になっています。
スパムブロックプラグインは、他にも沢山あります。
けれど、コメントフォーム、ログインフォーム(パスワード等も)、bbPress、Contact Form7などで同時に利用できるプラグインは、これぐらいじゃないかと思います(2017年1月時点では見つからなかった)。
というわけで、「コメントとログインフォームとbbPressとContact Form7で使えるスパムブロックプラグインが使いたい」なんて場合には便利かと思います。