このブログの お問い合わせフォーム にスパム対策を行いました。
Google の reCAPTCHA について
Google が提供している reCAPTCHA という機能を使うとスパムを防ぐことができるのですが、スパム対策しているサイトでこんなものが表示されるのをよく見かけます。
「○○○のタイルをすべて選択してください」というパズルのようなものが表示されるときもありますよね。
これを見てめんどくさく(意味が分からず不安に?)感じて問い合わせを途中でやめてしまう方もいるのではないかと思って、今までお問い合わせフォームにはスパム対策を行わないでいました。すごく大量にスパムが届くわけでもないので、届いたメールをその都度削除すればいいかな・・・と。
reCAPTCHA v3 はめんどくさいのが出なくなった
reCAPTCHA のバージョン v3 ではこのめんどくさいのが出てこなくなったとのことなので、お問い合わせフォームに reCAPTCHA v3 を組み込んでスパム対策を行うようにしました。
お問い合わせフォームの画面右下にこんなロゴマークが表示されるだけです。
スパム判定がバックグラウンドで行われるので、問い合わせていただく方は認証操作が不要です。
このブログでは Contact Form 7 というプラグインを使ってお問い合わせフォームを作っていますが、reCAPTCHA v3 を組み込むのはあまり難しくありません。
やり方は以下のページに書かれています。
【追記 】 お問い合わせフォームだけにロゴマークを表示
上記のページに書かれているやり方で reCAPTCHA v3 を組み込むと、すべてのページにロゴマークが表示されてしまいます。
reCAPTCHA v3 を使用するお問い合わせフォームだけにロゴマークを表示すればよいので、functions.php に以下の行を追加しました。
add_action( 'wp_enqueue_scripts', function() {
if(is_page('inquiry')) return;
wp_deregister_script( 'google-recaptcha' );
});
上記の inquiry の部分はお問い合わせフォームのページの URL スラッグです。
このブログの場合、お問い合わせフォームのページが https://uonuma.biz/inquiry/ なので、 inquiry を指定します。