カワテです。
先日のことですが、
朝メールを開くと海外から大量のスパムメールがお問い合わせフォーム経由で届いていました。
こんな感じ。

まとめて5、60件。
仕事柄、海外のメールマガジンなんかもバンバン登録してますので迷惑メールは元々多い方なんですが、流石にこれだけ一気に来ると仕事のメールも埋もれてしまい探しづらくて仕方ありません。
なんとかしたいなーというわけで、迷惑メール対策として今回、WordPressに reCAPTCHA を設置してみました。
今回のコンテンツ
reCAPTCHAってなんだ?
reCAPTCHAって、なんだか読みづらい英語ですが「リキャプチャ」と読みます。
reCAPTCHAとは、Googleが提供する迷惑メールからサイトを守ってくれる認証システムのことです。
reCAPTCHAという名前は知らないけど、このマーク↓なら見たことあるって方はきっと多いと思います。

reCAPTCHAを設置すると、BOTによる悪質なお問い合わせを見抜いて不要なメールをストップしてくれます。
今回は、このreCAPTCHAをWordPressのメールフォームに設置します。手順はそれほど難しくないので迷惑メールにお困りの方は是非設定してみてください。
WordPressにreCAPTCHAを設定する手順
それではWordPressにreCAPTCHAを設定する手順をみていきましょう。手順は大きく分けて2つ。
- Google reCAPTCHAにサイトを登録する
- プラグインでreCAPTCHAを設定する
1. GooglereCAPTCHAにサイトを登録する
まずは、自分のサイトでreCAPTCHAを使用するための登録手続きです。登録さえすればreCAPTCHAは無料で利用できます。(Googleのアカウントが必要)
Google reCAPTCHAへサイトを登録
Google reCAPTCHA へ移動します。
参考 Google reCAPTCHAGoogle reCAPTCHA右上の [Admin console] をクリック。

登録画面が開きますので必要事項を記入します。

- 【ラベル】→ サイト名を入力。日本語でも英語でもOK。
- 【reCAPTCHA タイプ】→ v3を選択します。
- 【ドメイン】 ドメインを記入。http:// ・ https:// は省いてください。
利用条件に同意するにチェックを入れ [送信] をクリック。
KEYを取得する
登録が完了すると「サイトキー」と「シークレットキー」が発行されます。
この後の作業で必要になりますので、ページを開いたままにするか、メモ帳などにコピペして保存しておいてくださいね。

2. プラグインをインストール
reCAPTCHAを設置するためのプラグインをインストールします。
今回使うプラグインがこちら [Invisible reCaptcha for WordPress] です。
プラグインページから [Invisible reCaptcha for WordPress] で検索し、インストールします。

インストールが完了したら [設定] > [Invisible reCaptcha] を開きます。
![WordPressのお問い合わせフォームに迷惑メール対策を設置--インストールが完了したら [設定] > [Invisible reCaptcha] を開きます。](https://ideya.xyz/wp-content/uploads/recap_006.png)
Settings画面
[Settings] タブを開き「サイトキー」と「シークレットキー」をペーストします。Languageに「Japanese」、Badge Positionは [Inline] に設定し、[設定を保存] をクリック。
![WordPressのお問い合わせフォームに迷惑メール対策を設置--Languageに「Japanese」、Badge Positionは [Inline] に設定し、[設定を保存] をクリック。](https://ideya.xyz/wp-content/uploads/recap_007.png)
WordPress画面
お問い合わせフォーム以外のページでも利用できます。必要なものにチェックを入れ [変更を保存] をクリック。
よくわからない場合は、念を入れてすべてチェックしておきましょう。

- 【Enable Login Form Protection】→ ログインフォーム保護を有効
- 【Enable Registration Form Protection】→ 登録フォーム保護を有効
- 【Enable Comments Form Protection】→ コメントフォーム保護を有効
- 【Enable Forgot Password Form Protection】→ パスワードを忘れた場合のフォーム保護を有効
Contact Forms 画面
Contact Formsタブを開き [Enable Protection for Contact Form 7] にチェックを入れ [変更を保存] をクリック。

これで完了です。
確認してみましょう
お問い合わせフォームを確認してみましょう。送信ボタン下にreCAPTCHAアイコンが表示されていれば設置完了です。

もしうまく表示されない場合には、プラグインの [Settings] タブに戻り、[Badge Position] を変更してみましょう。多くの場合 [Inline] にすることで表示されるようになります。
あれ、アイコンが違くない?
reCAPTCHAアイコンが馴染みのある「私はロボットではありません」ではありません。

2018年10月にリリースされたreCAPTCHA v3バージョンでは、フォームの動きをバックグランドで解析し、人間かBOTかを自動で判別できる仕組みに変わりました。
BOTによるメールは弾かれ、人が入力したメールだけが送信されるというわけです。チェックが不要な分、使い勝手がよくなっています。
まとめ
Contact Form 7を利用してお問い合わせフォームを作成したサイトにreCAPTCHA認証を設置する方法について解説しました。
迷惑メールはお問い合わせフォームを設置しているサイトの宿命でもありますが、reCAPTCHAを設定しておくことで迷惑メールを確実に減らすことができます。迷惑メールにお困りの方は是非設定してみてくださいね。
※ちなみに、設定以降BOTからの迷惑メールは一切届かなくなりました!効果スゴイ!