ContactForm7のスパム対策には【Invisible reCaptcha for WordPress】

WordPress
各記事にあるclipをクリックすることで、あとからもう一度読みたい記事をクリップ一覧にまとめておくことができます。
reCAPTCHA
この記事で解決できるお悩み
  • 問い合わせページとかコメント欄からスパムメッセージが大量に送られてくる!
  • Contact Form 7ってスパム対策はどうしたらいいの?
  • ブログに広告貼るならAkismetは無料で使えないって・・・

この記事で解説するスパム対策をWordPressに実装すれば、もうお問合せフォームやコメント欄からのスパムメッセージに悩まされることはありません!

僕も以前スパム対策をしていなかった頃に1日で数件~数十件のスパムに悩まされていましたが、これからご紹介するスパム対策で、今ではスパムが0件になりました。

設定方法は全手順で画像を使用して解説してるので、読みながら進めるだけで誰でも簡単にContact Form 7でスパム対策を実装できますよ!

この記事を読み終える頃には『スパムから開放された!』と気持ちが楽になってるはず。

難しい設定はないので、頑張っていきましょう!

Contact Form 7でお問い合わせページをまだ設置していない方は以下の記事を参考にしてください。

楽々簡単、たった1分!Contact Form 7でお問い合わせフォーム設置手順

スパムとは?

スパムとは、簡単に説明すると迷惑メッセージのことで、主に以下の機能を悪用して送信してきます。

  • ブログ記事内コメント機能
  • サイト内お問い合わせ機能
  • メール

これらスパム送信行為の多くは、偽サイトへ誘導するURLを数多く送信することで誰かが引っかかるのを待ち、引っかかった人からお金を騙し取るために行われます。

昔は手動でたくさんのサイトお問い合わせ機能にアクセスしては送信するのが一般的な手法でしたが、現在では効率よく短時間で大量に送信できるように巡回プログラムというソフトウェアが世界中のサイトを駆け巡り、自動で送信される場合がほとんどです。

メールでの迷惑メールに関してはほとんどの方が見たことがあるのではないでしょうか。

よくある迷惑メールの一つとしては『Amazonのパスワード有効期限が切れました』という内容だけどどこかおかしな日本語の迷惑メールが来たりしますね。

サイト内のお問い合わせ機能を利用したスパムもメールと同じようなものなので、難しく考えないでくださいね!

スパム問い合わせに関しては最悪無視しておけば大丈夫ですが、スパムコメントにいたってはSEOにも悪影響を与えるため、注意が必要です。

スパムコメントについては以下記事で詳細に解説しています。

Contact Form 7にはスパム対策が必須

ContactForm7

WordPressにお問い合わせ機能を追加するなら誰もが知っている定番のプラグイン『Contact Form 7(コンタクトフォーム7)』。

Web制作の知識が全く無くても簡単に問い合わせフォーム機能を設置できる超便利なプラグインですが、ただ設置するだけではスパム行為に悩まされてしまいますよ。

なぜなら、お問い合わせ機能というのは『入力して送信するだけ』という単純な機能なので巡回プログラムによって簡単に送信されてしまうから。

お問い合わせ機能を通して毎日何度も大量に迷惑メールが送られてくるのは嫌ですよね。

Contact Form 7を使ってお問合せフォームを設置したあとは、必ずスパム対策まで実施しましょう!

基本的な対策方法は主に3つ!

WordPressでお問合せフォームでスパム対策をしようと思った場合、主に以下3つの方法が考えられます。

  1. Akismet Anti-Spam
  2. Contact Form 7の基本設定を利用
  3. 『reCAPTCHA』で対策

結論としては、3番目が圧倒的におすすめです。

とはいえそれぞれどんな対策なのか知ってて損はないどころか、今後役に立つ可能性もあるので、それぞれの対策方法について、以下に説明していきますね。

Akismetは無料で使えないのでNG

WordPressをインストールしたらデフォルトでインストールされているプラグイン『Akismet』はスパム対策プラグインで、こちらはWordPressを運営している企業が開発したプラグインなので、安心安全で使うことができます。

Akismetはスパムコメントやスパム問い合わせが送信されると、内容をチェックして世界中のスパム情報を保存しているデータベースと照合し、特徴が一致してスパムと判定されれば通常とは異なるスパムフォルダに自動的に振り分けてくれる仕組みです。

しかし、Akismetには大きな落とし穴があります。

それは、『商用目的では使ってはいけない』と規約で定められていることです。

商用目的とは、アフィリエイトリンクをサイト内に貼るだけで該当します。

