AIサマリー
お問い合わせフォームへのスパムは、チームの時間を浪費させ、ドメインの送信レピュテーションを損ない、サイトに悪意のあるリンクが混入するリスクをもたらします。こうしたスパムをブロックするのに、手作業は必要ありません。
このガイドでは、WordPressの問い合わせフォームへのスパムを防ぐための12のテクニックについて解説します。標準機能の有効化から、メールアドレスやIPアドレスによる常習的なスパム送信者のブロックまで、幅広く取り上げています。
コンタクトフォームスパムが危険な理由
お問い合わせフォームは、悪意のあるスパムプログラムの標的になりやすいものです。スパムボットがお問い合わせフォームを悪用してサイトに被害を与える主な手口は以下の通りです:
- 有害なリンクの送信:悪意のあるスパムボットが、お問い合わせフォームを利用して、マルウェアを含む可能性のあるリンクを送信してくることがあります。チームメンバーがそのようなリンクをクリックすると、WordPressサイトを含む組織全体がマルウェアに感染する恐れがあります。
- メール配信に関する問題:フォームが送信されるたびに通知メールが送信されます。スパム攻撃が発生すると、短期間で通常とは異なる大量のメールが送信される可能性があります。これにより、迷惑メールや大量送信に関するエラーが発生する恐れがあります。また、Gmailをはじめとする主要なメールプロバイダーでは、現在、フラグが立てられた送信元からのメールを一時的に保留にするのではなく、恒久的に拒否するようになっているため、ドメインの送信レピュテーションに長期的な悪影響を及ぼす可能性があります。
- サービス拒否(DoS):一部のボットは、フォームの送信制限に達するまで繰り返し送信を行うことに極めて長けています。DoSボットの目的は、短時間に大量のリクエストを送りつけてウェブサイトを機能不全に陥らせることです。これにより、サイトの表示速度が低下したり、一般ユーザーによるフォームの利用に支障をきたしたり、最悪の場合、サイトがダウンしたりする可能性があります。
- ハッキング:自動化されたブルートフォース攻撃プログラムは、ユーザーをハッキングすることを目的として、ユーザー登録やログインフォームを備えたサイトを標的にすることがあります。これは、アカウントの乗っ取り、情報漏洩、データ損失につながる可能性があるため、極めて危険です。
- 生産性の低下:サポート担当者が大量のスパム投稿を仕分けることに追われていると、実際のユーザーへの迅速な対応が難しくなります。生産性の低下はブランドの評判を損なう恐れがあり、結果として多くのコンバージョン機会を逃すことにつながります。
これらは、スパムがあなたのサイトに多くの問題を引き起こす可能性のある方法の一部です。
以下の方法では、お問い合わせフォームへのスパムを排除するための最適なツールと手法を紹介します。近年、AIによって生成されたスパム送信が大幅に増加しているため、最も効果的な対策としては、単一のCAPTCHAソリューションではなく、多層的な検知手法を採用することが挙げられます。
WordPressのコンタクトフォームスパムを止める方法
WordPressサイトでコンタクトフォームスパムに対抗するには、以下をお勧めします:
さあ、飛び込もう。
1.スパム対策が組み込まれた WordPress フォームプラグインを入手する
WordPressでコンタクトフォームのスパムを防ぐためにできる最も重要なステップは、強力なスパム防止機能を内蔵したプラグインを使用することです。
WordPressのフォームプラグインはたくさんありますが、多くは信頼できるスパム対策方法をサポートしていません。
お問い合わせフォームに直接組み込まれた自動スパム防止機能をお求めなら、WPFormsをお勧めします。
WPFormsは、後述するように、お問い合わせフォームへのスパムをブロックするための強力な機能を標準搭載したフォームビルダーです。その他にも様々な便利な機能が備わっており、詳細については当サイトのWPFormsレビューをご覧ください。
WPFormsをインストールしたら、WordPressのページにフォームを追加します。その後、利用可能ないくつかのアンチスパムメソッドから選択することができます。
まずは最も信頼性の高い選択肢から始めましょう。
2.WPFormsの最新のスパム対策を使用する
WPFormsは、スパムを検知・防止するために、組み込みの多層防御アプローチを採用しています。デフォルトではバックグラウンドで動作し、reCAPTCHAの代替手段として最も推奨されるソリューションです。
WPFormsでは、最新のスパム対策機能がデフォルトで有効になっており、バックグラウンドで自動的に動作してスパムをブロックします。設定画面にアクセスするには、WPFormsのビジュアルインターフェースから「設定」>「スパム対策とセキュリティ」を選択してください。

