ワードプレスプラグインコンタクトフォーム7の迷惑メール対策reCAPTCHAが使えない件

投稿日:

ヒカルです(^-^)

ワードプレスの運用で欠かせないお問合せフォームとして私はコンタクトフォーム7を利用しており、迷惑メール対策にかなり苦戦していました。

コンタクトフォームが推奨しているgoogle reCAPTCHAを利用すると、な・なんと「まっとうなお問合せまで100%スパムと判定」していることが判明しました。

reCAPTCHA自体が迷惑行為ですw

ここではその実態をお伝えするとともに、苦肉の策として実践した迷惑メール対策と、採用しなかった対策への理由までお伝えしています。

ワードプレスプラグイン コンタクトフォーム7の迷惑メール対策reCAPTCHAが使えなかった件

ワードプレスのお問合せフォームであるコンタクトフォームは便利です。

しかし便利ではあるものの、何も迷惑メール対策をしていないと以下のように猛烈な数のスパムも受信してしまいます。

上にあるとおり、メールの件名もメッセージ本文も英文で送信者も英語表記、外国から送られてくる機械が生成したメールがほとんどです。

ワードプレスとコンタクトフォームのバージョンはこんな感じで使用してました。

  • word press:5.1.1
  • WPテーマ:afinger
  • contact form7:5.1.3

これらのメールの目的と言えば「何かを広告するための釣り」な訳なんですが、鬱陶しいですし、機械の釣りメールにイライラする時間はもっとうんざりします

 

コンタクトフォーム7が推奨している迷惑メール対策として、「グーグルのreCAPTCHA」の機能と連携する方法があります。

私はgoogle reCAPTCHAに対して以下のような最低限の効果を期待しました。

  • ユーザーにとって面倒ではない(気軽にお問合せできて取りこぼしが起こりにくい)
  • スパムとまっとうなお問い合わせを的確に振り分ける機能
  • サイト自体が重くならない

しかし、これが思った以上に「異常な事態」を招いていたんです。

コンタクトフォーム7のreCAPTCHAでまず迷惑メール対策

コンタクトフォームのメニューに「インテグレーション」のタブがあり、この中で「コンタクトフォーム7のreCAPTCHA」を使用すればスパムは撃退できる」と説明されてます。

上の画像で言うインテグレーションの画面で青枠で囲った「google.com/recaptchaのリンク」をクリックしてみると、以下の画面が展開されます。

ワードプレスプラグイン コンタクトフォーム7の迷惑メール対策はグーグルが提供しているreCAPTCHAを利用するんですね。

このgoogle reCAPTCH右上のadmin consoleを押してみると以下の画面になり、

この画面で入力するのは以下の4つだけ。

  • ラベル:サイト管理のための適切な名前(自分が管理しやすい名前でOK)
  • reCAPTCHAタイプ:reCAPTCHA V3またはV2※を選択
  • ドメイン:https://www.example.jpの場合example.jpを入力すればOK
  • オーナー:グーグルメールアドレス(アナリティクスを管理しているアカウント)

※reCAPTCH2はユーザーに画像認証などしてもらう、V3はそれがないタイプ。Contact form7のreCAPTCHA対応はv3一択のみ

最後に送信ボタンを押すと以下の画面で「サイトキーシークレットキー」(API)がもらえます。

これらの2つのキーを先程のインテグレーションの管理画面で貼り付けるだけです。

ワードプレスプラグインコンタクトフォーム7にreCAPTCHA V3を導入すると、以下のように右下にreCAPTCHAのマークが登場します。

これでパソコンでお問合せフォームの動作確認テストをして問題ないと思っていたのですが、甘かったです。

reCAPTCHAで迷惑メール対策したつもりが、長い間エラーに:えらいこっちゃ

私の場合は「このサイトのメルマガを購読したいけれど、エラーが出づづけて購読登録の送信ボタンも押せない」と御連絡を下さったユーザーさんからのメッセージでコンタクトフォーム7のreCAPTCHAにエラーが起こっているのを知りました。

ディバイスを変えて自分自身のウエブサイトのお問合せフォームから試してみると、いかにコンタクトフォーム7のreCAPTCHA V3が「お問合せをなくす逆効果な迷惑メール対策」だったのかがわかります。

エラーの内容は「メッセージを送信しようとするとエラーが起こりました。また後で試してください。」です。

早い話迷惑メールを撃退するためにグーグルのreCAPTCHA機能を利用したのに、迷惑メールでもないまっとうなお問い合わせも送れないような状態になっていたんです。

お問い合わせをしようとしてくださっていた閲覧者の方に本当に申し訳なかったなと思ったのですが、後の祭りになってしまいました。

”原因はワードプレステーマとreCAPTCH V3 5.1.1の相性の問題”とは言い難い

reCAPTCHA V3 バージョン5.1.1については、さまざまなウエブサイトが問題を指摘してます。

その中でトラブルの原因として最多で挙げられている1つが「ワードプレステーマ自体と、reCAPTCHAバージョンの相性」です。

私がさまざまなサイトを拝見してトラブルが報告されているテーマで多かったのがcocoonとaffinger。※このサイトもaffingerで作成してます。

 

しかし…これはどうやらワードプレステーマとの相性云々ではなく、どちらかと言うとグーグルが提供しているreCAPTCHAバージョン5.1.1にかなりの問題があるようなんですよね。

以下はグーグルによるreCAPTCHA5.5.1の解説ですが、「爆弾」が仕掛けられているのが分かると思います。

出典:google.com/recaptcha/intro/v3.html

 