ブログ運用といえば広告収入を目的とすることがほとんどなので、ほとんどのブロガーがAkismetを使えません。

そのため、Akismetは残念ながら今回のスパム対策からは除外します。

Contact Form 7の機能でスパム対策

もっとも手軽で簡単なスパム対策として、まずはContact Form 7に標準で備わっている機能を活用した方法をご紹介します。

基本的に巡回プログラムは『入力して送信するだけ』の単純な問い合わせ機能に対して動作するようにプログラミングされているため、『承諾確認』を追加してチェックをしないと送信できないようにする対策方法です。

簡単な設定方法だけでちょっとした対策になるので、お試し下さい。


コンタクトフォームの設定

まずは設定したいお問い合わせの設定を開きます。


コンタクトフォームの内容
Contact Form 7で作成した問い合わせフォーム

上記は基本的な本文入力と送信機能だけが設定された問い合わせフォームです。

ここに『承諾確認』を追加していきます。


承諾確認を追加する

追加したい箇所にカーソルを合わせておき、『承諾確認』をクリック。

※今回は本文と送信ボタンの間に挿入します。


承諾確認の設定

『承諾確認』の設定画面が表示されるので、以下2点を修正してください。

  • 同意条件
    何かしら同意を求める文言を入れます。お好きなように入力してください
  • オプション
    このチェックボックスは必ず外して下さい。チェックがついてると、実際に送信する際に『承諾確認にチェックしてもしなくてもどっちでもいい』という状態になってしまい、意味がありません!

設定したら、右下の『タグを挿入』をクリック。


承諾確認のタグ出力
承諾確認が実装された問い合わせフォーム

問題なくタグが挿入されたら、左下の『保存』をクリックします。

するとお問合せフォームの本文と送信の間に『承諾チェック』が追加されましたね。

ためしにチェックをせずに送信しようとしても送信ボタンが押せなくなってるはずです。

これで通常の巡回プログラムでは送信ができなくなりました。

しかし、現在では『承諾確認』機能をもすり抜ける巡回プログラムが存在しているため、これは応急処置程度です。

僕的には、次で紹介する『Invisible reCaptcha for WordPress』を利用することをおすすめします。

Invisible reCaptchaがおすすめ

『承諾確認』でも防げないようなスパムもさらに防ぐためにおすすめなのが、『Invisible reCaptcha for WordPress』です。

Googleが提供しているスパム防止ツール『reCAPTCHA』を簡単な設定でWordPressに設置することができます。

これを使えば、人間による操作かプログラムによる操作か自動で判別して、巡回プログラムによるスパム攻撃の場合は送信ができないようになり、ほぼ全てのスパム攻撃を防ぐことができますよ!

以下はreCAPTCHA公式の解説動画です。

ちなみに、Invisible reCaptchaでは『reCAPTCHA』を以下に設置することができます。

  • Contact Form 7のお問合せフォーム
  • ログインフォーム
  • アカウント新規登録フォーム
  • コメント投稿欄
  • WooCommerce
  • UltraCommunity
  • BuddyPress

お問合せフォームだけでなく、コメント投稿のスパム対策にも利用できるのはかなり嬉しいポイントですね。

さらに、管理画面のログインページにも設置できるためブルートフォースアタック対策にもなります。

ブルートフォースアタックとは

セキュリティ攻撃の一種で、別名総当たり攻撃と呼ばれています。

ユーザー名とパスワードの組み合わせを考えうる限り試していくことで、いつかは当たるという原始的な攻撃方法ですが、対策していないといつかは不正ログインされてしまいます。

組み合わせは数億通り以上にも及ぶことがあるため、もちろん手動でやるわけではなく、ブルートフォースアタック用に作られたプログラムによって実行されます。

つまり、スパム対策だけでなくセキュリティ対策にも繋がるので、絶対に導入しましょう!

『Invisible reCaptcha for WordPress』を入れておけば、先程設定した『承諾確認』は外しても大丈夫です。笑

※実際にサイト内規約等に承諾してほしい場合は、そのまま残しておいていいと思います。

Invisible reCaptchaの設定

Invisible reCaptcha for WordPress

reCAPTCHAは以下の手順で進めればWordPressで使えるようになります。

  1. reCAPTCHA公式サイトからAPI Keyを取得
  2. WordPressにプラグイン『Invisible reCaptcha for WordPress』をインストールして有効化
  3. 取得したAPI Keyをプラグインの設定に登録

API Keyとは、reCAPTCHAをWordPressに連携させるためのパスワードだと認識しておけばOKです。

順に解説していきますね。

reCAPTCHA公式サイトからAPI Keyを取得

