Contact Form 7のスパムメール対策4つ
はじめに
「Contact Form 7」は非常に便利なWordPressプラグインですが、スパムメールを防ぐためにはいくつかの対策を講じることが必要です。以下にその方法をいくつか紹介します。
①CAPTCHAを使う:たとえば、reCAPTCHAはユーザーが人間であることを確認するためのサービスです。Contact Form 7はGoogleのreCAPTCHAと統合することができます。
②Akismetとの統合:Akismetは、WordPressがスパムを自動的にフィルタリングするためのプラグインです。Contact Form 7はこのサービスとも統合できます。
③Honeypotを使用する:Honeypotは、人間のユーザーには見えない、しかしスパムボットには見えるフィールドをフォームに追加します。スパムボットはこのフィールドに情報を入力するため、このフィールドが空でない場合、その送信は自動的にスパムと見なされます。
④Blacklistを使用する:IPアドレス、メールアドレス、ドメインなど、スパムを送信すると知られている情報をブラックリストに登録します。これらの情報からのメッセージは自動的にブロックされます。
これらの方法の一部または全部を使用して、Contact Form 7からのスパムメールの送信を効果的に防ぐことができます。しかし、完全にスパムをなくすことは難しいため、定期的にフォームの送信を確認し、新たなスパム対策を検討することも重要です。
①Contact Form 7でGoogleのreCAPTCHA v3を設定する手順
Contact Form 7でGoogleのreCAPTCHA v3を設定する手順は以下の通りです。
GoogleのreCAPTCHA v3のAPIキーを取得する
- GoogleのreCAPTCHAウェブサイトにアクセスします:https://www.google.com/recaptcha
- 右上の「Admin Console」ボタンをクリックします。
- Googleアカウントでログインします。
- 「ラベル」フィールドにサイトの名前を入力します(これは何でもかまいません)。
- 「reCAPTCHAのタイプ」で「reCAPTCHA v3」を選択します。
- 「ドメイン」フィールドにあなたのサイトのドメイン名を入力します(wwwは除きます)。
- 最下部の「送信」ボタンをクリックします。
- これで、サイトキー(Site Key)とシークレットキー(Secret Key)が生成されます。これらのキーは次のステップで必要になります。
Contact Form 7でreCAPTCHA v3を設定する
- WordPressのダッシュボードにログインします。
- 左側のメニューで「Contact」をクリックし、「Integration」を選択します。
- 「reCAPTCHA」セクションを見つけ、「Setup Integration」ボタン(または「Configure Keys」ボタン)をクリックします。
- 「Site Key」フィールドと「Secret Key」フィールドに、前のステップで取得したキーをそれぞれ入力します。
- 「Save Changes」ボタンをクリックします。
Contact Form 7のフォームにreCAPTCHAを追加する
- Contact Form 7のフォームを編集したい場合は、「Contact」→「Contact Forms」をクリックします。
- 編集したいフォームを選択します。
- フォームの最後に以下のショートコードを追加します:[recaptcha]
- 右側の「Save」ボタンをクリックします。
以上でContact Form 7のフォームにGoogleのreCAPTCHA v3が導入され、スパム送信を大幅に減らすことができます。
②Contact Form 7でAkismetを設定する手順
Contact Form 7でAkismetを設定する手順を詳しく説明します。
Akismetプラグインをインストール
- WordPressのダッシュボードにログインします。
- 「プラグイン」→「新規追加」を選択します。
- 検索ボックスに「Akismet」と入力し、検索します。
- 「Akismet Spam Protection」が表示されたら、「今すぐインストール」をクリックし、その後「有効化」をクリックします。
AkismetのAPIキーを取得する
- Akismetプラグインが有効化されたら、左側のメニューで「設定」→「Akismet Anti-Spam」を選択します。
- 「Get your API key」ボタンをクリックします。
- Akismetウェブサイトにリダイレクトされるので、必要な情報を入力し、APIキーを取得します。
AkismetのAPIキーをWordPressに設定する
- WordPressのダッシュボードに戻り、「設定」→「Akismet Anti-Spam」を選択します。
- 「APIキーの入力」欄に、先ほど取得したAkismetのAPIキーを入力し、「変更を保存」をクリックします。
Contact Form 7でAkismetを使用するように設定する
- 左側のメニューで「Contact」→「Contact Forms」を選択します。
- スパム対策を適用したいフォームを編集します。
- 「Form」タブで、対象となるフィールド(通常はemailやnameなど)にakismetを追加します。たとえば、メールアドレスのフィールドが[email* your-email]であれば、これを[email* your-email akismet:author_email]に変更します。同様に、名前のフィールドが[text* your-name]であれば、これを[text* your-name akismet:author]に変更します。
- 「Save」をクリックして変更を保存します。
これにより、Contact Form 7のフォームがAkismetと連携して、スパムを自動的にフィルタリングするようになります。
③Contact Form 7でHoneypotを設定する手順
HoneypotをContact Form 7で使用するには、「Contact Form 7 Honeypot」プラグインを使うのが一般的です。以下にその手順を説明します。
Contact Form 7 Honeypotプラグインをインストール
- WordPressのダッシュボードにログインします。
- 左側のメニューで「プラグイン」→「新規追加」を選択します。
- 検索ボックスに「Contact Form 7 Honeypot」と入力し、検索します。
- 「Contact Form 7 Honeypot」が表示されたら、「今すぐインストール」をクリックし、その後「有効化」をクリックします。
Contact Form 7のフォームにHoneypotフィールドを追加
- 左側のメニューで「Contact」→「Contact Forms」を選択します。
- Honeypotを追加したいフォームを編集します。
- 「Form」タブの中に、新しいフィールドを追加します。フィールドの追加ボタンのところに「Honeypot」が追加されているはずです。それをクリックします。
- フィールド名を入力し、「Insert Tag」をクリックします。これにより、Honeypotフィールド(例:[honeypot honeypot-123])がフォームに追加されます。
- 「Save」をクリックして変更を保存します。
これで、Honeypotフィールドがフォームに追加されました。このフィールドは通常のユーザーには見えませんが、スパムボットには見えます。スパムボットがこのフィールドに情報を入力すると、その送信はスパムとして認識され、ブロックされます。
④Contact Form 7でBlacklistを設定する手順
WordPressには内蔵のコメントブラックリスト機能がありますが、これは主にコメントのスパム対策のためのものです。フォームからのスパムメールを防ぐためには、特定のプラグインを使用するのが最善の方法です。特に、IPやメールアドレスをブラックリストに登録することができるプラグインがいくつかあります。
以下に、一例として「WP-Ban」プラグインを使用してIPアドレスをブラックリストに登録する手順を説明します。
WP-Banプラグインをインストールする
- WordPressのダッシュボードにログインします。
- 左側のメニューで「プラグイン」→「新規追加」を選択します。
- 検索ボックスに「WP-Ban」を入力し、検索します。
- 「WP-Ban」が表示されたら、「今すぐインストール」をクリックし、その後「有効化」をクリックします。
WP-BanでIPアドレスをブラックリストに登録する
- 左側のメニューで「設定」→「Ban」を選択します。
- 「Banned IPs」フィールドにブロックしたいIPアドレスを入力します。
- 必要に応じて、「Banned Host Names」「Banned Referers」「Banned User Agents」も設定します。
- 「Save Changes」をクリックして変更を保存します。
これにより、指定したIPアドレスからのアクセスがブロックされます。ただし、この方法では特定のIPアドレスしかブロックできないため、スパム送信者がIPアドレスを頻繁に変更する場合には効果が限定的になります。そのような場合は、他の対策(reCAPTCHA、Akismet、Honeypotなど)と組み合わせて使用することをおすすめします。
まとめ
ワードプレスでサイトを構築する際のスパム対策は多岐にわたります。まず、コメントスパム対策として、設定でコメント承認を必要とするようにしたり、特定のキーワードを含むコメントを自動的にスパムと認識するように設定することが有効です。さらに、アカウント作成スパムに対しては、ユーザー登録の際にキャプチャを使用するなどの手段が考えられます。
また、サイトのコンタクトフォームからのスパム送信を防ぐためには、フォームプラグイン(例えばContact Form 7)に組み込むことができるreCAPTCHAやAkismetなどのスパム対策ツールを活用することが有効です。これらはボットによる自動送信を防ぎ、スパムメッセージをフィルタリングする役割を果たします。
さらに、特定のIPアドレスやメールアドレスからのアクセスをブロックするためのブラックリスト機能を利用することも有効な手段となります。これは、特にスパム送信者が特定のIPやメールアドレスを使って頻繁にスパムを送信する場合に有効です。
これらの対策は全てのスパムを防ぐものではありませんが、それぞれが異なるタイプのスパムに対する防御策として機能します。適切な対策を選択し、状況に応じて調整することが、ワードプレスサイトを運営する上でのスパム対策の鍵となります。