【完全対策】Contact Form 7に届く外国語スパムメールをシャットアウトする方法

WordPressの人気フォームプラグイン「Contact Form 7(CF7)」を使っていると、英語やロシア語、中国語などのスパムメールが届いて困った経験はありませんか?

特に日本語サイトでは、こうしたスパムが日々届き、大切なお問い合わせを見逃すリスクにもつながります。

この記事では、初心者の方でもできる「外国語スパムを完全に防ぐ方法」を、ステップ形式でわかりやすく解説します。

なぜ外国語スパムが届くのか?

  • 海外のBot(自動送信プログラム)が無差別に送信している
  • reCAPTCHAが未設定または古いバージョンを使用している
  • フォームが日本語専用に設定されていない

これらが原因で、毎日大量のスパムが届くケースもあります。

ステップ1:日本語を含まない投稿をブロックする

フォームに日本語(ひらがな・カタカナ・漢字)が1文字もないと送れないように設定します。

[textarea* your-message pattern=".*[ぁ-んァ-ン一-龥].*"]

これにより、外国語のみで書かれたメッセージ(英語・ロシア語など)は送信できなくなります。

テーマファイルエディタから「テーマのための関数(functions.php)」の一番下にコピペ!

ステップ2:Google reCAPTCHA v3の導入

GoogleのBot対策ツール「reCAPTCHA v3」を使えば、フォームに入力した人が人間かスパムかを自動で判定してくれます。

設定手順:

  1. Google reCAPTCHAサイトでv3を選んでサイト登録
  2. サイトキーとシークレットキーを取得
  3. WordPress管理画面 → お問い合わせ → インテグレーション → reCAPTCHA にキーを入力

ユーザーの操作を邪魔せず、裏で自動的にスコア判定されます。

ステップ3:Akismetプラグインを活用

WordPress公式のスパム対策プラグイン「Akismet」は、フォーム内容もスパムフィルターにかけることが可能です。

設定方法:

  1. 「プラグイン」→「新規追加」→「Akismet」で検索し、インストール&有効化
  2. Akismet公式サイトでAPIキーを取得し、設定
  3. フォームに以下のようにタグを記述
    [text* your-name akismet:author]

世界中のスパムと照合して、精度の高いフィルタリングができます。

ステップ4:海外からのフォーム送信を制限(上級者向け)

「IP Geo Block」などのプラグインを使用すれば、特定の国からのフォーム送信を制限できます。

ただし、海外ユーザーがサイトを利用する可能性がある場合は慎重に設定しましょう。


対策内容効果難易度
日本語制限(正規表現)◎ 外国語スパム即ブロック★☆☆
reCAPTCHA v3◎ Bot全体を自動検知★★☆
Akismet◎ 高精度なスパム判定★★☆
IP制限◎ 国ごとのアクセス制御★★★

Webフォームの悩みもUNLEASH TALENTが解決します

私たちは、フォーム最適化・スパム対策・Webセキュリティ強化までトータルにサポート可能です。

  • Contact Form 7のカスタマイズ
  • サイト高速化とSEO対策
  • 問い合わせ導線の改善コンサルティング

お気軽に お問い合わせフォーム よりご相談ください。