どうもー!マミィです!
フリーランスプログラマーをしながら、「スクラッチプログラミング」・「マインクラフト」の真似したいと思う、役に立つ情報を中心に発信しています!
WPに設置したお問い合わせ(ContactForm7)が動いていない?
何が原因?
スパム対策でいれたhCaptchaが影響していました!
お問い合わせの設定をはずしたところ、無事にメールが飛びました。
WPで設定している人はお問い合わせフォームをContactForm7で設置して、スパム対策でhCaptcha for WordPressを使う人も多いかと思います。
スパム対策には、「reCAPTCHA」か、「hCaptcha」を使うのが一般的です。
このサイト、実はどちらも入れてました。不要な二重のスパム対策・・・。
他のHPでhCaptchaを試しに使いたかったので、試しにこのサイトにも入れたままにしていたところ、お問い合わせが機能しなくなっていました。
この記事の内容です。
- ContactForm7でhCaptchaでのおかしな動作現象
- ContactForm7でhCaptchaを使ったときにメールが飛ばないときの対応策
この記事を読むと、WPでお問い合わせを送ったのに、メールが届かないという原因と対策がわかります!
ContactForm7でhCaptchaでのおかしな動作
問い合わせフォームが機能していなかった現象
hCaptchaは人の目でないと判別が難しいものを出してクリアしないと次へ進めない、ロボットを防ぐタイプです。
今回のおかしな動作は以下のとおり。
①お問い合わせフォームに入力する
②hCaptchaででた質問に答えて、進む
③なぜか入力フォームに戻っている(本来は確認画面が出るはず)※フォームの中身もクリアされている
④もう一度フォームに入れる
⑤hCaptchaに答えて進む、確認画面が出ないまま、「お問い合わせを送信しました」の文字が出る
実際には、メールは送られてこないので、お問い合わせを送った人は、送ったと思っているけど、実際には届いていないという最悪な状況になっていました。
問い合わせフォームが動いてないかも?と気づいたきっかけ
設定してるメールに「bounce_delivery」というバウンスメールが来ていて、スパムメールかもと思って、あまり気にしていなかったのですが、一応確認してみるか〜と思って問い合わせフォームを使ってみたら、動かなくなっていたという状態でした。
hCaptchaを設置当時は、問い合わせフォームが正しくが動くことを確認しています。
いつの間にか動かなくなっていたという恐ろしい状態。
もし、設置している人は定期的にフォームが正しく動いているか確認しましょう!
ContactForm7でhCaptchaを使ったときにメールが飛ばないときの対応策
今回は一番怪しいと思った、hCaptchaの設定でContact Form7の設定を外しました。
「設定」→「hCaptcha」→「Integrations」のタブ→Contact Form7の「Form」をOFF
これで再度試したところ、無事にメールが飛びました。
スパム対策をもしhCaptchaのみで、googleのreCAPTCHAを使っていない場合は代わりにreCAPTCHA設置しましょう。
設定の仕方はこちらのサイトがわかりやすいです↓
【スパム対策】Contact Form 7のreCAPTCHA設定方法
reCAPTCHAが入っている場合は、ContactForm7のインテグレーションに以下の表示が出ています。
WPのバージョン、各プラグインのバージョンは自動でバージョンアップする設定にしているため、いつの時点で使えなくなっていたのかは不明です。
おそらく、WPとContactForm、hCaptchaのバージョン違いで不整合が出てきたのでしょう。WPあるある。
WPのバージョンが大きく変わるときは、プラグインの動作は要注意です。
- ContactForm7(お問い合わせフォーム)
- Confirm Plus Contact Form 7(お問い合わせフォームの確認画面)
- hCaptcha for WordPress(スパム対策)
まとめ
お問い合わせフォームとスパム対策でいれた「hCaptcha」でしたが、正しくフォームが動かない状態だったので、設定を外して正しく動くようになりました。
同じように動かなくなっていたという場合は、reCAPTCHAに変えて、試してみてください!
定期的にフォームが動くか確認は必要ですね。