コラム
Contact Form 7のスパム・営業メール対策 完全ガイド|reCAPTCHA設定とその限界
WordPressで問い合わせフォームを作るとき、最も使われているのが**Contact Form 7(CF7)**です。世界中で1,000万以上のサイトに導入された事実上の標準プラグインですが、運用を始めると多くの担当者が「スパムと営業メールが止まらない」という壁にぶつかります。
CF7には標準のスパム対策機能が搭載されていないため、対策は自分で追加する必要があります。本記事では、Contact Form 7のスパム・営業メール対策を一通り網羅し、定番のreCAPTCHA設定手順とその限界、そして人間が打つ営業メールまで止める方法を解説します。
この記事の結論(先に要点)
| 対策 | ボットスパム | 人間の営業メール | 設定難易度 |
|---|---|---|---|
| reCAPTCHA v3 | ◎ | ✕ 素通り | 中 |
| Akismet | ◎ | ✕ 日本語の営業文に弱い | 中 |
| Cloudflare Turnstile | ◎ | ✕ | 中 |
| ハニーポット・NGワード | ○ | △ | 中 |
| AI営業メール判定(Defform) | ◎ | ◎ 文脈で判別 | 低(5分) |
→ reCAPTCHA等はボットには有効ですが、人間が打つ営業メールは「人間」と判定され通過します。詳しくは 問い合わせフォームの営業メール・スパム対策 完全ガイド も参照してください。
1. なぜContact Form 7にスパム・営業メールが届くのか
CF7はシンプルで軽量な反面、初期状態ではスパム対策がゼロです。フォームのURLや構造はボットに容易に解析されるため、設置直後から以下が届き始めます。
- ボットによる自動投稿スパム:海外からの英語スパム、URLの羅列、文字化け
- 人間・営業ツールによるフォーム営業:自動送信ツールで送られる売り込みメール
特に後者は、CF7の標準機能でもreCAPTCHAでも防げない領域です。
2. reCAPTCHAの設定手順(Contact Form 7公式対応)
CF7は Google reCAPTCHA v3 に公式対応しています。手順は以下の通りです。
ステップ1:reCAPTCHAのキーを取得
- Google reCAPTCHA管理コンソールにアクセス
- 新しいサイトを登録し、種類で reCAPTCHA v3 を選択
- ドメインを登録して「サイトキー」と「シークレットキー」を取得
ステップ2:Contact Form 7に登録
- WordPress管理画面 →「お問い合わせ」→「インテグレーション」
- reCAPTCHA の「インテグレーションのセットアップ」をクリック
- サイトキー・シークレットキーを貼り付けて保存
これで全ページにreCAPTCHA v3のバッジが表示され、スコアでボットを判定するようになります。
v2(チェックボックス型)を使いたい場合:CF7の公式統合はv3のみです。「私はロボットではありません」のチェックボックスを使うには別プラグインが必要になります。
3. 「Contact Form 7 + reCAPTCHAでもスパムが減らない・効かない」3つの理由
「reCAPTCHAを設定したのに営業メールが止まらない」「reCAPTCHA v3で正規ユーザーが送信できない」——これはよくある相談です。原因は次の3点です。
- 人間の営業メールは素通りする — reCAPTCHAは「人間かボットか」を判定する仕組み。営業担当者やAIエージェントが送る営業メールは「人間」と判定され、そのまま通過します。
- スコアのしきい値による誤判定 — v3はスコア制のため、正規のユーザーがボット扱いされ「送信できない」事故が起きやすい。
- 無料枠の縮小 — reCAPTCHAの無料枠は月1万評価に縮小され、超過分は課金対象です。
→ reCAPTCHA単体の限界は Defform vs reCAPTCHA で詳しく解説しています。
4. reCAPTCHA以外のContact Form 7スパム対策
| 対策 | 内容 | 弱点 |
|---|---|---|
| Akismet | コメント/フォームのスパムをDB照合で判定 | 日本語の人間の営業文に弱い・商用は有料(比較) |
| Cloudflare Turnstile | reCAPTCHA代替のCAPTCHA。CF7が公式統合 | 人間の営業は防げない(比較) |
| ハニーポット | 隠しフィールドでボットを誘導・検出 | 人間には無効 |
| NGワード・ドメイン拒否 | 特定語/ドメインをブロック | いたちごっこ・誤ブロックのリスク |
| 送信元IP制限 | 国外IP等をブロック | 国内のフォーム営業は防げない |
いずれも「ボット対策」としては有効ですが、人間が打つ営業メールを止める手段が一つもないのが共通の弱点です。
なお、CF7はプラグインの脆弱性が攻撃対象になることもあります(参考:Redirection for Contact Form 7の脆弱性)。プラグインは最新に保ちましょう。
5. 残る「人間の営業メール」をAIで止める(Defform × CF7併用)
ボット対策をすべて入れても残るのが「人間のフォーム営業」です。これを止めるのが Defform のAI営業メール判定です。
- AIが文脈で判定 — 本文・送信者情報・文章パターンを分析し、営業メール / スパム / 本物の問い合わせを自動仕分け
- 純日本製AI — 敬語・婉曲表現の多い日本語の営業文に強い
- 誤判定を確認・復元 — 遮断したメールもダッシュボードで確認できる
- CF7と併用可能 — フォームを作り直さず、既存のContact Form 7に後付けできる
- 料金 — 30通/月までのAI判定が永年無料、PRO ¥3,000/月〜(料金プラン)
[ユーザー] → [Contact Form 7] → [Defform AI判定]
├ 本物の問い合わせ → 通常通り通知
└ 営業メール・スパム → ダッシュボードに隔離
6. 導入手順(5分・Contact Form 7はそのまま)
- WordPress管理画面 →「プラグイン」→「新規プラグインを追加」
- 「Defform」を検索 → インストール → 有効化(WordPress公式プラグイン)
- Defformに無料サインアップ
- APIキーを設定画面に貼り付け
- 既存のCF7フォームに自動連携 → 翌日から営業メールが激減
Contact Form 7とDefformは競合ではなく補完関係です。詳しくは Defform vs Contact Form 7 を参照。
よくある質問(FAQ)
Q. reCAPTCHAを入れたのにContact Form 7のスパムが減りません。 A. reCAPTCHAはボットを弾く仕組みで、人間が打つ営業メールやAIエージェントの送信は通過します。内容で判定するAI対策が必要です。
Q. reCAPTCHA v3で正規ユーザーが送信できなくなりました。 A. v3はスコア制のため誤判定が起きえます。しきい値の調整に加え、内容ベースで判定するDefformのAI判定なら正規ユーザーをブロックしません(遮断分も復元可能)。
Q. Akismetとどちらがいいですか? A. Akismetはボット・スパム向けで、日本語の人間の営業文には弱いです。営業メール対策ならAI判定のDefformが適しています(詳細比較)。
Q. 無料で使えますか? A. 30通/月までのAI判定が永年無料です。詳細は料金プランをご覧ください。
まとめ
- Contact Form 7は標準でスパム対策がなく、reCAPTCHA等を自分で追加する必要がある
- reCAPTCHA・Akismet・Turnstileはボットには有効だが、人間の営業メールは止められない
- 残る「人間の営業メール」まで文脈で仕分けできるのはAI判定(Defform)だけ
- CF7に後付けでき、30通/月まで永年無料
→ 関連:問い合わせフォームの営業メール・スパム対策 完全ガイド