【WordPress】お問い合わせフォームの迷惑メール対策【reCAPTCHA×ContactForm7】

ホームページ作成

WEBサイトにお問い合わせフォームを設置していると、フォームから送られてくる迷惑メールにうんざりしている方もいるかと思います。
迷惑メール対策として、WordPressにデフォルトでインストールされている「Akismet」を使用している方もいるかもしれませんが、Akismetは【商用利用は無料利用不可という規約になっています。

そこでおすすめなのが、Google提供の「reCAPTCHA」です。

reCAPTCHAのメリット・デメリットと、WordPressのお問い合わせフォームプラグイン「ContactForm7」への設定方法をご紹介します。

※2025/4/17追記・修正
2024年8月1日からreCAPTCHAの価格変更やGoogle上の管理方法の変更があったようです。

  • 無償での評価回数/月が100万件から1万件までに変更。
  • reCAPTCHAはGoogleCloudサービスの一部となり、無料版は「reCAPTCHA Essentials」という名称となる。
  • 評価回数が1万件を超えると、無料版ではreCAPTCHAが停止される。GoogleGloudへ支払情報の紐づけを行うことで、評価回数が1万件を超えた分だけ課金される。(価格の詳細はこちら

reCAPTCHA登録時のキャプチャに一部変わっているので、変更しています。

※2025/12/26追記
「Contact Form 7」では、公式から「Cloudflare Turnstile」への切り替えがおすすめされています。

Turnstile は Cloudflare によるスマートな CAPTCHA 代替サービスです。Contact Form 7 は Turnstile とのインテグレーションモジュールを提供し、あなたのフォームをスパムボットから守ります。Google reCAPTCHA とは異なり Turnstile は無料で利用できます。reCAPTCHA を使うべき理由が特にないのであれば Turnstile を選択してください。

引用元:Cloudflare Turnstile インテグレーション | Contact Form 7 [日本語]
スポンサーリンク

reCAPTCHAとは

お問い合わせフォームの迷惑メール対策としておすすめなのが、Google提供の「reCAPTCHA」です。
Googleアカウント(gmailアカウント)が必要ですが、無料で利用できます。

以前のバージョンでは「私はロボットではありません」というチェックボックスが表示されたり、画像に表示されているテキストを入力させたりしていました。数年前までは色々なサイトで見たことがあるかもしれませんね。
最新版の v3(バージョン3) では、画面にこのようなアイコンが表示されているだけです。

reCAPTCHAアイコン
reCAPTCHA v3 がしていること
  • 自動的に人間か bot かを機械学習で自動的に判別する。
    (ボット:自動化された行動を実行するアプリケーション。)
  • bot(ボット) と判断された場合、行動(フォームの送信等)はブロックされる。

迷惑メールの殆どは、bot(ボット)と呼ばれる、機械的に指定された行動を実行するアプリケーションが送信しています。人間がフォームに手作業で入力して送信している訳ではありません。

reCAPCHAを設定すると、人間か機械かを自動判別して、機械が送付してくる迷惑メールを排除してくれるのです。

お問い合わせフォームだけではなく、コメント機能があるWEBサイトのコメント投稿機能にも設定することが可能です。

reCAPTCHAのメリット/デメリット

メリット
  • 無料で利用可能。必要なのは無料のGoogleアカウント(gmailアカウント)のみ。
  • WordPressプラグインを利用すれば設定が簡単。
  • お問い合わせするお客様には何も負担がない。
デメリット
  • WEBサイトの表示が遅くなる。

メリットは何といっても、誰でも無料で利用できることです。商用利用の制限もありません。
これから解説するプラグインを利用すれば、設定も簡単です。
以前のバージョンではチェックボックスを入力させたり文字を入力させたりと、お問い合わせのお客様に手間を増やしてしまっていましたが、最新の v3(バージョン3)では何も手間をかけさせません。人間か機械かを自動判別してくれます。

デメリットとして、reCAPTCHAがWEBサイトへの訪問者の行動を分析して自動判別しているため、表示速度が遅くなることです。

そのデメリットを最小限に抑えるために、WEBサイトの全ページにreCAPTCHAを設定する方法ではなく、お問い合わせフォームのみに設定する方法をこれから解説します。

※2024/6/4修正
最新版の「Contact Form 7」では警告メッセージが表示されるようになったこと、ご紹介していたプラグインのアップデートが年単位で止まってしまったため、「Contact Form 7」の設定からreCAPTCHAを設定するように変更しました。

reCAPTCHAをContactForm7に設定する方法

※2025/4/17追記・修正
2024年8月1日からreCAPTCHAの価格変更やGoogle上の管理方法の変更があったようです。

  • 無償での評価回数/月が100万件から1万件までに変更。
  • reCAPTCHAはGoogleCloudサービスの一部となり、無料版は「reCAPTCHA Essentials」という名称となる。
  • 評価回数が1万件を超えると、無料版ではreCAPTCHAが停止される。GoogleGloudへ支払情報の紐づけを行うことで、評価回数が1万件を超えた分だけ課金される。(価格の詳細はこちら

reCAPTCHA登録時のキャプチャに一部変わっているので、変更しています。

※2025/12/26追記
「Contact Form 7」では、公式から「Cloudflare Turnstile」への切り替えがおすすめされています。

Turnstile は Cloudflare によるスマートな CAPTCHA 代替サービスです。Contact Form 7 は Turnstile とのインテグレーションモジュールを提供し、あなたのフォームをスパムボットから守ります。Google reCAPTCHA とは異なり Turnstile は無料で利用できます。reCAPTCHA を使うべき理由が特にないのであれば Turnstile を選択してください。

引用元:Cloudflare Turnstile インテグレーション | Contact Form 7 [日本語]

reCAPTCHA側の操作

reCAPTCHAのサイトにアクセスし、「使ってみる」ボタンクリック
https://developers.google.com/recaptcha?hl=ja

Google reCAPTCHA設定画面

Google Cloudのページになるので、再度「使ってみる」ボタンクリック

Google reCAPTCHA設定画面

Googleへログインしていない人はログイン画面が表示されるので、Googleアカウントへログインします。

Googleログイン画面

サイトの登録画面が表示されます。
設定するGoogleアカウントを変更したい人は右上から選択してください。

ラベル:お好きな名前を入力
reCAPTCHA タイプ:スコアベース(v3) チェックON
ドメイン:WEBサイトのドメインを入力
プロジェクト名:お好きな名前を入力(デフォルトでもOK)

利用条件同意をチェックONして「送信」ボタンクリック

Google reCAPTCHA設定画面

「サイトキー」「シークレットキー」の2つが表示されるので、手元に控えてください。後程WordPressの方に入力します。

Google reCAPTCHA設定画面

WordPress側の操作

プラグイン「Invisible reCaptcha for WordPress」をインストールして有効化します。

※2024/6/4修正
最新版の「Contact Form 7」では警告メッセージが表示されるようになったこと、ご紹介していたプラグインのアップデートが年単位で止まってしまったため、「Contact Form 7」の設定からreCAPTCHAを設定するように変更しました。

お問い合わせフォーム -> インテグレーション -> reCAPTCHA インテグレーションのセットアップ

WordPress管理画面キャプチャ
WordPress管理画面キャプチャ

先程控えた「サイトキー」「シークレットキー」を入力。
「変更を保存」ボタンクリック

WordPress管理画面キャプチャ

画面右下にreCAPTCHAが表示されています。

お問い合わせフォームキャプチャ

このままだと、利用テーマによっては「上に戻る」ボタンと表示が被ります。
CSSで非表示に設定して、フッターウィジェットやお問い合わせフォームのページ下部に表記を移植してください。※設定箇所はテーマによって異なります。

WordPress管理画面キャプチャ
reCAPTCHA非表示CSS

まとめ:迷惑メール対策は難しくない!ほんのひと手間かけて対策を設定しよう

大量の迷惑メールが届くと、折角のお客様からのお問い合わせをスルーしてしまう場合もありますし、届いたメール内のURLをうっかりクリックしてウイルス感染してしまう危険もあります。
私自身、日々届く迷惑メールにうんざりしていましたが、reCAPTCHA を設定してからは、迷惑メールが全く届かなくなり、ストレスフリーになりました。

reCAPTCHA の設定は無料で実施でき、設定方法もプラグインを利用すれば難しくありません。
ひと手間かかりますが、是非設定しましょう。

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