スパムからWordPressサイトを守る!「reCAPTCHA+Invisible reCaptcha」の導入方法
お陰様でこのTEXT FIELDも開設以来、多くの方に閲覧して頂けるようになり(ありがとうございます)同時にスパムのメール、コメントが山のようにやってくるようになりました。
スパムコメントは「Akismet Anti-Spam」と秀逸なプラグインのお陰で、ほとんどが遮断されているのですが、お問い合わせからやってくるスパムメールはなかなか後を絶えません。
「この偽ブランドを紹介するので……」
「お前のサイトをハックして、オ◯ニー動画を保存した。公開されたくなかったら……」
「君のサイトに感銘を受けたよ! でも、このツールを使えば……」
などなど、英語・韓国語・アラビア語など色々な言語でやってくるわけですね。もちろん、日本語でもやってきます(セールス関連が多い)。お問い合わせには「基本的にお受けできないものは対応しない」と書いていますので、放っておけばよいのですがそれにしても面倒臭い。
そこで何か良いものがないだろうかと調べているとGoogleの提供している「reCAPTCHA」というのが良さそうだと分かりましたので導入してみました。
今回は導入する方法を(忘れない内に)書いた記事になりますので、運用方法や実際に使ってどうなのかは、ある程度の時間を運用してみてまた記事化します。
reCAPTCHAとは?
ウェブサイトの入力フォームなどに「私はロボットではありません」というチェックや、画像が出てきて「これの内ポストの画像はどれ?」とか「歪んだ文字を正しく入力して」みたいなのが出てくることがあるじゃないですか?
あれの多くが「reCAPTCHA」になります(以前ご紹介した「Imunify360」は似ていますが、別物です)。
現在のreCAPCHAには「v2」と「v3」があり、恐らく多くの方が「見たことあるよ」というのがv2の方ではないかと思われます。チェックを入れるのも画像を選ぶのも文字のヤツも、基本的にはv2の機能です。
v3になって、これらは必要なくなりました。
詳しいことはまだ勉強中なので後日記事にしたいと思いますが、アクセスをスコアというもので管理してブロックしたりするみたいなんですよね。だから、正規のユーザさんにとっても負担が少ないわけで、それが導入してみようかなと思ったキッカケでした。
reCAPTCHAの導入には3つの方法がある
まずWordPressサイトにreCAPTCHAを導入する場合、3つの方法があります。
- プラグイン「Contact Form7」と連動させ、お問い合わせにreCAPTCHAを導入する
- テーマ「Luxeritas」の機能で、コメント欄にreCAPTCHAを導入する
- プラグイン「Invisible reCaptcha」を有効化し、サイト全体にreCAPTCHAを導入する
他にも方法はあるのかもしれませんが、現時点で私が把握しているのは以上です。
基本的には3の方法にすれば1,2を包括するので良いと思いますが、ご自身の使い方によって使い分けるといいですね。
今回はまず1の方法でのやり方を見ていき、その後2.3の方法を解説していきます。
一応念のため申し上げておきますが、1,2,3の内、行うのはひとつにしておきましょう。同時に行うと競合する可能性がありますので、例えば1の方法で導入していたけれど、3にしたいなという場合は、1を削除してから3を導入するようにすると良いです。
reCAPTCHAのアカウントを取得する
まずは1から3の方法に共通するreCAPTCHA自体の設定方法です。
WordPressのダッシュボードにアクセスし左のサイドバーから「お問い合わせ」>「インテグレーション」へと進みます。
「reCAPTCHA」という項目の右上にリンクがありますので(赤枠部分)これをクリックします。
reCAPTCHAのサイトへ移動します。右上の「Admin Console」をクリックしてみましょう。
設定にはGoogleのアカウントが必要になります。既にログインしている場合は、特に表示が出ないと思いますが、ログイン画面が出た場合は任意のgoogleアカウントでログインします。
ここでサイトに設置するreCAPTCHAの初期設定を行います。
「Label」は作成するreCAPTCHAの名前になります。わかりやすいものを付けておきましょう。
reCAPTCHA v3を選択した後、「Register」をクリックします。
詳細の設定になりますので、「Domains」にご自身のサイトのURLの内「http(s)://」を抜いたものを記入します。当サイトであれば「textfield.net」になります。
「Accept the reCAPTCHA Terms of Service」は「利用事項に同意する」の意味ですので、チェックしておきましょう。「Register」をクリックします。
「Site key(サイトキー)」と「Secret Key(シークレットキー)」が発行されます。画面をそのままにしておいて、別タブ(別ウィンドウ)でご自身のサイトのダッシュボードに戻ります。
プラグイン「Contact Form7」と連動させ、お問い合わせにreCAPTCHAを導入する
サイトに戻ったら再度「お問い合わせ」>「インテグレーション」へと進みます。
「reCAPTCHA」の「インテグレーションのセットアップ」をクリックしましょう。
別タブで開いておいたページから、サイトキーとシークレットキーをコピペします。できたら「変更を保存」をクリック。
これで「お問い合わせ(Contact Form7)」にreCAPTCHAの導入が完了しました。お問い合わせのページを開いてみましょう。右下にreCAPTCHAのアイコンが見えると思います。
テーマ「Luxeritas」の機能で、コメント欄にreCAPTCHAを導入する
テーマLuxeritasを使っている場合は、コメント欄にreCAPCHAを簡単に導入することができます。
左のサイドバーから「Luxeritas」>「カスタマイズ」と進み、「画像認証」のタブをクリックします。
そこにreCAPCHAの設定がありますので、必要事項を入力すればOKです。
プラグイン「Invisible reCaptcha」を有効化し、サイト全体にreCAPTCHAを導入する
次にプラグインの「Invisible reCaptcha」を導入して、サイト全体にreCAPTCHAを有効化させてみましょう。
まず、上記のようにreCAPTCHAのサイトで設定を行って下さい。サイトキーとシークレットキーが必要になりますので、タブはまだ閉じないでおきましょう(閉じた場合は、以下の項目で再確認の方法を解説しています)。
ダッシュボードのサイドバーから「プラグイン」>「新規追加」を選びます。プラグインの検索窓に「Invisible reCaptcha」と入力しEnterキー。
すると「Invisible reCaptcha for WordPress」というプラグインが見つかると思いますので、これをインストール&有効化。
有効化すると、サイドバーの「設定」に「Invisible reCaptcha」という項目が現れますので、これをクリック。
「Setting」のタブで下の部分をセッティングしていきます。
「Your Site Key」は先程取得したサイトキーを入力します。
「Your Secre key」も同様に、シークレットキーを入力します。
「Language」はreCAPTCHAに表示される言語のことです。「Japanese」を選択しておくと良いでしょう。
「Badge Position」は、reCAPTCHAアイコンの表示される場所になります。「Bottom Right」は画面右下、「Bottom Left」は画面左下、「Inline」は入力フォームなどの直下になります。ユーザにキチンとreCAPTCHAを使っていることを知らせるために「Inline」を選ぶのが良いかと思いますが、この辺はお好みです。
できたら「変更を保存」をクリックします。
「WordPress」のタブで、どこにreCAPTCHAを設置するのかを選ぶことができます。
上から順に
- WordPressへのログイン画面
- 登録フォーム画面
- コメント欄
- ログイン画面の「パスワードを忘れたときは」の画面
になります。私はテストも含めて全てにチェックを入れておきました。お好みの箇所にチェックを入れて「変更を保存」をクリックします。
続けて「Contact Forms」のタブに移ります。
ここでは「Enable Protection for Contact Form7」の箇所にチェックを入れて「変更を保存」をクリックします。
これでContact Form7を使ったお問い合わせページにもreCAPTCHAが適応されるようになります。
動作の確認
いずれの方法にしても、設定後は各ページに行ってみてキチンと動作しているか確認しましょう。
お問い合わせページにもちゃんと表示されています。
WordPressのログイン画面にも表示されていました。
サイトキー、シークレットキーの確認方法
「サイトキー」「シークレットキー」が分からなくなってしまった場合は「お問い合わせ」>「インテグレーション」のページからreCAPTCHAのサイトに行き、Googleアカウントにログインします。もしくはこちらから。
サイトに行くと「Your reCAPTCHA sites」という項目がありますので、これをクリック。
ここの「Keys」をクリックすると、サイトキーとシークレットキーの確認ができます。
まとめ
Google reCAPTCHAの導入自体は、それほど敷居の高いものではありません。
手順通りに行えば、それほど迷うことはないかと思います。
今回は3つの方法で解説を行いましたが、やはりおすすめは3の手順でサイト全体にreCAPTCHAを適応させる方法です。
と言っても、まだ運用を開始したばかりなので、実際のところどの程度のスパムを遮断してくれるのかは、これから様子を見て判断することになります。
遮断にはスコアという指標が取り入れられているとお話しましたが、こちらも今後運用してみてまた記事にしたいと思います。
□ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □ ◇ □
今日も最後までお読み頂きありがとうございました!
小説執筆関連の記事は →「小説講座」
小説の投稿関連の記事は →「小説投稿記」
ブログ関連の記事は →「小説家のためのブログ運営」
読んだ本のレビューは →「読んでレビュー」
デジタルガジェット関連は →「デジタルもの」
に、ありますのでぜひ合わせてお読み下さいね!
ディスカッション
コメント一覧
私もスパムコメントをかなり受けました。私の場合、amazingとかawesomeなどと褒め称えられた(笑)後にスパムリンクでした。
あんなバレバレなスパムを見ていると、逆に笑えてきますね。
私もサイトにお問い合わせを設置しようと考えていますので、この記事を参考にさせてもらいます。
趣味を語ろうさん、こんばんは!
ほんとによく来ますよねぇ。褒められたり脅されたり、どっちよ!? って言いたくなってきます。
既に設置されているかもしれませんが、ワードプレスをお使いで、海外からのスパムでしたら
https://textfield.net/blog/ip-geo-block
このページにあるIP GEO BLOCKが滅茶苦茶おすすめです。
難点としては、海外からのアクセスを遮断してしまうので(閲覧はできます)
スパムじゃないお問い合わせなどもブロックされてしまうことと、ご自身が海外に行かれることが多い場合
当然海外からログインもできない点です(設定次第だとは思いますが)。
またなにかありましたら、コメント下さいませ。