このサイトの問い合わせフォームは、2種類用意している。
- WPFormsプラグイン
- 外部サービス「フォームメーラー」(入力→確認→送信ステップ)
今回、「フォームメーラー」から問い合わせが届いた。そして、問い合わせユーザさんから、WPFormsプラグインから問い合わせが出来ないことを報告していただいた。
不具合は、送信ボタンをクリックすると赤字で「破損した投稿データを送信しようとしています」と表示され入力内容はそのままで送信できないという。
目次
WPFormsプラグイン問い合わせフォームから送信できない現象

テストしてみたところ、確かに送信できない。
WPFormsプラグインのアップデートは自動更新設定しており、都度問題なく更新されていたはず(メール通知あり)。
また、2件の問い合わせフォームに関してのメール通知
- WPFormsプラグイン:件名「www.taskmother.jp の毎週の WPForms サマリー」として、フォームのパフォーマンス状況
- WP Mail SMTPプラグイン(WPFormsプラグインと連携):件名「サマリー 於 www.taskmother.jp」として、送信したメール数状況
が、週1回、きちんと届いていたので問題なく動いていたと思い込んでいた。
このエラーメッセージ+αで検索してみたが、ヒットする記事がなく、どうしたものかと思いながら、テスト用フォームを作成して気がついた。どうやら、Google reCAPTCHA v3の設定を外すと送信できる。
対応策として、CAPTCHA設定をGoogle reCAPTCHA v3 → Turnstile に変更して、問い合わせフォームの不具合を解消した。不具合の原因やCAPTCHAを変更した理由は後述。
WPFormsプラグインにスパム対策ツール「Cloudflare Turnstile」を設定する
設定はとても簡単。
Cloudflare Turnstile1にて、アカウントを取得(無料)する。
アカウントの登録が完了しログインすると、管理画面が表示される。
アプリケーション セキュリティ > Turnstile ウィジェット で「ウィジェットを追加」ボタンをクリックする。

ウィジェット名(識別できる名前)を入力し、カスタムホスト名に設定するドメイン名を入力する。

下部の2つの項目は、デフォルトのままで「作成」ボタンをクリックして、設定は完了。
- ウィジェットモードは:管理対象
- このサイトの事前クリアランスを選択しますか?:いいえ

ウィジェットの作成が完成すると、サイトキーとシークレットキーが発行される。
この2つのキーをWPFormsプラグインに設定することになる。

次に、WordPressのWPFormsプラグインの設定を行う。
WPForms > 設定 のCAPTCHA にアクセスすると、CAPTCHAの3サービス画像↓が表示される。
ここで、Turnstileマークを選択する。
Turnstile管理ページで発行されたサイトキーとシークレットキーを入力する。

「設定を保存」ボタンをクリックして、設定が完了。
下記のように、正しく設定されると、プレビュー項目に、フォームに表示されるTurnstile画像が表示される。

次にCAPTCHAを問い合わせフォームに反映させるため、該当するフォームを選択し、設定メニュー > スパム対策とセキュリティ のCAPTCHA項目の「Cloudflare Turnstileを有効化」をONにする。

これで、WPFormsプラグインの問い合わせフォームのスパム対策であるCAPTCHA設定が完了した。
スパム対策CAPTCHAをreCAPTCHA v3からTurnstileにした理由
まずは、フォーム不具合の原因から。
reCAPTCHA v3の各キーが無効になっていたからである。reCAPTCHA v3の設定が消えていた。
確かに、reCAPTCHAバッジ(ロゴマーク)が出ていなかった(とはいえ、あとから気がついたのだが・・・)。
というのも、reCAPTCHA v3の管理ページにアクセスしたところ、新規に作成しますか?と表示され、reCAPTCHA v2→v3と長く使い続けていたはずなのに全くデータが存在していないのである。
そういえば、reCAPTCHA v3は2025年末からreCAPTCHA Enterpriseになって、有料化(アクセス数件数によって)になることを告知していたのでその影響かと思われた。
reCAPTCHA v3からreCAPTCHA Enterpriseへの移行案内「reCAPTCHA Classic から移行する2」に従って移行処理が必要なのか?と進めるも、やはり「reCAPTCHA 管理コンソール」にデータは存在しない。
reCAPTCHA v3の設定がなぜ無くなったか?原因は不明であるが、ひとつ考えられるのは、春頃にさかんに複数のプロジェクトを設定している「Google Cloud」から請求アカウントの更新メッセージが数回きていた。その際、GA4がらみで設定していたプロジェクトを削除したのだが(削除したら、再三のメッセージが無くなった)、GA4だけでなくreCAPTCHA v3も関係していたのだろうか?今となってはわからない・・・
ということで、reCAPTCHA v3の無効になった2つのキーは設定したままで、WPFormsプラグインと連携していたので不具合が発生したと考えられる。もう少しわかりやすいエラーエラーメッセージを出してほしいものだ。
ということで、reCAPTCHA Enterpriseを新たに設定することも考えたが、有料化のことや、WPFormsプラグインのCAPTCHA設定がreCAPTCHA v3には対応しているが、まだreCAPTCHA Enterpriseへの対応について明確な情報を提供していないようなので、今回は見送ることにした。
「Google Cloud」は既に利用しているので、有料化になった場合の予算アラートの設定をすれば問題ないかと思われたが、Turnstileへの移行の方がはるかに簡単なので、今回はこちらの選択となった。
また、同じ問い合わせフォームプラグインContact Form 7も「今後の CAPTCHA のサポートについて3」として、Cloudflare Turnstileへの変更を発表している。Contact Form 7プラグインユーザも、今年中(2025年)の変更が必要だろう。
今後の動向を見ながら、reCAPTCHA Enterpriseの方が精度がよければ、また見直しを図ることも考えている。
- Cloudflare Turnstile:CAPTCHAに代わる検証ツール ↩︎
- reCAPTCHA Classic から移行する:Google Cloud Documentation ↩︎
- 今後の CAPTCHA のサポートについて:Contact Form 7 ↩︎
