サイトを運営しているとスパムメールを受け取ることがあります。メールアドレスをプロフィールページなどに記載表示するのではなく、問い合わせフォームを設置するとボットでメールアドレスを読み取って自動的に送信されるスパムメールを減らす効果が得られます。
コンタクトフォームを備えているサイトも多いので、ユーザーにとっても馴染み深く(違和感がないため)、問い合わせをしやすいなどの利点もあります。
しかし、スパムの手口も巧妙になっているため、コンタクトフォームであれば、スパムメールを防止できるというわけではありません。スパム対策は出来るだけしておくことに越したことはありません。
本記事では、簡単な操作で人間とボットの識別を行う機能を持つGoogleのreCAPTCHAの特徴と問い合わせフォームに追加する手順を紹介します。
目次 - Table of Contents
reCAPTCHAとは
Googleは、reCAPTCHAという名のスパムや不正操作などからサイトを守るサービスを無料で提供しています。reCAPTCHAのコンセプトは、簡単なテストを行って人間とボットを識別するプログラムです。テストは、人間には簡単に回答でき、ボットには難しい様に作られています。reCAPTCHAをサイトに加えることで、自動化されたソフトウェアからのアクセス・乱用を防止することができます。
[目次に戻る ]
reCAPTCHAの種類
reCAPTCHAにはいくつかのバージョンがあります。reCAPTCHAを備えたサイトで、コメントや問い合わせフォームを送付する操作を行う際、以下の様な認証チェックボックスが表示されます。
バージョン1(第一世代)
表示される文字や数字の組み合わせを入力するテストです。
バージョン2(第二世代)
”私はロボットではありません”の左のボックスをチェックすると写真が表示され、質問に該当する写真を選ぶテストです。下はテストの例です。道路標識が含まれている部分(四角部)を選んで、認証を行います。(答えを選んで、下のボタンを押します。)
既にユーザーが人であると識別できている時は、テストは省略され、「私はロボットではありません」を押すだけで完了します。
v2でも、たまに失敗して、何度もテストに答えたことがありますが、v1に比べるとかなり操作しやすく(写真を選ぶだけ)、答えやすくなっていると思います。
以下は認証テストの例のYouTubeです。
[目次に戻る ]
バージョン3 (第三世代)
2016年12月、Googleは第三世代のInvisible reCAPTCHAをリリースすることを発表しました。第三世代のreCAPTCHAは、自動的に人間とロボットの識別を行います。これまでのようなテストは行う必要がありません。(設定直後や状況によっては、第2世代と同様の認証テストを行う場合があります。)現在、ベータリリース中です。(2017年第二四半期からInvisible reCAPTCHAは正式リリースされました)
コンタクトフォーム 7 にreCAPTCHAを追加する方法
コンタクトフォーム 7は、第二世代のreCAPTCHAを追加する機能が予め備えられています。簡単にreCAPTCHAの追加ができます。
Google reCAPTCHAの登録
reCAPTCHAを利用するためには、サイトの登録を行う必要があります。Google reCAPTCHAの管理ページから手続きを行います。
管理ページのリンクをクリックすると、以下のサイトの登録欄が表示されます。
ラベルの欄に登録名、Domainsにドメイン名(一行ごとにドメイン名)を入力します。
例:
Label: Blogging Life
Domain: blogging-life.com
入力し終わったら、画面右下の青の[Register](登録)ボタンを押します。
[目次に戻る ]
サイトキーとシークレットキーを取得
reCAPTCHAを利用するための情報が表示されます。利用方法のステップも紹介されていますが、WordPressのContact Form 7に使う場合は、キーの情報のみ必要となります。
Site keyとSecret keyを控えておきます。
[目次に戻る ]
コンタクトフォーム 7にReCAPTCHAを追加
WordPressの管理画面のメニューにある[お問い合わせ]をクリックし、サブメニューの[インテグレーション]を選択します。
登録キーの設定
”他のサービスとのインテグレーション”の下にreCAPTCHAと表示されています。[キーを設定する]ボタンを押します。
reCAPTCHAのサイトキーとシークレットキーの入力欄が表示されます。上で紹介したGoogle reCAPTCHAにサイトを登録した時に表示されたサイトキーとシークレットキーをそれぞれ入力します。
キーを入力し終わったら、青の[保存]ボタンを押します。
[目次に戻る ]
コンタクトフォームの編集
管理メニューの[お問い合わせ]の下の[コンタクトフォーム]をクリックします。
reCAPTCHAを加えるコンタクトフォーム・ファイルをクリックします。
[目次に戻る ]
reCAPTCHA タグをフォームに挿入
フォームのコードが表示されます。ここでは例として、送信ボタン[submit “送信”]の上にreCAPTCHAを追加します。コードを追加する場所を指定して(カーソルを置いて)、フォーム編集画面の中に表示されている[reCAPTCHA]のボタンを押します。
フォームタグ生成の設定画面が表示されます。ここではデフォルトの状態で追加します。(テーマが暗色系出れば、暗いを選んだり、小さいサイズをお好みで選択します。)
右下の青色の[タグを挿入]ボタンを押します。以下の画像のようにフォームにreCAPTCHAのタグが挿入されます。(下の画面矢印で示した箇所)
タグを配置し終わったら、画面左下の青の[保存]ボタンを押します。
[目次に戻る ]
コンタクトフォーム reCAPTCHA 追加の表示確認
サイトをブラウザで表示して、コンタクトフォームにreCAPTCHAが追加されているか確認します。メッセージ本文と送信ボタンの間に、reCAPTCHAのボックスが表示されています。
フォームに入力して、無事動作するか確認すれば、作業は完了です。
説明は長くなってしまいましたが、作業自体は比較的シンプルです。Contact Form 7は、この様な拡張機能も簡単に行える優れたプラグインだと思います。サイトの安全性の観点から、スパムボットからの防止力を高めるreCAPTCHAの導入をお勧めします。
[目次に戻る ]
ありがとうございます!大変参考になり出来ました!?
ひとつだけもやもやしております。
コンタクトファームにreCAPTCHAタグがなくそこからの作業はしてないのですが、
問い合わせページ右下に例のマークがあり、スパムは来なくなりました。
そこは記事よりもreCAPTCHAが進化してやらなくてもよくなったのでしょうか?
よろしくお願いいたします。
はじめまして。
すみません。先にお断りしますと、この記事は古い情報を元にしています。コンタクトフォーム 7のバージョンが古い場合は該当しますが、最近のバージョンの場合は使用するreCAPTCHAのバージョンは3のみとなり、[recaptcha]のタグの入力も必要なくなりました。
問い合わせページを表示した時にreCAPTCHAのロゴが表示されているのであれば、reCAPTCHAが動作していることを示しています。恐らく問題なく設定されているように思います。
以下のページに更新した情報と設定手順を紹介しております。併せてご覧いただければ幸いです。
Contact Form 7 にreCAPTCHA v3を設定する方法