WordPress の問い合わせフォーム(Contact Form 7)に、
「ランダムな英語名での問い合わせ」
「自動生成されたような英文メッセージ」
が届くことがあります。
これは 海外ボットによるスパム送信 が原因です。
“日本の実サイト向けフォーム” では実務的な対策が必要になります。
ここでは、実際に効果があった
「ふりがなを必須項目にして、日本語限定にする」
というアプローチを紹介します。
なぜ「ふりがな」が有効なのか?
英語圏のスパムボットは
- 日本語の入力ができない
- とくに 全角カタカナ・ひらがなを入力できない
という弱点があります。
そのため、
日本語限定の必須項目を1つ作るだけで海外や日本語圏以外からのスパムを防げます。
実際の方法:Contact Form 7 に「ふりがな」必須+日本語限定チェックを追加する
① フォームにふりがな入力欄を追加
Contact Form 7 のフォーム編集画面で
以下のような項目を追加します。
<label> ふりがな(必須)
[text* furigana id:furigana]
</label>
text* が “必須” を意味します。
② 日本語以外を弾く(ひらがな・カタカナ限定)
Contact Form 7 には pattern属性(正規表現) が使えます。
ひらがな・カタカナ以外はエラーにするにはこれ:
[text* furigana id:furigana pattern:"^[ぁ-んァ-ヶー]+$"]

これによって、
- 英語
- 数字
- 記号
- 中国語などその他の文字
はすべて送信不可になります。
③ エラーメッセージを日本語で案内
追加メッセージは「フォームの設定 → メッセージ」から変更できます。
例:
- 「ふりがなは日本語(ひらがな・カタカナ)のみで入力してください」
- 「必須項目です」

実際にこれを導入するとどうなる?
導入後は:
- 英語のランダムネーム
- 海外ボットの機械生成文
- reCAPTCHA突破スパム
これらが ほぼゼロ になります。
理由は単純で、
日本語入力が必要になるとボットのほとんどが突破できないため。
実務では「ふりがな」以外でも:
- 郵便番号(数字7桁必須)
- 電話番号(ハイフン無し・数字必須)
などを追加するだけでもスパムを減らせます。
BONUS:もっと強くしたい場合の追加策
必要に応じて以下を併用するとさらに強固になります。
・reCAPTCHA(v3)
Google公式のスパム判定。突破も多いが併用すると安心。
・Akismet
ブログのスパムコメント用プラグインだが CF7 と連携可能。
これは突破されるケースが最近増えていますが、基本的には入れておくべきだと思います。
・IP制限(海外アクセス遮断)
.htaccess やプラグインで海外IPを弾く方法もある。
まとめ
英語のスパム問い合わせが増えたとき、
もっともコストが低く、効果が高いのが
「ふりがな必須+日本語入力限定」
というシンプルな方法です。
海外ボットは日本語文字を入れられないため、
結果的にスパムがほぼゼロになります。
Contact Form 7 の正規表現(pattern)機能を使うことで、
複雑なコードを書かずに実装できる点もメリットです。


