WordPressでブログを作成したらプライバシーポリシーと問い合わせを設置するのは基本ですよね。
しかし、お問い合わせのフォームを設置すると不必要なスパムメールが届いたりしてストレスが溜まります。
ここではWordPressでの問い合わせの定番プラグインのContact Form 7
の簡単な設置方法とスパム対策のひとつであるGoogleのセキュリティサービスのreCAPTCHA
を使ってのセキュリティ強化の仕方を説明していきます。
次の2つを用意してね
- サーバへのインストール済みWordPress
- GMail等のGoogleアカウント
Contact Form 7 を用いて問い合わせの設置方法
プラグインインストール
プラグイン
> 新規追加
> プラグインの追加ページで検索窓にContact Form 7
と入力し、表示されたプラグインのContact Form 7の今すぐインストール
ボタンを押して、インストール後に有効化
します。
問い合わせページの作成
既にお問い合わせをContact Form 7で作成できている方はこの項目と次の項目は不要です。
管理画面メニューのお問い合わせ
から新規追加
をクリックしてお問い合わせを作成します。

基本的に凝った事をしなければ名前を付けて保存をするだけです。

固定ページへの設置
固定ページの新規作成からお問い合わせの固定ページを作成します。
タイトル
を付けて覚えやすいパーマリンク
を設定します。
当サイトではタイトルは【お問い合わせ】、パーマリンクは【contact-form】に設定してあります。
Contact Form 7
で作成した問い合わせを呼び出します。ブロックエディタであればcoと打つだけで候補が出てきます。

固定ページを保存して、トップメニューやフッターメニュー等の置きたい場所に配置します。
当サイトの作例はこちら

セキュリティ対策としてreCAPTCHAの導入
Contact Form 7を用いてお問い合わせの置くと、アクセス数に対して結構多くの問い合わせが来ます。
しかし残念ながら良い知らせではなくほとんどスパムメールがやってきます。そこでスパム対策とセキュリティ対策を兼ねてWordPressにreCATPCHAを導入します。
reCATPCHAはGoogleが運営しているセキュリティツールの一種で、サイトのセキュリティを高めてスパムBOTのアクセスとスパム自体を学習によって防いでくれます。
reCAPTCHA導入方法
まずは以下リンクをクリックして、Google reCATPCHAにログインします。ログインID、パスワードはサイト用アナリティクス等に使用しているモノを使ってください。
reCATPCHAにログイン
ログイン後に新しいサイトを登録する。という画面に居るので、各項目入力して作成する。

- ラベルは自分が判別しやすい名前を付ける。
- reCATPCHA タイプは今回は v3を選択。
- ドメインは自分のドメインを入力。
- 利用条件に同意のチェック。
- 送信する。

すると登録済みのサイトが○個あります
と出てくるので、作成したサイトを選択して設定のアイコンを選択すると
reCATPCHAのキー
という項目があります。
その部分がアコーディオンになっていて選択して開くとサイトキー
とシークレットキー
という項目があるのでそれぞれ保存しておく。

Contact Form 7でreCAPTCHAの有効化
サイト全てに適応する場合は管理画面メニューお問い合わせ
>インテグレーション
からサイトキー
とシークレットキー
を入力して有効にする。


reCATPCHA
のインテグレーションのセットアップ
を選択し、reCATPCHAで取得したサイトキー
とシークレットキー
を入力して変更を保存
します。

これで、reCATPCHAのアイコンが全ページに表示されてスパムおよびセキュリティ対策が実装されます。
プラグインInvisible reCaptchaを使ってreCAPTCHAを特定のページのみ表示する
reCAPTCHAをインストールして実装しただけでは、全ページにreCATPCHAが表示されてしまいます。
そこで必要なページのみ表示するように設定するためにWordPressプラグインのInvisible reCaptcha
をインストールし設定します。
なお、この設定をする際はContact Form 7のインテグレーションに設定したサイトキーおよびシークレットキーは削除しておいてください。重複し不具合の原因となります。
Invisible reCaptchaのインストール
WordPressプラグインの新規追加ページでInvisible reCaptcha
で検索し、インストール・有効化します。

有効化すると管理画面メニュー
の設定
にInvisible reCatpcha
が追加されているので、クリックして設定画面を開く。

まずは開いた設定ページで、Google reCATPCHAで取得したサイトキー
とシークレットキー
を記入する。
WordPressタブを選択し、必要な保護設定を選択して変更を保存
する。

個人的にはここは全てチェックしていいと思います。
reCATPCHAロゴの非表示
表示するページを絞るだけでも効果がありますが、reCATPCHAのアイコンが表示される場所がよくない位置にある場合があるので、非表示にします。
非表示をするには読み込むページで以下のCSSを設定するか、WordPressのカスタマイザーの追加CSSにCSSを設定してください。
.grecaptcha-badge { visibility: hidden; }
消した際の注意点ですが、消す場合は「以下の文章とリンクを付けてください」とGoogleのFAQにあるので以下のHTMLをカスタムHTMLブロックなどでお問い合わせの固定ページに追記してください。
This site is protected by reCAPTCHA and the Google
<a href="https://policies.google.com/privacy">Privacy Policy</a> and
<a href="https://policies.google.com/terms">Terms of Service</a> apply.
このサイトでは設置したページのうち、問い合わせページのみ非表示にしておりログインページなどはセキュリティ掛けてますよーと見せるようにしています。
参考のFAQページ
当サイトのお問い合わせ
まとめ
WordPressの運営を続けていくとコンテンツが増え、それに合わせてPVも増えていきます。
当然設置したお問い合わせにもスパムが増えてきてしまうので今回のような対策が必要です。
少しでも快適に運営できるようスパムメールなどが来ないようにreCATPCHAでのセキュリティ設定をしましょう。