お問い合わせのスパムをreCAPTCHAでブロック!

WordPress

ある日突然、お問い合わせフォームがスパムだらけに

WordPress でブログを立ち上げ、
お問い合わせフォームを設置して数日経ちました。

最初は自分でテスト送信したメッセージしか来ていなかったのですが、
ある日を境に英語の意味不明なメッセージが大量に届くようになりました。

内容は、

  • 文脈がない英文
  • URL だけ貼られている
  • 明らかに人が書いていない文章

いわゆる「スパム投稿」です。

スパム対策として reCAPTCHA を入れることにした理由

WordPress のスパム対策はいくつかありますが、
今回は以下の理由から reCAPTCHA を選びました。

  • ユーザーに余計な操作をさせたくない
  • 見た目を変えずに対策したい
  • 定番で情報が多い

結果的に reCAPTCHA v3 を選択しました。

reCAPTCHA v3 とは?

reCAPTCHA v3 は、
よく見る「私はロボットではありません」のチェックを出さずに、
裏側でアクセスの怪しさを判定してくれる仕組みです。

人間は何も気づかず、
bot(怪しいアクセス)だけを弾いてくれます。

導入手順

0. 前提条件

本記事の内容は、以下の環境を前提にしています。

  • WordPress:6.x 系
  • お問い合わせフォーム:Contact Form 7(2026年1月5日時点 最新版)
  • スパム対策:Google reCAPTCHA v3

1. Google reCAPTCHA にサイト登録

まずは Google reCAPTCHA にアクセスします。
https://www.google.com/recaptcha/admin/create

  • ラベル:任意の値でOK(ブログタイトルがわかりやすい)
  • reCAPTCHA タイプ:v3 を選択
  • ドメイン:ブログドメインを入力(wwwは不要)
  • Google Cloud Platform のプロジェクト名:ブログ専用のわかりやすい名称(ドメイン + reCAPTCHA など)

reCAPTCHA タイプドメイン以外はブログ用であることがわかれば、
どんな名称でも問題ありません。

「送信」をクリックするとキーが発行されます。

発行されたサイトキーシークレットキーを WordPress に設定します。

2. WordPress にキーを設定

Contact Form 7
「お問い合わせ → インテグレーション」から
reCAPTCHA を探し、
「インテグレーションのセットアップ」をクリックします。

※ reCAPTCHA v3 の場合、フォーム側の編集は不要です。この設定だけで有効になります。

導入後どうなったか

導入後からは、

  • 意味不明な英文スパムが来なくなった
  • 正常なお問い合わせは問題なく届く

Flamingo に保存される件数も明らかに減りました。
明確な数値は取っていませんが、
体感としてはかなり効果を感じています。

まとめ

  • お問い合わせフォームは公開=スパムの対象になる
  • reCAPTCHA v3 は導入が簡単
  • 見た目を変えずにスパム対策できる

同じように困っている方の参考になれば幸いです。


なお、設定途中で Cloudflare Turnstile を推奨するメッセージが表示されるかと思います。
Turnstile は完全無料で魅力的な選択肢ですが、
今回はまず実績と情報量の多い reCAPTCHA を採用しました。
将来的には Turnstile への移行も検討しています。

ブログのアクセス数が増え、
reCAPTCHA の無料枠で足りなくなった際には
Cloudflare Turnstile への移行を進めたいと思います。


それでは良い WordPress ライフを!

コメント

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