WordPressで「Contact Form 7」のスパム対策に「reCAPTCHA v3」を導入
WordPressを使用した商用サイトにある「Contact Form 7」というフォームのプラグインは、そのままではとんでもない量のスパムメールが飛んできます。
「reCAPTCHA v3」が有効なのはわかってはいたけど、その設定を記した記事はたくさんある中、どれを参考にしてもうまくいかなかったので、自分なりにまとめてみました。
たぶん同じ悩み(=reCAPTCHA v3がうまく導入できない)を抱えた方にはうれしい情報になるかも。
reCAPTCHA v3がうまく作動しない設定方法がこちら
①「reCAPTCHA v3」のプラグインをWordPressにインストール
②「Contact Form 7」を対象に、「reCAPTCHA v3」を有効化
・・・結果、フォームが無効化(すべてスパム判定)されてしまい、機能不全となる。
フォームから送信しようとすると常に「メッセージの送信に失敗しました。後でまたお試しください。」というメッセージが。
この方法はいろんなサイトで紹介されていますし、もしかしたら詳しい方向けには正しいのかもしれませんが、自分が運用しているサイトではまったくうまくいきませんでした。フォームを閉じるわけにもいかず、せっかくのreCAPTCHA v3を無効化し、日に1,000通を超えるスパムメールを甘んじて受け取っていました。
また自分のサイトは商用サイトなので、一番お手軽なはすのAkismetは有料となり($60/年)、またWordpress.comのアカウント設定も社内運用的にわずらわしかったのと、reCAPTCHA v3を表示させるほうがセキュリティに気をくばってる感が見えるので。
reCAPTCHA v3をWordPressに導入する、多分一番正しい方法
※フォームは、とても一般的なContact Form 7を使用する場合です。
reCAPTCHA V3ではV2のようなチェックボックスにチェックを入れること無く認証が行われるので、より簡単にフォームを利用できますので。
※上がv2、下がv3。
1.reCAPTCHAの管理画面で導入したいサイトを登録。 →「reCAPTCHAの管理画面」
2.この管理画面にて「サイトキー」と「シークレットキー」をコピー。
3.WordPressの管理画面で「お問い合わせ」→「インテグレーション」のページで「サイトキー」と「シークレットキー」を入力。
以上でOK!!!!
reCAPTHAがなぜかうまく作動しなかった・・・なんていう方は一度試してみてください。
自分は他のサイトの情報どおりにreCAPCTHAのプラグインをインストールしてから設定していたら、とんでもないストレスを数週間かかえることになってしまいました・・・。
<おまけ>お問い合わせフォームがあるページ以外でreCAPTCHAのロゴを非表示にするコード
スマホ表示では、reCAPTCHAのロゴって邪魔ですよね。
なので、お問い合わせフォーム以外のページでreCAPTCHAのロゴを表示にするコードです。
functions.phpに以下コードをコピペします。
<pre class=”lang:default decode:true ” >add_action( ‘wp_enqueue_scripts’, function() {
if(is_page(‘contact’)) return;
wp_deregister_script( ‘google-recaptcha’ );
});</pre>
※「contact」の部分、お問い合わせフォームのページURLが「comment」ならそのように書き換えます。
さらに、WEBサイトは表示速度も大切なので、お問い合わせフォームを設置していないページでContact Form 7関連のコードを読み込ませないコードはこちら。
※読み込み速度の向上が目的です。
※上記のコードに少し構文をプラスしているので、目的にあわせてどちらか選びます。
<pre class=”lang:default decode:true ” >add_action( ‘wp_enqueue_scripts’, function() {
if(is_page(‘contact’)) return;
wp_dequeue_style( ‘contact-form-7’ );
wp_deregister_script( ‘contact-form-7’ );
wp_deregister_script( ‘google-recaptcha’ );
});</pre>
reCAPTCHA v3にすることでユーザーとっては全く手間のかからない入力フォームになりユーザービリティが向上しフォームの離脱率軽減も期待でき、さらにスパムも激減させることが可能になります、という自分のための備忘録です。
<次回予告:東京の家は引き払おうかと考えてる>