WordPressを使ってWebサイトやブログを作成している人は多いと思いますし、問い合わせフォームを設置するときには、Contact Form 7のプラグインを利用していると思います。私も実際に、WordPressでサイトを運営しており、問い合わせフォームはContact Form 7を利用しています。
問い合わせフォームを設置するとスパムで色々な嫌がらせがあったりするので、スパム対策は必ず行ったほうが余計な心配をしてなくてもすむようになります。
Contact Form 7の使い方や、カスタマイズ方法などについては、以下の記事で紹介しておりますので、そちらの手順をご覧ください。
今回は、WordPressの問い合わせフォームプラグインの「Contact Form 7」のスパム対策として3つの方法をご紹介しますので、自分に合った対策を施しましょう。
スパム対策①:reCAPTCHAを導入した方法
reCAPTCHAはWebフォームを設置したときに送られるスパムメールから自分のWebサイトを守るサービスです。
Googleが無料で提供しているので、安心して使用できます。
以前はreCAPTCHA v2が主に使われていましたが、現在はreCAPTCHA v3が使用されています。
reCAPTCHAのメリット・デメリット
[aside type=”boader”]メリット
・無料で使える
・設定が簡単に行える
・スパムの回避率が高い
[/aside]
[aside type=”boader”]デメリット
・Googleアカウントが必要
[/aside]
Googleアカウントが必要となりますが、スパム回避率が高いサービスを無料で使えるので、とても使いやすくおすすめです。
reCAPTCHAの設定方法
reCAPTCHAにアクセスし、「v3 Admin Console」をクリックして、以下のように必要な項目を埋めていきます。
ラベル名はお好きな名前で大丈夫です。もし思いつかなければサイト名にしておけば問題ありません。
reCAPTCHAタイプは「reCAPTCHA v3」を選択します。
ドメインはサイトのドメイン名を記述してください。「○○.com」や「○○.net」などの形になります。
※「http://」や「https://」は不要です。
「reCAPTCHA利用条件に同意する」にチェックを入れ、送信ボタンを押します。
送信ボタンを押すと、Contact Form 7の設定に必要な2つのキーコードが表示されるので、メモ帳などにコピーしておきます。
※2つのキーコードが第三者にバレた場合、悪用される可能性があります。誰にも知られないように管理してください。
Contact Form 7での設定
次にContact Form 7での設定を行います。
ダッシュボードから「お問い合わせ」→「インテグレーション」を選択します。
reCAPTCHAの「インテグレーションのセットアップ」をクリックします。
先ほどコピーしておいた2つのキーコードを入力し、「変更を保存」をクリックします。
設定が問題なく完了した場合、Webサイトの右下に保護マークが表示されますので、無事スパムメールが回避されます。
下記のようにエラーが発生した場合、設定が間違っている可能性がありますので以下をご確認ください。
- ドメイン名が間違っていないか
- 2つのキーコードを正しく入力したか
reCAPTCHAをフォームだけに表示させる
上記の手順で、reCAPTCHAの設定が完了しました。
しかし、このままでは全てのページでreCAPTCHAマークが表示されてしまいます。ページによっては本文とマークが重なってしまう場合もあり、何とかしたいと思う方もいらっしゃいます。
ここではお問い合わせフォームにのみ、reCAPTCHAマークを表示させる方法を説明します。
まずはContact Form 7での設定が必要なくなるので、「お問い合わせ」→「インテグレーション」→「reCAPTCHA」から「キーを削除」ボタンを押します。
reCAPTCHAマークを特定のページだけに表示させるには、プラグイン「Invisible reCaptcha for WordPress」が必要になります。
「プラグイン」→「新規追加」から「Invisible reCaptcha for WordPress」を検索し、インストールします。
有効化をすると、「設定」に「Invisible reCaptcha」が追加されるのでクリックします。
コピーしておいた2つのキーコードを挿入します。
また、バッジ位置はインラインにしておくのがおすすめです。
変更を保存します。
左にある「問い合わせフォーム」タブをクリックします。
「Contact Form 7の保護を有効化」にチェックを入れ、保存します。
無事お問い合わせフォームだけにreCAPTCHAマークが表示されました。
スパム対策②:規約承認同意のチェックボックスを入れる方法
Contact Form 7のみでスパム対策を行いたい場合、規約承認同意のチェックボックスを入れる方法があります。
他のサービスと組み合わせる必要がないので、非常に簡単に設定を行うことができます。
ただし、単純なロボットによるスパムは回避できますが、より複雑なプログラムや手動によるスパムメールを避けることは困難です。
規約承認同意のメリット・デメリット
[aside type=”boader”]メリット
・設定が非常に簡単
・無料で行える
[/aside]
[aside type=”boader”]デメリット
・スパムの回避率がそこまで高くない
[/aside]
規約承認同意の設定方法
WordPressのダッシュボードから「お問い合わせ」→「コンタクトフォーム」を選択し、チェックボックスを挿入したいフォームをクリックします。
テンプレートフォームから「承諾確認」を選びます。
必要な項目を記入していきます。
名前はお好きな内容で問題ありません。思いつかなければそのままで大丈夫です。
同意条件にはWebページに表示させたい文章を記述します。
今回は「サイトの規約に承認・同意します。」と表示させます。
オプションのチェックボックスは外しておき、承認同意がされていなければ、フォームを送信されないようにしておきます。
「タグを挿入」をクリックすると、以下のようにチェックボックス用のタグが挿入されます。
設定を保存し、確認してみます。
無事、規約承認同意のチェックボックスが表示されています。
スパム対策③:プラグインAkismetを使う方法
Akismetはスパムコメント対策用のプラグインで、Contact Form 7に設定することによって、スパムメールも対策することが可能です。
無料で使用することができますが、商用利用として利用したい場合、有料になります。
Akismetのメリット・デメリット
[aside type=”boader”]メリット
・WordPressに初めからインストールされている
・スパムコメントにも利用可能
・スパム回避率が高い
・APIキーを複数のサイトで使いまわせる
[/aside]
[aside type=”boader”]デメリット
・商用利用は有料
・Akismetのアカウントが必要
・設定が面倒
[/aside]
Akismetの設定方法
Akismetは、最新のWordPressでは初めからインストールされているので有効化しておきます。
もし入っていなければプラグインの新規追加からインストールします。
有効化をすると、ダッシュボードの「設定」に「Akismet Anti-Spam」が追加されるのでクリックします。
「Akismetアカウントを設定」をクリックします。
今回は無料で使える「Personal」を選択します。
Akismet Personalを無料で使うためには、右側のスライドバーをドラッグして0円にしてから、必要な項目を記入していきます。
メールアドレス、氏名、サイトのドメインを記入し、3つのチェックボックスをチェックして、ボタンを押します。
登録したメールアドレスに6桁のパスコードが届くので、入力してボタンを押します。
パスコードが無事通ると、WordPressで使うキーコードがメールで届くので、メモ帳などにコピーしておきます。
※このキーコードは第三者にバレると悪用される危険があるので、他の人に知られないように保管してください。
WordPressに戻り、Akismetの設定の「手動でAPIキーを入力」をクリックします。
ここに先ほど保存したキーコードを入力し、「APIキーを使って接続する」を押すと、Akismetの設定が完了します。
Akismetの設定が完了したら、次にContact Form 7のフォームを保護するために、特定のオプションを追加します。
フォームの編集画面に進み、以下のオプションを追加します。
- akismet:author:送信者の氏名を入力するところに追加します。
- akismet:author_email:送信者のメールアドレスを入力するところに追加します。
- akismet:author_url:送信者のWebサイトのURLを入力するところに追加します。
3つのオプションから1つでも設定されていれば問題ありません。
また、なるべく多くのオプションを追加すれば、より正確にスパム対策がされます。
Contact Form 7のスパム対策3つの方法のまとめ
WordPressの問い合わせフォームのプラグインである「Contact Form 7」のスパム対策を3つご紹介しました。1つ目はreCAPTCHAを導入した方法で、2つ目は、規約承認同意のチェックボックスを入れる方法、3つ目はプラグインのAkismetを使う方法です。
どの方法でも対策が可能ですし、併用してよりスパム対策を強固にするのでも構いません。
サイトを運営しているときにスパムがあると、時間と労力を取られるだけなので是非これを機会にスパム対策をして時間を有意義に使ってください。
コメント