次に、「最新のスパム対策機能を有効にする」の横にあるトグルボタンがオンになっていることを確認してください。
この設定を有効にすると、スパムボットがスパム防御を発動したときにフォームが送信されないようになります。
また、WordPressのデータベースにスパムエントリーを保存するオプションもあり、送信内容を確認し、誤検出されたエントリーを簡単に回復することができます。
「送信までの最短時間を設定する」オプションもデフォルトで有効になっており、2秒に設定されています。ただし、この最短時間は任意の値に変更可能です。この設定により、人間がフォームに入力するのに通常かかる時間よりも早く送信されるのを防ぐことができるため、ボットによるフォーム送信を防ぐのに役立ちます。
WPFormsのスパム対策機能は、CAPTCHAを利用する他の方法よりもプライバシーに配慮しており、ユーザー体験を損なうことなく機能します。
3.reCAPTCHAを含める
WPFormsは、GoogleのreCAPTCHAなどのサードパーティ製スパム防止ツールにも対応しています。これは強力なスパム対策ですが、設定には「方法2」で説明した組み込みの保護機能を有効にする場合よりも、いくつかの手順が追加されます。
ビデオでプロセスのデモを見るか、ステップ・バイ・ステップの説明を読み続けることができる。
現在、3種類のreCAPTCHAがあります:
- チェックボックス型 reCAPTCHA v2:このバージョンの reCAPTCHA にはチェックボックスがあり、ユーザーはボットではないことを確認するためにこれをクリックする必要があります。ユーザーの行動に不審な点が見られる場合、本物のユーザーであることを確認するために、簡単な画像認証テストを行うよう求められることがあります。
- Invisible reCAPTCHA v2:Invisible reCAPTCHAでは、ユーザーにはチェックボックスが一切表示されません。その代わりに、このreCAPTCHAサービスがユーザーの行動を分析し、ボットを識別してブロックします。
- reCAPTCHA v3:上記の2つのサービスでは時折画像による認証が表示されることがありますが、reCAPTCHA v3はバックグラウンドで完全に静かに動作します。これは高度なスパム防止ツールですが、感度がやや高すぎるため、時折人間のユーザーをブロックしてしまうことがあります。
フォームにreCAPTCHAを追加するには、WordPressの管理画面を開き、WPForms " Settingsに進みます。

WPFormsロゴの下の横棒にあるCAPTCHAタブをクリックします。

このページはWPFormsで利用可能なCAPTCHAオプションを表示します。reCAPTCHAを選択してください。

ここで、設定したいreCAPTCHAのバージョンを選択します。Invisible reCAPTCHA v2が使いやすいのでおすすめですが、他のオプションも選択できます。

reCAPTCHAを設定するには、新しいブラウザのタブでreCAPTCHAのサイトにアクセスし、Admin Consoleをクリックする必要があります。

プロンプトが表示されたら、Googleアカウントにログインします。ログイン後、サイトのドメイン名を入力して登録し、reCAPTCHAの種類セクションで希望のreCAPTCHAを選択します。
次に、ウェブサイトのドメイン名を ドメイン の後に続く部分のみを入力するようにしてください。 https:// をURLに入れてください。

次に、reCAPTCHAの利用規約に同意し、通知を受け取りたい場合はアラートにチェックを入れます。

「送信」をクリックして設定を保存してください。すると、ドメインが登録されたことを知らせるメッセージが表示され、その下にサイトキーとシークレットキーが表示されます。

WPForms " 設定ページを開いているブラウザのタブに切り替え、対応するフィールドにreCAPTCHAサイトとシークレットキーをコピー&ペーストしてください。

Save Settingsボタンを押して、reCAPTCHAの設定を完了します。
フォームにreCAPTCHAフィールドを追加するには、WPFormsのドラッグアンドドロップインターフェイスを使ってフォームにフィールドを配置するだけです。

これでフロントエンドに reCAPTCHA バッジが表示され、フォームに reCAPTCHA スパム防止機能が追加されたことを示します。

次に、もう一つの人気のあるスパム防止サービスを見てみよう。
4.フォームで hCaptcha を使う
hCaptchaはGoogleのreCAPTCHAとよく似ていますが、よりプライバシーに配慮したスパムブロックサービスです。hCaptchaはGoogleのreCAPTCHAとよく似ていますが、よりプライバシーに配慮したスパムブロックサービスです。
hCaptchaサービスをWPFormsと連携させるには、WordPressダッシュボードから「WPForms」»「設定」に移動してください。

設定ページで、横のバーにある「CAPTCHA」タブをクリックしてください。

利用可能なオプションからhCaptchaを選択します。

