Contact Form 7 のスパム対策 迷惑な送信を見分けて減らす方法

公開

目次(5つの節)
  1. 01届いている「スパム」は2種類ある
  2. 02Contact Form 7 の公式サイトが案内している対策
  3. 03対策が最初から入ったフォームを貼るという方法
  4. 04止められなかった送信を、届いたあとに片付ける
  5. 05気をつけたいこと・向かない場面

WordPress のお問い合わせフォームに、英語の広告や意味のない文字の並んだ送信が毎日のように届く。「contact form 7 スパム対策」「wordpress お問い合わせフォーム スパム対策」と検索する人の多くは、こうした送信に困っています。

この記事では、まず届いているのがどんな送信かを見分け、Contact Form 7 の公式サイトが案内している対策を整理します。そのうえで、対策が最初から入っているフォームを WordPress のページに貼る方法と、どの方法でも防ぎにくい送信について書きました。

届いている「スパム」は2種類ある

お問い合わせフォームに届く迷惑な送信は、大きく分けて2つあります。どちらかによって、効く対策が変わります。

迷惑な送信の種類と、効きやすい対策
種類見分け方の目安効きやすい対策
プログラムが自動で送るもの英語や意味のない文字・リンクだらけの文章が、夜中も含めて何件も続けて届くボットの確認(Turnstile・reCAPTCHA)、見えない入力欄(honeypot)、送信回数の制限
人が手で送るもの日本語で読める営業・売り込みの文章。会社名や名前もそれらしく書いてある仕組みで止めるのは難しい。言葉や送信元で断る設定か、届いたあとの仕分け

人が手で送る営業の問い合わせは、ふつうのお客さまと同じ手順で送られるので、ボットの確認では止まりません。まずは、困っているのがどちらなのかを、届いた送信を何件か見て確かめておくと、対策を選ぶときに迷いません。

Contact Form 7 の公式サイトが案内している対策

Contact Form 7 の公式サイトでは、いくつかの迷惑な送信の対策が紹介されており、種類の違うものを組み合わせて使うことが勧められています。主なものは次のとおりです。

Cloudflare Turnstile との連携

Cloudflare のボット対策です。Cloudflare でサイトのキーと秘密のキーを作り、WordPress の管理画面の「お問い合わせ」→「インテグレーション」の Turnstile の欄に貼ると、すべてのフォームに確認が入ります。公式サイトでは、無料で使えることから、reCAPTCHA を使う理由がなければ Turnstile が勧められています。

reCAPTCHA v3 との連携

Google のボット対策です。画面に確認のチェックを出さず、裏で送信の怪しさを点数にし、点数が基準より低い送信をボットからのものとして扱います。ページの右下に reCAPTCHA のマークが出ます。

Akismet

WordPress に最初から入っているプラグインで、送られた内容を Akismet のサービスで調べ、迷惑な送信と判定されたらメールを送らずに止めます。使うには API のキーが要り、公式サイトでは、個人のブログは無料、会社や商用のサイトは有料のプランと案内されています。フォームの名前やメールアドレスの項目に Akismet 用の指定を書き足す必要があります。

拒否リスト(コメントの禁止キー)

WordPress の「設定」→「ディスカッション」の「コメント拒否リスト」に、1行に1つずつ言葉や IP アドレスを書くと、それを含む送信や、そのアドレスからの送信が迷惑な送信として扱われ、メールが届かなくなります。人が手で送る営業の問い合わせのように、ボットの確認では止まらない送信に使えます。

クイズ

「日本の首都は?」のような簡単な問いをフォームに置き、正しく答えないと送れないようにする機能です。問いと答えは自分で決められます。

対策が最初から入ったフォームを貼るという方法