「reCAPTCHA V3を利用しているサイトは、影響を被る可能性があります。送信ボタンを押すたびにオレンジの枠で囲まれたエラーメッセージ(メッセージを送信しようとするとエラーが起こりました。また後で試してください。)を見ることになるかもしれません。これはスパム判定した証拠です。(中略)これはテーマ開発における課題ですので、テーマ作成者に修正を求めてください」

これ「高頻度なエラーを自分たちで感知しておきながら、テーマ開発者に問題を丸投げしているだけ」の話です。

 

実に多くのウエブサイト運営者がreCAPTCHA v3による被弾を受けてます。グーグルがこんなマズイものをリリースするとは思っていなかった、というのが大方の意見ではないでしょうか。

いったい誰が「迷惑メールのための対策が、”すべてのお問い合わせを迷惑メールと判定するシロモノ”だった」などと想像するでしょうか?

reCAPTCH V3  5.1.1がどれだけマズイエラーを抱え込んだまま世にリリースされた爆弾なのか考えるだけでも恐ろしいですよ。。

一応グーグルreCAPTCHA V3は2019年から二度のバグ修正が行われていますが、私はreCAPTCH5.1.3にしてもなおトラブルは回避できてません。

結局まっとうなお問合せであっても、全て迷惑メール判定されてお問合せがなかった期間を過ごしている当サイトとしては「グーグルの迷惑メール対策reCAPTCHA自体が迷惑行為」と判定するに至りました。

★苦肉の策でコンタクトフォームの承認確認とチェックボックスを利用して迷惑メールを撃退

コンタクトフォーム7が推奨している迷惑メール対策google reCAPTCHAは、まっとうなお問い合わせも迷惑メール判定しているようなので、しばらく「迷惑メール対策なし」の状態にしていました。

すると英語表記のスパムがわんさか増えるんですよね。。

さすがに鬱陶しいなと思い、苦肉の策で採用した対策が「コンタクトフォームの承認確認とチェックボタン」の活用です。

コンタクトフォームには以下のようにタブが並んでまして、承認確認とチェックボックスをクリックすると

下の2つのようなタグが挿入されます。

[acceptance acceptance-0] 内容確認したらチェックを入れて送信してね※。

[checkbox checkbox-306 label_first]

  • acceptance:このタグの横に以下チェックボックスに対する説明文を自由に入れます(※上は例文です)
  • checkbox:□の中にチェックを入れさせるようにすると、ロボットによるスパムを撃退できます

承認ボタンとチェックボックスの活用は人間によるスパムメールを100%は撃退できませんでしたが、それでもスパムメールはメールは激減します。

 

次でご紹介するようなakismetのプラグインをインストールしてサイトが重たくなってお客様が嫌気さすようだったら、稀なスパムメールを削除した方がまだいいと思えます。

私が採用しなかった迷惑メール対策

 

コンタクトフォームのダウングレード

reCAPTCHA5.1.1にトラブルが起こりやすいと報告されていますが、いくつかのサイトでは「5.0.0にダウングレード」して試しているケースもありました。

グーグルreCAPTCHAのサイトで古いバージョンをダウンロードできるので、誰もが実践しやすい次なる策といえそうですが、私はもうグーグルのreCAPTCHAを使うことに嫌気がさしてました。

長い時間まっとうなお問い合わせもスパム判定された苦い経験があり、どんなにバージョンアップされてバグの修正報告されようと、とても信用に足る迷惑メール対策とは言えないと思えたんです。

日本語のみのお問い合わせを受け付ける・英文は受け付けない

function PHPに日本語のお問合せだけを受け付ける追記をする方法があります。

英文だけのメッセージは受け付けませんよ、という関数をfunction phpに仕掛けておくんですね。

以下はfunction phpへ実装する素晴らしいコード一例。

出典:unguis.cre8or.jp/web/2279

function phpはワードプレスのテーマを正常に動かす超重要なファイルでもありますので、記述がおかしいとワードプレスが正常に動かなくなるなどがフツーに起こります。

ヒカル
ワードプレスが真っ白になるとか、そんなエラーです。おーこわW

私は2度試してエラーが出てしまったので、function phpへの追記は断念しました。

akismetを利用してスパム対策がサイトを重たくしたので断念

ワードプレスで迷惑メール対策する際に、プラグインakismetをインストールする方法もあります。

私はこれを試してサイトが重たくなったので即アンインストールしました。

まとめ:ダメ押しで「スパムに塩対策する一文」も

迷惑メール対策ってあまりいいモノがないものです。

苦肉の策として試してみたコンタクトフォームの「承認確認とチェックボックス」では機械によるスパムメールは撃退できます。

ここまで対策しても来るスパムメールは人の手によるものですが、意外と少ないものでした。

あとは駄目押しで以下のように「スパムへ 英語表記だけのメッセは強力に拒否してると伝えときます」と付け加えてみました。

function phpへの追記はしてませんので、コンタクトフォームに追記しているのは「明らかにスパムに対するからかい文」です(笑)

ご質問があれば以下で登録して何でも聞いてくださいね(^-^) 上で登録して下さった方にはECサイト初心者が「まず5万円稼ぐためのノウハウをまとめた無料プレゼント」を贈呈しています(^-^)

無料のメルマガ講座&プレゼントとは何か?

ご質問があればご遠慮なくどうぞ。

 内容をご確認いただいてからチェックを入れて送信ボタンをクリックしてください。

-効率化

Copyright© サラリーマンのアフィリエイト副業 , 2019 AllRights Reserved.