前回と同様に、新しいブラウザのタブに切り替えてhCaptchaにアクセスし、サービスにサインアップしてください。

次の画面で、hCaptchaのプランを選択してください。無料プランでも小規模なサイトなら十分に機能しますので、このチュートリアルでは無料プランを使用します。

プランを選択したら、hCaptchaアカウントを作成するためにフォームに記入してください。

登録手続きが完了し、ダッシュボードにログインしたら、「新しいサイト」ボタンをクリックして次に進んでください。

上部で、hCaptchaのサイトキーの名前を入力できます。その後、画面を下にスクロールして「基本情報」セクションに移動し、ドメイン名を入力してください。入力が完了したら、「新しいドメインを追加」をクリックしてください。

下にスクロールして、hCaptchaの動作モードを確認してください。ユーザーに常に課題を表示させるか、それともキャプチャをより控えめに表示させるかによって、さまざまなモードから選択できます。

次に、もう一度スクロールダウンして、「Passing Threshold」セクションに進みます。ここでは、キャプチャチャレンジの難易度を設定することができます。

ほとんどの場合、難易度「中程度」は、ユーザーエクスペリエンスを損なうことなく、スパム防止にそれなりに効果的です(必要であれば、後でいつでも変更できます)。
では、ページの上部までスクロールして、「保存」をクリックしてください。

次のページに進み、追加したサイトが表示されます。追加したドメインの横にある設定ボタンをクリックしてください。

設定の中で、Sitekeyまでスクロールダウンし、それをコピーする。

Sitekeyをメモ帳のようなテキストエディタに貼り付けてください。すぐに必要になります。
右上のプロフィールアイコンをクリックし、「設定」を選択します。

シークレットキーはここにあります。シークレットキーのコピーボタンをクリックしてください。

サイトキーとシークレットキーの両方が用意できたので、WPFormsのhCaptcha設定ページに戻り、それぞれのキーを対応するフィールドに貼り付けてください。

その後、「保存」をクリックして、WPFormsのhCaptcha設定を完了してください。
これで、WPForms を使ってフォームを作成するときにhCaptcha フィールドを使うことができます。

hCaptchaバッジがフォームの上部に表示されます。

このフォームは現在、hCaptchaによってスパムから保護されています。より詳しい手順については、hCaptchaを使用して問い合わせフォームにCAPTCHAを追加する方法に関するガイドをご覧ください。
5.Cloudflare Turnstileを使用する
Cloudflare Turnstileは、Google reCAPTCHAやhCaptchaに代わる、プライバシーを最優先にした無料の代替サービスです。完全に目立たない形で動作するため、訪問者がパズルを解く必要は一切ありません。
WPFormsのフォームに追加するには、ビデオを見るか、以下の手順に従ってください:
まず、WordPressのダッシュボードで「WPForms」»「設定」»「CAPTCHA」に移動し、プロバイダーの一覧から「Turnstile」を選択してください。
2つの空のキーフィールドが表示されます。次に、新しいタブを開き、Cloudflareアカウントにサインインして、「Turnstile」»「サイトを追加」を選択してください。
適切なフィールドに名前とサイトのドメインを入力します。
次に、ウィジェットの種類を選択してください(「管理対象」はほとんどのサイトで利用可能です)。
次に、「作成」をクリックして、サイトキーとシークレットキーを表示してください。
Cloudflareからサイトキーとシークレットキーをコピーし、WPFormsの設定画面の対応する入力欄に貼り付けてください。
必要であれば、ユーザーが Cloudflare Turnstile 検証チャレンジを完了せずにフォームを送信しようとしたときに表示される失敗メッセージを変更できます。また、ウィジェットのスタイルを選択し(ライト/ダーク/オートテーマを選択)、他のプラグインやテーマもTurnstileを読み込んでいる場合は、オプションで競合なしモードを有効にすることもできます。Save Settingsをクリックします。
どのフォームでもCloudflare Turnstileを有効にできるようになりました。ビルダーで任意のフォームを開き、Turnstileフィールドをフォームにドラッグするか、 「設定」>「スパム対策とセキュリティ」に移動して、「Cloudflare Turnstileを有効にする」のスイッチを切り替えてください。
隅にある小さなTurnstileバッジは、それがアクティブであることを確認する。
6.カスタムCAPTCHAを使用する
私たちはカスタムCAPTCHAの大ファンです。なぜなら、非常に効果的であり、実際のユーザーにとって少し厄介な画像ベースのチャレンジを必要としないからです。
WPForms ProのユーザはCustom CAPTCHAアドオンを取得することで、スパム防止のためにフォームに簡単な数学ベースのクイズやカスタムの質問と回答を含めることができます。
カスタムCAPTCHAを設定するには、フォームビルダーインターフェースを起動します。