まずはreCAPTCHAの公式サイトからAPI Keyを取得します。

reCAPTCHAはGoogleが提供しているサービスなので、Googleアカウントが必要です。

Googleアカウントを持ってない方は先にGoogleアカウントを取得しておいてください。

※Gmailメールアドレスを持っている方はそれがGoogleアカウントですよ!
※ここではGoogleアカウントの取得方法は割愛します。


recaptchaのAPI Keyを取得

reCAPTCHAの公式サイトにアクセスして、各項目を入力、選択します。

下記の説明と上記の画像を参考に進めてください。

  • ラベル
    API Keyの管理名。パっと見てどのサイトのものかわかるように入力(ブログ名など)
  • reCAPTCHA タイプ
    reCAPTCHA v3を選択
  • ドメイン
    設置するサイトドメインを入力
  • オーナー
    管理するアカウントを指定。追加したい場合は他のGmailアドレスを入力
  • reCAPTCHA 利用条件に同意する
    チェックを付けて同意
  • アラートをオーナーに送信する
    reCAPTCHA連携に問題が発生した場合にアラートが送信される。チェックのままでOK

全て入力、選択したら【送信】をクリック


取得したAPI Keyを控える

サイトキーとシークレットキーが表示されるので、それぞれメモ帳アプリにコピペするなどして控えておきましょう。

この2つのキーがreCAPTCHAとWordPressを連携さえるためのAPI Keyと呼ばれるものです。

ペアで使うので、どちらもしっかり控えておいて下さい。

キーを控えたらもうこのページは閉じても大丈夫ですが、念の為全ての設定が完了してから閉じるほうが安心ですよ!

次はWordPress管理画面に戻ります。


プラグインを新規追加
invisible recaptcha for wordpressをインストール

次は『Invisible reCaptcha for WordPress』をインストールします。

【管理画面 – プラグインメニュー】から『新規追加』へ進み、右上のキーワードへ『Invisible reCaptcha for WordPress』と入力。

いくつか表示されるため、間違わないようにしっかり確認して『Invisible reCaptcha for WordPress』をインストールしてください。

インストールが完了したらそのまま有効化までしておきましょう。


取得したAPI Keyを設定

有効化が完了したら、【設定 – Invisible reCaptcha】から設定画面を開き、以下の通り設定して下さい。

  • サイト鍵
    取得したサイトキーを入力
  • 秘密鍵
    取得したシークレットキーを入力
  • バッジ位置
    インラインを選択

入力、選択したら【変更を保存】をクリック


WordPressログインフォーム等にrecaptchaを設置

次はWordPressの各フォームに設置する設定です。

メニューから【WordPress】に移動します。

読んで分かる通り、ログイン時やコメント送信時のreCAPTCHA機能を有効にする設定です。

全てチェックしておけばOKです。

チェックしたら【変更を保存】をクリック


ContactForm7にrecaptchaを設置

次はContact Form 7で設置するお問合せフォームでreCAPTCHA機能を有効にする設定です。

メニューから【問い合わせフォーム】に移動し、『Contact Form 7の保護を有効化』にチェックを入れて下さい。

チェックしたら【変更を保存】をクリック


お疲れさまでした。

以上でreCAPTCHAの設置が完了です。

設定項目も少なくて意外と簡単でしたね。

先程のお問合せフォームを確認してみると、以下のようにreCAPTCHAのバッジが付いています。

ContactForm7にrecaptchaが設置された

これでお問合せフォームやコメント欄がスパムに狙われても大丈夫!

これからはログインフォームや登録フォームも含めてreCAPTCHAが自動的にブロックしてくれるので、安心してブログ運用を続けてください。

まとめ

最後に、ご紹介した内容をおさらいしておきましょう。

Contact Form 7のおすすめスパム対策
  1. Akismetは広告を掲載したブログでは無料で使えないのでNG
  2. Contact Form 7の『承諾確認』を使った対策では完璧に防げない
  3. 一番のおすすめ対策は、プラグイン『Invisible reCaptcha for WordPress』でGoogleが提供するスパム防止ツールの『reCAPTCHA』をWordPressに連携して使う方法

ご紹介したプラグインを導入したなら、今までよりも安心・快適にブログを運用できるようになったはずです。

煩わしいスパムから開放されると気持ちがいいですよね!

WordPressには他にもブログのレベルアップに欠かせないプラグインがたくさんあります。

以下の記事では、このブログで実際に利用している全プラグインを紹介してるので、ぜひ確認してみてください!

今使ってます!ワードプレスプラグインおすすめ14選【2021年】

▼ コメント ▼

タイトルとURLをコピーしました