WordPressでサイトを作り、お問い合わせフォームを設置した——。その途端に、英語だらけのメールや、意味の分からない海外からの営業メールが、1日に何通も届くようになった。そんな経験はないでしょうか。
これは、あなたのサイトが特別に狙われているわけではありません。公開されたフォームには、迷惑メール(スパム)が来て当たり前。問題は、それを放置してしまうことです。放っておくと、大切な本物の問い合わせが迷惑メールに埋もれ、対応する担当者も疲れ、「フォームなんて無い方がよかった」となりかねません。
今回は、「WordPress 迷惑メール対策」で調べている方に向けて、フォームに届くスパムを減らすための基本の設定と考え方を整理します。
なお「WordPressの迷惑メール対策」という言葉には、実は2つの意味があります。ひとつはフォームに“届く”迷惑メールを減らすこと。もうひとつは自社から“送る”メールが、相手に迷惑メール扱いされないようにすること。この記事は前者を中心に、後者にも最後に触れます。
なぜWordPressのフォームには迷惑メールが来るのか
まず知っておきたいのは、フォームに投稿しているのは、多くの場合“人間”ではなく“プログラム”だということです。
インターネット上には、世界中のサイトを自動で巡回し、見つけたフォームに片っ端から投稿していく「ボット」と呼ばれる自動プログラムが大量に存在します。宣伝リンクをばらまいたり、いたずらをしたりが目的で、相手が中小企業だろうと個人だろうとお構いなし。WordPressは世界でいちばん使われているCMSなので、フォームの作りも見破られやすく、格好の標的になりやすいのです。
つまり迷惑メール対策とは、「人間の悪意」ではなく「機械の自動投稿」をどう防ぐか、という話が中心になります。
まずやるべき、基本の迷惑メール対策
難しいプログラムの知識がなくても、フォームプラグインの設定でできる対策があります。まずはこの3つから始めましょう。
① CAPTCHA(reCAPTCHA / Turnstile)を入れる
「私はロボットではありません」のチェックや、信号機の画像を選ぶあれです。GoogleのreCAPTCHAや、Cloudflareの「Turnstile」といった仕組みをフォームに組み込むと、ボットの自動投稿を高い精度ではじけます。迷惑メール対策として、いちばん効果が大きく、最初に手を付けたい一手です。多くのフォームプラグインが連携に対応しています。
② ハニーポット(人間には見えない“罠”の項目)
フォームに、人間の目には見えない入力欄をこっそり仕込んでおく方法です。人は見えないので入力しませんが、ボットは律儀に全項目を埋めようとするため、そこに入力があった投稿を“機械”と判断して弾けます。訪問者の手間を増やさずに対策できるのが利点で、CAPTCHAと組み合わせると効果的です。
③ 入力条件やブロックルールを設定する
フォームプラグインには、迷惑メールを弾くための細かな設定が用意されていることがあります。たとえば、本文にURLリンクがいくつも含まれる投稿を拒否する、特定の単語やIPアドレスをブロックする、日本語の入力を必須にする、など。自社に届く迷惑メールのパターンに合わせて、少しずつルールを足していきます。
④ 「ひらがな」でしか通れない“関所”をつくる
これは日本語のサイトならではの、とても効果的な裏ワザです。海外から届くスパムの多くは、日本語を扱えないプログラムが自動で送っています。そこを逆手に取ります。
たとえば、フォームに「ふりがな」欄を設けて“ひらがなでの入力”を必須にする。あるいは、送信のときに「表示されたひらがなを入力してください」といった、ランダムなひらがなの確認項目を1つ加える。すると、日本語を打てないボットはこの関所を通れず、はじかれます。日本人の訪問者にとってはほんの一手間ですが、これだけで海外からの迷惑メールが大きく減ることがあります。プラグインや専門的な仕組みを使わずに、費用をかけずに試せるのも魅力です。
それでも減らないときの、次の一手
基本対策をしても迷惑メールがゼロになるとは限りません。そんなときは、次のような手を重ねます。
- スパムフィルタを追加する:Akismetのような、投稿がスパムかどうかを自動判定してくれる仕組みを導入する
- 使っていないコメント欄は閉じる:フォームだけでなく、WordPressの「コメント機能」もスパムの入口になりがち。使っていないなら思い切って無効化する
- 海外からのアクセスを制限する:日本国内向けのサイトなら、海外IPからの投稿に制限をかけるのも有効
- CAPTCHAの判定を厳しめに調整する:reCAPTCHAには、投稿の“あやしさ”をスコアで判定する仕組みもあり、しきい値を調整できる
大切なのは、「一度設定して終わり」ではなく、届く迷惑メールを見ながら少しずつ調整していくこと。迷惑メールの手口も変わっていくので、たまに見直すのがコツです。
「送ったメールが迷惑メール扱い」も、実は“迷惑メール対策”
ここまでは“届く”迷惑メールの話でしたが、もうひとつの「WordPress 迷惑メール対策」が、自社から送るメールが相手に届かない(迷惑メールフォルダに入ってしまう)問題です。
フォームの自動返信メールや管理者への通知メールが、受信側で迷惑メール判定されてしまうケースは珍しくありません。これには、差出人がサーバー既定の不自然なアドレスやWordPressのままになっていないか、SPF・DKIM・DMARCといった送信元を証明する設定が済んでいるか、正規の方法(WP Mail SMTPなどでの送信)でメールを送れているか、といった点が効いてきます。「フォームから送ったはずのメールが届かない」という声があれば、こちら側の対策も見直しどきです。
「設定が難しそう」「気づいたら迷惑メールだらけ」なら
reCAPTCHAの導入も、SPFなどの設定も、一つひとつは難しくありませんが、慣れていないと“どこを触れば安全か”が分かりにくいのも事実です。設定を間違えると、迷惑メールどころか本物の問い合わせまで届かなくなることもあります。
弊社では、ホームページの保守・管理サービスの一環として、WordPressの迷惑メール対策(フォームのスパム対策設定や、送信メールの到達性の改善)もお引き受けしています。「フォームが迷惑メールだらけで困っている」「大事な問い合わせが埋もれていないか不安」という段階からご相談いただけます。他社が制作したサイトでも対応可能です。詳しくはホームページ保守・更新・管理サービスのご案内をご覧ください。
まとめ:迷惑メールは「来る前提」で、仕組みで防ぐ
WordPressのフォームに迷惑メールが来るのは、避けられません。だからこそ、気合や手作業ではなく、CAPTCHAやハニーポットといった“仕組み”で防ぐのが正解です。
まずは基本の3つ(CAPTCHA・ハニーポット・入力条件)から。それでも多ければ次の一手を重ねる。そして、送るメールが迷惑メール扱いされていないかも、あわせて点検する。この積み重ねで、フォームは「迷惑メールの受け皿」から「ちゃんと問い合わせが届く窓口」に戻ります。