次に、Fancy Fieldsセクションの下にあるCustom CAPTCHAフィールドを見つけます。まだCustom CAPTCHAアドオンをインストールしていない場合、このフィールドは半透明になっています。クリックすると、アドオンをインストールするよう促されます。

ポップアップが表示されたら、「はい、インストールして有効化する」をクリックして次に進んでください。

インストールは2~5秒で完了します。カスタムCAPTCHAアドオンがアクティブになると、ポップアップに成功のメッセージが表示されます。続行するには、[はい]、[保存して更新]をクリックします。

カスタム CAPTCHA フィールドをフォームにドラッグ&ドロップします。フォームに追加されたフィールドをクリックすると、その設定にアクセスできます。
ここでは、CAPTCHAのタイプ(数学またはカスタム質問と回答)を選択し、説明を追加することができます。

「数学」を選択すると、WPFormsはユーザーが正しく解答しなければならない簡単な算数の問題を自動的に生成します。スパムボットはこうした算数の問題に答えることができないため、このカスタムCAPTCHAは、お問い合わせフォームのスパム防止策として非常に効果的です。
また、CAPTCHAのタイプとして「質問と回答」を選択することもできます。これにより、質問を作成し、正解を設定することができます。

設定の質問フィールドの横にある青い(+)アイコンを使用して、複数の質問を追加できます。
変更が終わったら、必ずフォームを保存してください。
7.国とキーワードのスパムフィルターを有効にする
WPFormsでは特定の国からの投稿をブロックしたり、スパムであることが分かっている単語を含む投稿を拒否することができます。
任意のフォームでこれらのフィルターを有効にするには、ビルダーでそのフォームを開き、「設定」»「スパム対策とセキュリティ」をクリックしてください。

フィルタリングまでスクロールし、「国名フィルタを有効にする」または「キーワードフィルタを有効にする」をオンに切り替えます。
ドロップダウンを使用して、選択した国に対して許可または拒否を選択するか、ブロックされたキーワードを行ごとに追加します。
ブロックされた試みは、受信トレイに届く前に阻止されるため、正規のユーザーがエラーメッセージを目にすることはない。
8.テキストフィールド内のURLをブロックする
スパムボットの多くは、コンタクトフォームを通じてフィッシングリンクを配信するように設計されています。時には、あなたのフォームを使って悪意のあるリンクを送信する本物の人間もいるかもしれません。ご存知の通り、CAPTCHAやフォームトークンでは本物の人間のスパマーを阻止することはできません。
そのため、フォームを通じて不審なリンクを受信している場合は、フォームフィールドでのURL送信を完全にブロックした方がよいでしょう。
PHPスクリプトを追加することで、フォームフィールドのURLをブロックすることができます。フォームにコードスニペットを追加する方法については、WPFormsのカスタムPHPを追加するチュートリアルを参照してください。
以下のコード・スニペットを使って、フォームの1行テキスト・フィールドと段落テキスト・フィールド内のURLをブロックしてください。
上記のコードをフォームに追加すると、ユーザーがテキストフィールドにリンクを送信しようとした場合、WPFormsは "No URLs allowed "エラーを表示します。
9.アンチスパムWordPressプラグインを使用する
WordPressにはいくつかの強力なスパム対策プラグインがあります。これらのプラグインのほとんどは、スパムに繰り返し現れる単語のパターン、一般的なリンク、メールアドレス、さらにはユーザーやボットのIPアドレスなど、既知のスパムコンテンツのデータベースをスキャンすることで動作します。
WordPressでよく使われているスパム対策ツールには、AkismetやJetpackなどがあります。これらのプラグインはサイト全体で機能するため、お問い合わせフォームへのスパムを抑制するだけでなく、ブログへのスパムコメントも減らすことができる点に留意してください。
特にAkismetをお勧めします。WPFormsにはAkismetとのネイティブ連携機能が標準で備わっているためです。この連携機能を有効にすれば、WordPressのお問い合わせフォームにおけるスパムを効果的にフィルタリングできます。なお、Akismetの無料プランは個人での非商用利用に限定されています。ビジネスサイトや商用サイトでは、Akismetの有料プランが必要となります。Jetpackのスパムフィルタリング機能も有料機能であり、単体のアドオンとして、あるいはJetpackの有料プランの一部として利用可能です。
これらのスパム対策用WordPressプラグインを、前述のその他の対策と併用することで、サイト全体のセキュリティを強化できます。
10.スパマーを繰り返すメールアドレスをブロックする
人間のスパマーをフィルタリングする場合、メールアドレスフィールドは非常に便利です。人間のスパマーはCAPTCHAやフォームトークンを簡単に回避することができるため、スパマーをブロックするための特別な安全策が必要です。
ウェブサイトが同じようなメールアドレスから頻繁にスパムを受信している場合、疑わしいメールアドレスをブロックすることが有効です。
メールアドレスをブロックするには、WPFormsのEmailフィールドをクリックします。次に、左側のペインでAdvancedタブを選択します。
画面を下にスクロールし、「許可リスト/拒否リスト」のドロップダウンをクリックして、「拒否リスト」を選択してください。

