WordPressのContact Form 7で送信時に回転アイコンが出たまま止まってしまうときのチェックリスト

この記事の要約
「送信」クリック時に、コンソールを確認して同じエラーが出ている場合は、下記4つをチェックする。
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
- Contact Form 7の設定が間違っていないか確認
- REST APIが無効化されていないか確認
- WordPressテーマをデフォルトのテーマに変えて確認
- プラグインを1つずつ無効化にして確認
WordPressプラグインのContact Form 7を使ってフォーム実装をしていると、送信時に回転アイコンが出たまま止まってしまうことがあります。
コンソールログを見ると、「送信」ボタンをクリックしたタイミングで下記のエラーが出ていました。
Failed to load resource: the server responded with a status of 500 (Internal Server Error)このエラーの原因は複数あるみたいなので、今回はチェックする項目をまとめておきます。
1. Contact Form 7の設定が間違っていないか確認
まずはContact Form 7の記述が間違っていないか確認します。
特に「送信先」「送信元」の2箇所を重点的にチェックして、余計な文字列が入っていないか、エラーになっていないか確認します。
2. REST APIが無効化されていないか確認
Contact Form 7のバージョン4.8以降は、WordPressのREST APIという機能を使って処理をしている部分があるようです。
このREST APIを使うと、外部からWordPressの記事一覧情報を取得したりできるので、便利な反面、それがイヤな場合は無効化しているサイトもあります。
ただ、Contact Form 7ではこのREST APIを使って処理している部分があるので、無効化されているとエラーが出て処理が途中で止まってしまいます。
REST APIが有効か無効か確認する方法は、サイトURLの後ろに「/wp-json/」を付けてアクセスします。
(当サイトの場合は「http://webrandum.net/wp-json」となる)
これで大量の文字列が出てきたら有効、下記のような文字列しか表示されない場合は無効になっています。
{"code":"disabled","message":"REST API is disabled.","data":{"status":401}}無効化されているREST APIを有効に戻す場合は、テーマフォルダのfunctions.phpを開いて、下記のコードがないか確認し、適用している部分をコメントアウトします(必ずバックアップを取ってから作業しましょう)。
return new WP_Error( 'disabled', __( 'REST API is disabled.' ), array( 'status' => rest_authorization_required_code()));設定できたあとは、またサイトURLの後ろに「/wp-json/」を付けてアクセスして確認します。
ちなみに、REST APIについてもう少し気になる方は、過去に記事にしているのでこちらもご覧ください。
3. WordPressテーマをデフォルトのテーマに変えて確認
なにかテーマに記述されているコードが原因の場合もあるので、一度WordPressテーマをデフォルトのものに変えて確認します。
もしデフォルトテーマだと正常に動作する場合は、テーマに余計なコードが書かれていそうです。
特にfunctions.phpを中心に、怪しそうな記述がないか確認していきます。
(テーマでjQueryを読み込まないように設定してしまっている場合もエラーが出ますが、その場合はコンソールで別のエラーメッセージが出ます)
4. プラグインを1つずつ無効化にして確認
プラグインが干渉してしまって、正常に動作していない可能性もあります。
1度Contact Form 7以外のプラグインを無効化してしまって、再度試します。
それで正常に動作するようになったら、どのプラグインが原因なのかを1つずつ有効化と動作確認を繰り返して突き止めます。
原因のプラグインが見つかったら、下記2つの選択肢があります。
- 原因となるプラグインは使わないようにして諦める
- 原因となるプラグインの別バージョンを試してみる
Contact Form 7と、原因のプラグインのバージョンの相性が悪い可能性もあるので、別バージョンを試してみるのはやる価値があります。
(アップグレードは問題ないですが、ダウングレードさせるのはセキュリティ的にもよくないですし、いつかはアップデートしないといけないので根本的な解決にはならないので注意が必要です)
別バージョンを試す場合は「WP Rollback」というプラグインを使うと、プラグイン一覧画面から簡単にバージョン変更ができます。


Dashで「Secure Input is Enabled」と表示される場合の対処法
Mac向けのミニマルでお洒落なデザインのGitクライアント「Gitfox」
ウェブサイトをダークモードに対応するときに気をつけること
SVGを操作するためのCSSプロパティまとめ
スクロールしてもテーブルヘッダーが追尾するテーブルの作り方
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
Visual Studio Codeの設定を複数の端末間で同期する「Settings Sync」機能の使い方
ウェブ上でLaTeXで数式をキレイにプレビューするJavaScriptライブラリ「MathJax」
JetpackでのError during WebSocket handshakeの解決方法
Dart Sassでファイルを分割して管理する方法|Dart Sass入門
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう