Guide
問い合わせフォームのスパムを減らす
スパムの典型パターンと、項目設計・確認画面・サーバー側でできる対策を整理します。
先に結論
お問い合わせフォームのスパムは、「項目を増やす」「確認画面を置く」「サーバー側で機械っぽい送信を弾く」の組み合わせでかなり減らせます。 完全にゼロにはできませんが、本物の問い合わせが埋もれない状態には近づけます。
108.works のお問い合わせフォーム生成(Former)は、項目選択から PHP を作る無料ツールです。設置先のサーバーで動く前提で、下の対策を意識して設計すると効果が出やすいです。
よく来るスパムの型
現場でよく見るパターンです。どれか当てはまったら、対策を足すタイミングです。
- 英語の宣伝・リンクだらけ … 本文に URL が並ぶ、または「SEO」「backlink」などの定型文
- 名前とメールだけ埋めて本文が空 … 必須項目が甘く、機械が最短で送っている
- 同じ文言が短時間に何度も来る … 連投。レート制限やトークンがないと止まりにくい
- 全角・絵文字だけの意味不明な本文 … フィルター回避用のノイズ送信
「迷惑フォルダに入れる」だけでは、たまに来る本物の問い合わせも一緒に埋もれます。送信そのものを減らす方が先です。
フォーム設計でできること
1. 必須項目を適切に置く
名前・メール・本文の3点は、問い合わせ用途なら必須にしてよいことが多いです。項目が少なすぎると機械に優しいフォームになります。 逆に、電話番号を無理に必須にすると、本当に相談したい人が送れなくなるので、用途に合わせてください。
2. 確認画面を挟む
入力 → 確認 → 送信、の2段階にすると、単純なボットは通過しにくくなります。人間にとっても誤送信が減ります。 Former で確認画面ありの構成を選べる場合は、スパム対策としても有効です。
3. 「今すぐ営業したい人」向けの項目を増やしすぎない
URL 入力欄、会社名、予算など、営業スパムが埋めやすい欄が増えるほど、宣伝投稿の的になります。本当に必要な項目だけ残します。
4. プレースホルダだけで説明しない
ラベルと短い説明文があると、利用者は迷いにくく、機械的な空欄送信も減ります。「なんでも書いて」より「サイトのURLが分かれば書いてください」の方が、内容の質も上がります。
届いたあとで切り分ける
送信を減らす対策と並行して、受信側のルールも整えると楽です。ただし「怪しいものは全部捨てる」は本物も消えます。
- 件名にサイト名や「お問い合わせ」を固定する … メールクライアントのフィルタで拾いやすくなる
- 本文の先頭に「どのページから送られたか」を入れる … 営業スパムと本物の切り分けが速い
- 迷惑フォルダだけを見ない … 週に一度、受信箱以外もざっと見る運用にする
WordPress のプラグインフォームや外部サービス(Google フォームなど)に切り替える選択もあります。 既存サイトのデザインに合わせたい・サーバー上で完結させたい場合は、Former のような自前 PHP の方が向くことが多いです。
やってはいけないこと・やりすぎ注意
- CAPTCHA を最初から必須にする(利用者を減らすことがある。スパムが酷いときから段階的に)
- メールアドレスの「形式チェック」だけで安心する(スパムも正しい形式で来る)
- 受信を全部捨てるフィルタ(本物も消える)
- 個人情報を余計に取る(預かりが増えるだけで、スパム対策にはならない)
- 「スパム対策済み」とサイト上で大げさに宣伝する(効果の保証にはならない)
自分で試す順番
- いまのフォームを眺める 必須項目・確認画面・変な入力欄の有無を確認
- 必要なら作り直す Former で項目を選び、確認ありの構成を検討
- 設置後に自分で送ってみる 届くか、件名・本文が読みやすいかを確認
- まだ多いならサーバー側を足す ハニーポットや連投制限。難しければ相談
設置先が PHP を置けない(STUDIO、Wix、GitHub Pages など)場合は、別のフォーム手段が必要です。 どれが使えるかはFAQの設置条件も参照してください。