Denylistオプションの下にあるボックスに、投稿をブロックしたいメールアドレスを追加することができます。複数のメールアドレスをカンマで区切って入力することができます。
アスタリスク*を使用すると、部分的に一致するメールアドレスをブロックすることができます。
例えば、メールドメインの前にアスタリスクを使用する(例えば *@domain.com) により、そのドメインのすべてのメールアドレスからのエントリー送信が制限されます。
また、特定のユーザー名で始まるメールアドレスの後にアスタリスクを付けてブロックすることもできます。 example*).
これらのルールは、同じドメインやユーザー名のメールアドレスからスパムを受信している場合に最適です。
ブロックリストを作成したら、必ずフォームを保存してください。
11.新規ユーザーにEメール認証を要求する
メールによる確認を義務付けることで、スパマーが偽のメールアドレスを使って登録することを防ぎます。確認リンクにアクセスできないユーザーは、登録を完了することができません。
WPFormsでは、新規ユーザーがアカウントを登録する前にEメール認証を設定することができます。
メール認証機能を追加するには、WPForms インターフェースの左側のペインから「設定」»「ユーザー登録」をクリックしてください。
注:これらの設定を利用するには、WPForms用の「ユーザー登録」アドオンが必要です。お持ちでない場合は、ユーザー登録フォームの作成方法をご確認ください。

次に、「ユーザー登録を有効にする」をクリックします。

Enable User Activationトグルボタンを有効にします。

新しいメニューが表示され、アクティベーションのタイプをユーザーEメールに選択できます。
これで、ユーザーが当サイトでアカウント登録を行う際には、登録用リンクを受け取るために有効なメールアドレスを入力する必要があります。つまり、偽のメールアドレスを使ったユーザーからのスパムメールは一切届かなくなります!
12.スパムIPアドレスのブラックリスト
プロキシやVPNサービスを使えばIPアドレスを詐称するのは簡単なので、スパム発信者のIPアドレスをブロックするのは、このリストの他の方法ほど効率的ではない。
しかし、スパマーがあなたのサイトに何度も戻ってくるパターンに気づいたら、そのIPアドレスをブロックしてWordPressサイト全体へのアクセスを拒否することができます。
IPアドレスでユーザーを制限するには、WordPressのダッシュボードから「設定」»「コメント」に移動し、「許可しないコメントキー」の欄にブロックしたいIPアドレスを入力してください。ブロックするIPアドレスが複数ある場合は、各IPアドレスを新しい行に追加するようにしてください。

しかし、そもそもスパマーのIPアドレスをどうやって見つけるのか?そのためには {user_ip} スマートタグをWPFormsのメール通知コンテンツに追加します。
これで、フォーム送信に対するEメール通知を受け取ると、Eメールの内容にそのIPアドレスが含まれるようになります。
似たようなIPアドレスからスパムエントリーが来ていることに気づいたら、それをメモして、上記のようにWordPressのIPブロックリストに追加するだけです。
万が一WPFormsがメールを送信できない場合は、トラブルシューティングの手順をまとめた専用ガイドをご用意しています。
このガイドが、皆様のサイトにおけるお問い合わせフォームへのスパム対策に役立つことを願っています。
次に、パスワードリセットメールのベストプラクティスを適用する。
サイトにパスワードリセットフォームがある場合、明確で安全なパスワードリセットメールを設定する必要があります。重要なヒントについては、パスワードリセットメールのベストプラクティスに関する記事をご覧ください。
また、メール配信率を向上させたい場合は、メールサブドメインについての記事と、なぜサブドメインを使うべきかをご覧ください。
メールを修正する準備はできていますか?最高のWordPress SMTPプラグインで今すぐ始めましょう。メールを修正する時間がない場合は、追加購入としてWhite Glove Setupのフルサポートを受けることができます。
この記事がお役に立ちましたら、Facebookや TwitterでWordPressのヒントやチュートリアルをご覧ください。