キーの発行やプラグインの設定に手間をかけたくない場合は、お問い合わせフォームそのものを外のサービスで作り、WordPress のページに貼る方法もあります。LEXORA Forms のフォームには、次の対策が最初から入っていて、作る側で設定することはありません。いたずら送信を自動でブロックは、すべてのプランで使えます。

  • Cloudflare Turnstile によるボットの確認。ふだんは画面に何も出ず、怪しい送信のときだけ「送信する」の手前に確認が出ます。ふつうの回答者は何もしなくても送れます
  • 人には見えない入力欄(honeypot)。見えない欄に何かを入れて送ってきたものは、プログラムからの送信として、保存もメールもしません
  • 送信回数の制限。同じフォームに同じ回線から短い時間に大量に送られたら止めます。会場の Wi-Fi などで大勢が同じ回線から一斉に答えても受け付けられる回数にしてあります
  1. 1

    お問い合わせフォームを作る

    メールアドレスか Google アカウントで登録し、お問い合わせフォームのテンプレートから作ると、名前・メールアドレス・内容などの項目が最初から入っています。今の Contact Form 7 のフォームに合わせて、項目を足したり消したりします。
  2. 2

    お知らせを確かめて、公開する

    上部のバーの「通知設定」の「あなたへの回答通知」で、「回答が届いたらメールで知らせる」にチェックが入っていることを確かめます(最初から入っています)。新しい回答のお知らせは登録したメールアドレスに届きます。新しいフォームは非公開(下書き)で作られるので、「公開する」を押します。
  3. 3

    「共有」の画面で埋め込みのコードをコピーする

    「ホームページに埋め込む」の「高さを自動で合わせる(おすすめ)」のコードをコピーします。
  4. 4

    WordPress のページに貼る

    お問い合わせのページを編集し、Contact Form 7 のショートコードのブロックを消して、「カスタム HTML」のブロックを足し、コピーしたコードを貼ります。公開したら1件送ってみて、お知らせが届くことを確かめます。

貼り替えたあと、Contact Form 7 のフォームを使うページがほかになければ、プラグインを止めることもできます。止める前に、共有のコードがお問い合わせのページで動いていることを確かめておきます。

止められなかった送信を、届いたあとに片付ける

どの方法を使っても、人が手で送る営業の問い合わせを仕組みだけで止めることはできません。LEXORA Forms には、Contact Form 7 の拒否リストのように、回答の言葉や送信元で断る機能もありません。代わりに、届いたあとに手早く片付けられるようにしてあります。

  • 一覧で仕分ける。届いた問い合わせは回答の一覧に残ります。回答ごとに対応状況とメモを付けられ、状況の名前は自分で決められます(最初は「未対応」「対応中」「完了」「キャンセル」)。「営業」のような状況を足しておけば、返事の要らない送信を分けておけます
  • 探して消す。キーワードで探すと、同じ文面の営業の送信をまとめて見つけられます。不要なものは1件ずつ削除できます(消しても、その月の回答数の枠は戻りません)
  • 同じアドレスからの2件目を断る。受付設定の重複の防止でメールアドレスの設問を選ぶと、同じアドレスでの2件目は受け付けません。同じ相手から何度も送られるときに使えます。ただし、お客さまが続けて別の相談を送ることもできなくなるので、お問い合わせのフォームでは様子を見て決めます

気をつけたいこと・向かない場面

  • サイトとまったく同じ見た目にはなりません。フォームは枠(iframe)の中に表示されます。色や角の丸み、書体はデザインで選べますが、細かな飾りまでサイトにそろえたい場合は Contact Form 7 のほうが向いています
  • 言葉や送信元で断りたい場合は向きません。特定の言葉を含む送信を受け付けないようにしたいなら、Contact Form 7 の拒否リストを使うほうが合っています
  • 無料プランでは、埋め込んだフォームにも LEXORA の表示が入ります。表示を消せるのは Light プランからです(LEXORA の表示)
  • 回答は LEXORA Forms のサーバーに保存されます。自分のサーバーの中だけで問い合わせを扱いたい場合は、この方法は合いません
  • 無料プランには上限があります。フォームは5個まで、回答はアカウント全体で月100件までです。止められなかった営業の送信も1件に数えます。詳しくは料金プランをご覧ください

相談の受付なら無料相談の申込フォーム、資料の送付の受付なら資料請求フォームからも始められます。

Contact Form 7 の内容は、公式サイトの「Cloudflare Turnstile integration」「FAQ about reCAPTCHA v3」「Spam filtering with Akismet」「Disallowed list」「Quiz」の各ページによる当社調べです(ウェブ・アーカイブに残る2025年4月〜2026年6月の記録を、2026年10月28日に確かめました)。設定の画面の名前は、お使いの版や言語の設定によって異なることがあります。

この記事で使えるテンプレート

中身を見て、そのまま自分のフォームとして作れます(無料)。

この記事に出てきた機能

無料で、今すぐ試せます

クレジットカードは要りません。登録は1分です。