WordPress

WordPressをバージョンアップしたらContact Form 7が送信できなくなった問題の原因を調査してみた。

久しぶりの投稿になります。みなさんおはこんばんにちは。

2018年の12月6日にWordPressの大型アップデートがあり、バージョンが5.0.0にアップデートされました。2019年2月頭現在、バージョンはバグフィックス等を重ねてバージョン5.0.3となっております。

先日、クライアントからこんな連絡が来ました。

コンタクトフォームが送信できず、エラーになっちゃうからどうにかして欲しい

その時使用していたのは「Contact Form 7」という、WordPress界では知る人ぞ知るとっても使いやすいフォーム作成プラグインでした。

WordPressの大型アップデートに伴ってContact Form 7側にもプラグインアップデートが来ていましたが、バグフィックス等の内容で大きなアップデートはぱっと見見受けられず。その時は原因がわからず別のフォーム作成プラグインを使用して代用するという処置をとりました。

別日で調査してみたところ、意外なところから原因が発覚したので、今回はそれをご紹介します。

よく見て!Contact Form 7の「インテグレーション」

みなさん、Google reCAPTCHAをご利用していますか?

もしContact Form 7を利用していて、Google reCAPTCHAも利用している方は、必ずこのインテグレーション部分を確認してみてください。

まず、(サイトにContact Form 7がインストールされていて有効化されていることを前提に)管理画面より「お問い合わせ」>「インテグレーション」をクリック。

インテグレーションをクリックすると、以下のような画面に移動します。こちらの部分でサイトキーとシークレットキーの設定・確認ができます。

そしてこの画面で一番気にして欲しいところはココ。

詳しくはreCAPTCHA(v3)を参照してください。

ココです。
簡潔にいうと、現在設定されているサイトキーとシークレットキーはv2やv3といったGoogle reCAPTCHAの中でもバージョンのようなものがあるのですが、今回のアップデートに伴って、v2のGoogle reCAPTCHAを使用しているサイトキー・シークレットキーはもう使いませんよー。という風に変わったのです。こんな画面一回設定したらなかなかまた見ることって少ないですよね。やられた。

インテグレーションを作り直してみる

ということで、サイトキーとシークレットキーを作り直してみようかと思います。やり方はとっても簡単なのでそう構えずに。

1. インテグレーション確認画面からGoogle reCAPTCHAの管理画面へ移動する

先ほどのこの画面の右上にある「google.com/recaptcha」というリンクし、Google reCAPTCHAの管理画面へ移動します。

※ここで、現在開いているインテグレーションの画面はキーの再設定時にまた開く画面なので、Windowsなら「Ctrl押しながらリンクをクリック」Macなら「Command押しながらリンクをクリック」すると、現在の画面を開いたまま別タブでリンクを開くことができます。作業効率化のワンポイントですね。

2. Google reCAPTCHAヘログイン

移動すると、Google reCAPTCHAのサイト画面に移動しますので、右上ボタンにある「Admin console」ボタンをクリック。

クリックすると、ログイン画面 or 管理画面が表示されると思いますので、ログインされていない方はまずログインをしてくださいませ。

3. ドロップダウンメニューからキーを生成するドメインを選択

ログインをするとこのような管理画面に移動します。画面上に表示されているこの部分をクリックすると、下の画像のようにご自身で登録した各ドメインが記載されているドロップダウンメニューが開かれるのでその中から変更したい項目を選択してクリック。

こんな画面が出てくるので変更したい項目をクリックします。

4. 設定を一度削除し、サイトを再登録する

一度サイトを登録するとv2→v3への転換ができないので、サイトを一度削除しサイトを再登録する必要があります。

画面右上にある三つのアイコンがあります。左側から、

  • 新規作成
  • (現在閲覧している登録サイトの)設定画面
  • CSVファイルのダウンロード

となっています。クリックするのは真ん中の「設定」ボタン。こちらをクリックして、設定画面へ移動します。

設定画面に移動したら、まずその設定を削除します。設定画面の画面右側にあるゴミ箱マークをクリックします。

ゴミ箱ボタンを押すと確認の画面が表示されてきますので、承認し、削除します。

5. サイトキーを取得するためにサイトを再登録します。

サイトキー・シークレットキーを再取得するためにGoogle reCAPTCHAにサイトを再登録する作業を行います。

再度、画面右側にある「作成」+ボタンのをクリックします。

新規作成画面は以下のような感じ。ラベル部分に自分が認識しやすいようにドメイン名などを入力。同じく「ドメイン」という項目にはhttp://などを除いた状態のドメインを入力し、追加します。

ここで注意点です。「reCAPTCHAタイプ」という項目がありますが、こちらで選択するのはv3の方を必ず指定してください。(v2の状態で設定されていたサイトキーによってエラーが起きていた為。)

v3のほうにチェックを入れると、下記項目が出てくるので、こちらは承認しましょう。

この状態で、「送信」ボタンをクリックします。これで移動したページでv3バージョンのサイトキー・シークレットキーの再生成が完了です。(この画面は後でも見るのでページを閉じない方がいいかもしれないですね)

6. サイト側でキーの再設定を行います。

再度、サイトのほうに戻りましょう。サイトにログインし、ダッシュボード内より「お問いあわせ」>「インテグレーション」へ進みます。

現在はこのような状態になっていると思いますので、「キーを削除」をクリックして現在設定されているキーを削除します。削除したのち、再設定を行います。

7. 5番で再生成したキーをそれぞれ設定

5番で再生成したキーをそれぞれ再設定します。入力するキーは以下の画像で表示されていた内容になります。

この画面を消してしまった場合は、もう一度「google.com/recaptcha」へアクセスし、ドロップダウンメニューからサイトを選択し、設定マークの「歯車」アイコンをクリックし、以下の部分をクリックすると各キーを確認することができます。

こちらを再設定して保存を押し、これで任務完了!無事Contact Form 7が正常に作動しフォームを送信することができました。

WordPressでContact Form 7が送信できない場合はreCAPTCHAを確認しよう!

以上で説明終了になりますが、WordPressの場合、ただバージョンの更新によって送信ができなくなるだけが原因ではなくて、テーマとプラグインとの互換性や、バージョンを更新したことによって生じるバージョン誤差でのエラー、新バージョンにプラグインが未対応で使えないなど、原因はたくさん考えられます。

今回のように大型アップデートが行われた場合は、ご自身のサイトなどでフォームが正常に作動されているかなど、定期的なサイトの確認が必要になるので、「一度作ってもう安心」になりがちなフォームですが、一度確認して見てあげるといいかもしれませんね。

この記事が気に入ったら
いいね ! しよう