フォームを送信する際に、"Attempt to submit corrupted post data" と表示されていませんか?このエラーは通常、キャプチャスクリプト (hCaptcha または Google reCAPTCHA) が正しく読み込まれない場合に表示されます。
このガイドでは、このエラーの最も一般的な原因を説明し、解決するための手順を説明します。
一般的な原因
このエラーに遭遇する可能性のある最も頻繁な理由は以下の通りです:
- キャッシュ/最適化プラグイン:BreezeやSpeed Optimizerのようなツールは、JavaScriptを最小化または遅延させることができます。
- JavaScriptエラー:ブラウザのスクリプトエラーにより、キャプチャが正しく実行されないことがあります。
- AMPページ:AMP (Accelerated Mobile Pages) に追加されたフォームは WPForms の JavaScript を実行できません。
- カスタムコードの競合:フォーム送信に関連するカスタムスクリプトを使用している場合、WPFormsの検証処理に干渉する可能性があります。
エラーの解決
このエラーが表示された場合、以下の手順をお勧めします:
- キャプチャが読み込まれることを確認する
- フォームページを開き、キャプチャウィジェットまたはバッジ(reCAPTCHA、hCaptcha、Turnstile)が表示されていることを確認してください。表示されない場合は、キャッシュや最適化設定によってスクリプトがブロックされている可能性があります。
- 送信中にブラウザのコンソールをチェックする
- フォームのあるページを開き、Developer Consoleを開きます。 F12 Windowsまたは コマンド+オプション+J Macの場合)。コンソールを開いた状態で、フォームを送信してみてください。
キャプチャの読み込みに失敗した場合、以下のエラーが表示されることがあります。wpforms.js
またはcaptchaスクリプト。これらは通常、キャッシュや最適化の競合を指しています。
- フォームのあるページを開き、Developer Consoleを開きます。 F12 Windowsまたは コマンド+オプション+J Macの場合)。コンソールを開いた状態で、フォームを送信してみてください。
- キャッシュまたは最適化プラグインを調整する
- BreezeやSpeed Optimizerなどのプラグインを使用している場合は、JavaScriptを変更するオプション(JavaScriptの最小化、JavaScriptファイルの結合、JavaScriptの遅延、JavaScriptの実行遅延など)を一時的にオフにします。サイトとブラウザのキャッシュをクリアしてから、再度フォームをテストしてください。
- エラーが続く場合は、キャッシュプラグインを完全に無効にして、フォームを再テストしてみてください。
- カスタムコードやスニペットのレビュー
- カスタムJavaScriptを使用している場合は、一時的に無効にして再度テストしてください。カスタムスクリプトがWPFormsのバリデーションやフォームの送信動作を上書きしないことを確認してください。
- WPFormsのログを確認する
- 破損した送信が記録されているかどうかを確認するには、WordPressダッシュボードのWPForms " Tools " Logsにアクセスしてください。これは、いつ、どこで問題が発生したかを確認するのに役立ちます。
- まだエラーが表示されている
- これらの手順を試しても問題が解決しない場合は、コンソールエラーとキャッシュ設定のスクリーンショットを撮り、ホスティングプロバイダに連絡するか、WPFormsのサポートに連絡してください。
以上です!これで、"Attempt to submit corrupted post data"(破損した投稿データを送信しようとしました)エラーの一般的な原因と解決方法がお分かりいただけたと思います。
次に、フォームを公開する前に適切なテストを行う方法を学びたいですか?詳しくは、フォームテストチェックリストチュートリアルをご覧ください。