WordPressで「応答は有効なJSON応答ではありません」というメッセージを修正する方法
公開: 2022-08-09Gutenberg の WordPress エディターがデフォルトのページ エディターになったため、多くの WordPress ユーザーが、投稿を更新したりメディアをアップロードしようとしたときに、Web サイトで「応答は有効な JSON 応答ではありません」というエラー メッセージを目にするようになりました。 クラシック エディターに戻すとすぐに問題が解決し、一時的な修正として有効な場合もありますが、WordPress の無効な JSON エラーは REST API の問題を示しており、WordPress が正しく動作するためには REST API に完全に依存しています。
このガイドでは、Gutenberg エディターが REST API と連携する方法と、WordPress で「応答は有効な JSON 応答ではありません」というメッセージを包括的かつ段階的に修正する方法について説明します。
Gutenberg は REST API と JSON でどのように機能しますか?
ブロック エディターとも呼ばれる Gutenberg WordPress エディターは、REST API を使用してサーバーとユーザー インターフェイス間でデータを通信するフロントエンド アプリケーションです。 これを WordPress コアに組み込まれたデフォルトのオプションにすることで、WordPress は従来のエディターを完全に Gutenberg に置き換え、完全なサイト編集に向けて大きな一歩を踏み出しました。
Gutenberg WordPress エディターはクライアント側のアプリケーションです。つまり、ユーザーのブラウザーで実行され、すべての投稿とページが保存されている WordPress データベースに直接アクセスすることはできません。 したがって、ブロック エディターには、サーバーと通信してコンテンツの更新を送信する方法が必要です。 REST API は、クライアントとサーバー間の通信を保証し、データを JSON オブジェクトとして送受信することで Gutenberg が投稿とページを更新できるようにします。
JSON は JavaScript Object Notation の略で、WordPress REST API によって定義されたスキーマでコンテンツの表現を作成するために WordPress によって使用されます。 Gutenberg を使用してページまたは投稿を編集し、[更新] ボタンをクリックして行ったすべての変更を保存すると、ブロック エディターはサーバーに要求を送信し、JSON 形式の応答を期待します。
「応答は有効な JSON 応答ではありません」というエラーはどういう意味ですか?
クライアントとサーバーの通信が中断された場合、または Gutenberg がサーバーに到達できない場合、WordPress は受信したメッセージを無効な JSON 応答として認識し、「応答は有効な JSON 応答ではありません」と表示します。
ブロックエディターから投稿を更新または公開しようとしたり、メディアをアップロードしようとしたりすると、WordPress の無効な JSON 応答エラーが Web サイトに表示されることがあります。 エラーメッセージを表示することで、WordPress は実行しようとしていたタスクが失敗したことを知らせます。 その結果、通常のクライアント/サーバー通信が復元されるまで、行った更新はサーバーに保存されません。
「The response is not a valid JSON response」エラーの背後にある上位 5 つの問題とその対処方法
WordPress の「応答は有効な JSON 応答ではありません」というエラー メッセージの背後には、主に 5 つの問題があります。
- WordPress サイトのアドレス設定が正しくない
- 壊れたパーマリンク
- SSL エラーと競合するリダイレクト
- リクエストをブロックするセキュリティ ソリューション
- プラグインの競合
WordPress サイトのアドレス設定が正しくない
WordPress アドレスとサイト アドレスの設定が間違っていると、REST API の正常な動作が中断され、WordPress Web サイトに「応答は有効な JSON 応答ではありません」というメッセージが表示されます。 URL が新しいドメイン名を反映するように更新されていない場合、Web サイトの移行またはクローン作成後に両方の設定が正しくないことがよくあります。
WP_HOME および WP_SITEURL 定数は、WordPress が Web サイトのアドレスを識別するために使用します。 WordPress アドレス設定は、WordPress インストールの場所を指し、サイト アドレスは、訪問者がサイトを開くためにブラウザーのアドレス バーに入力する必要がある URL を表します。
ほとんどの場合、WP_HOME と WP_SITEURL の両方の定数は同じ値を持ち、WordPress データベースの wp_options テーブルから自動的に読み込まれ、siteurl および home オプションとして保存されます。 サイト URL とホームは、wp_options の最初の 2 行にあります。 どちらの設定も Uniform Resource Locator を表すため、正しいプロトコルを含める必要があります。
WordPress アドレスとサイト アドレスを使用して、Web サイトで HTTPS を強制することもできますが、競合するリダイレクトを調査しようとすると見逃されることがよくあります。 サイト URL とホームで指定されたプロトコルが正しくないと、「リダイレクトが多すぎます」というエラーなど、多くの問題が発生する可能性があります。
対処方法
wp-config.php ファイルや WP CLI を変更するなど、WordPress のアドレスとサイトのアドレスを設定する方法は複数あります。 しかし、それを行う最も簡単な方法は、WordPress 管理インターフェースを使用することです。
WordPress ダッシュボードから [一般設定] メニューを開き、WordPress アドレスとサイト アドレスの設定を確認します。 正しい Web サイト アドレスとプロトコルが使用されていることを確認してください。 サーバーに有効な SSL 証明書がインストールされている場合は、HTTPS を使用して安全な接続を確保してください。 必要に応じて値を修正し、[変更を保存] ボタンをクリックします。
壊れたパーマリンク
WordPress パーマリンクは、Web サイトのすべての投稿とページに設定された一意の URL です。 パーマリンクが壊れていると、ブロック エディターから投稿やページへの更新を保存できず、ウェブサイトに「応答は有効な JSON 応答ではありません」と表示されます。 さらに、すべての Web サイト ページに「404 ページが見つかりません」というエラー メッセージが表示されるため、パーマリンク構造を修正するまでコンテンツを利用できません。
対処方法
Web サイトを参照して、すべての投稿とページが正しく読み込まれるかどうかを確認します。 「見つかりません」というエラー メッセージが表示される場合は、WordPress Web サイトのドキュメント ルート ディレクトリにある .htaccess ファイルを調べて、デフォルトのリダイレクト ルールが存在することを確認してください。
デフォルトのコードがない場合は、手動で追加してファイルを保存します。 または、WordPress の管理エリアから [設定] > [パーマリンク] に移動し、[変更を保存] ボタンをクリックして、パーマリンク構造を再保存することもできます。
SSL エラーと競合するリダイレクト
競合するリダイレクト、混合コンテンツ エラー、またはその他の SSL の問題が原因で、「応答は有効な JSON 応答ではありません」という WordPress エラーまたは「ERR_TOO_MANY_REDIRECTS」メッセージが Web サイトに表示されることがあります。 それぞれの状況を確認して、WordPress Web サイトの機能にどのように影響するかを理解しましょう.
SSL エラーと混合コンテンツ
SSL 証明書の有効期限が切れているか、正しくインストールされていない場合は、HTTPS を使用できません。 WordPress Web サイトが安全な接続を使用するように構成されていて、HTTPS を強制するリダイレクトが設定されている場合、問題が発生します。
混合コンテンツは、SSL の最も一般的な問題の 1 つであり、これは、ベース HTML ファイルが HTTPS 経由で読み込まれるが、画像、Javascript、CSS ファイルなどの他のリソースが安全でない接続を介して訪問者に配信される状況として定義できます。 混合コンテンツが存在する場合、ブラウザーは接続が完全に安全でないと表示します。 HTTPS Web ページに含まれるコンテンツを HTTP 経由で提供すると、ブロック エディターで作業しているときに、WordPress の無効な JSON 応答エラーが表示される可能性があります。
競合または不正なリダイレクト
リダイレクトの競合または不適切なリダイレクトにより、WordPress Web サイトでリダイレクト ループが発生したり、ブロック エディターを使用しているときにクライアントとサーバー間の通信が中断されたりして、「応答が有効な JSON 応答ではありません」という WordPress エラーが発生する可能性があります。 競合するリダイレクトがあるということは、少なくとも 2 つのリダイレクトがあることを意味します。1 つは HTTPS を強制しようとし、もう 1 つは HTTP にリダイレクトしようとします。
発生する可能性のある最も一般的な問題の 1 つは、オリジン サーバーで構成されたリダイレクトと、使用するコンテンツ配信ネットワークによって適用されるリダイレクトとの間で競合が発生することです。 たとえば、CloudFlare には、オフ、フレキシブル、フルの 3 つの暗号化モードがあります。 モードを選択すると、CDN がサーバーからコンテンツを要求し、それを Web サイトの訪問者に配信する方法を選択できます。
WordPress の「応答は有効な JSON 応答ではありません」というメッセージなど、問題を引き起こす典型的な状況は、Cloudflare Edge SSL がインストールされている場合に、サーバー レベルで HTTPS が強制されていることです。これにより、ブラウザと Cloudflare 間の暗号化のみが許可されます。 その場合、オリジン サーバーで構成された HTTPS を強制的にリダイレクトすると、問題が発生します。
対処方法
SSL エラーや競合するリダイレクトを回避する最善の方法は、有効な SSL をインストールし、コンテンツ配信ネットワークを使用するときにエンドツーエンドの暗号化を確実にすることです。 2 つの証明書をインストールする必要があることに注意してください。1 つはオリジン サーバーにあり、もう 1 つは CDN によって提供されます。
WordPress Web サイトに有効な SSL 証明書があるかどうかを確認し、以前の証明書の有効期限が切れている場合は新しい証明書をインストールします。 有効な SSL 証明書がインストールされていても Web サイトが完全に安全でないと表示される場合、WordPress で「応答は有効な JSON 応答ではありません」というメッセージが表示される原因として最も可能性が高いのは混合コンテンツです。 WP CLI を使用して WordPress データベースで検索置換を実行し、残りの HTTP 参照を削除するか、Really Simple SSL のようなプラグインを使用して混合コンテンツの警告を修正できます。
CDN を一時的に一時停止して、接続が失敗した正確な場所を確認することもできます。 CDN が無効になっている Gutenberg で投稿の更新を保存する際に問題が発生しない場合は、CDN が配信元サーバーと通信する方法に問題があるか、コンテンツ配信ネットワークと組み合わせて使用される Web アプリケーション ファイアウォールによって要求がブロックされている可能性があります。
WordPress のリクエストをブロックするセキュリティ ソリューション
WordPress セキュリティ プラグイン、コンテンツ配信ネットワークによって実装された Web アプリケーション ファイアウォール ルール、または ModSecurity のようなサーバー側 WAF などの使用されているセキュリティ ソリューションは、正しいクライアント/サーバー通信を中断し、「応答は有効な JSON 応答ではありません」というメッセージにつながる可能性があります。ワードプレス。
アプリケーション レベルで動作する各セキュリティ ソリューションは、Web サーバーに送信される悪意のある要求の数を最小限に抑えるために、WordPress Web サイトに送信される各要求がチェックされる一連のルールを提示します。 特定のルールがトリガーされると、リクエストがブロックされ、エラー メッセージが返され、WordPress の無効な JSON レスポンス エラーが表示されます。
対処方法
問題を追跡する最善の方法は、サーバーと WAF のログをチェックして、リクエストが実際にブロックされたかどうかを確認することです。セキュリティ ソリューションの 1 つは、「応答は有効な JSON 応答ではありません」というエラー メッセージが表示される原因です。 それができない場合は、WordPress セキュリティ プラグインと Cloudflare WAF などの他のソリューションを無効にして、問題が解決するかどうかを確認してください。
存在する場合は、プラグイン サポート チームに連絡して、ルールの原因となっている問題を特定するか、オプションがある場合は自分でルールのリストを調べてください。 それでもブロック エディターから更新を保存したり、メディアをアップロードしたりできない場合は、サーバー側のセキュリティ ソリューションに問題がある可能性があります。 Web ホスティング サポート チームは、IP アドレスまたは Web サイトの URL に対してトリガーされたルールをホワイトリストに登録することで、問題の解決を支援できます。
悪意のあるリクエストに対して優れた保護を提供する管理ルールセットを備えた優れた WordPress セキュリティ プラグインを使用していることを確認してください。同時に、Web サイトの管理タスクの実行を妨げないようにしてください。 iThemes Security Pro は疑わしいアクティビティを積極的に監視し、WordPress Web サイトの最も脆弱な部分を保護するのに役立ちます。 サイト スキャン機能を有効にすると、マルウェアが見過ごされることはありません。
プラグインの競合
WordPress に関して言えば、プラグインの競合はエラーが発生する最も一般的な理由の 1 つです。これには、REST API の問題や、投稿やページを更新したり、データをアップロードしようとしたときに「応答が有効な JSON 応答ではありません」と表示される問題が含まれます。 一度に有効化するプラグインが多いほど、コードの非互換性が発生する可能性が高くなりますが、ほとんどの場合、これは見過ごされません。
対処方法
すべてのプラグインを無効にして、問題が解決するかどうかを確認してください。 「応答は有効な JSON 応答ではありません」というエラー メッセージが表示されなくなり、ブロック エディターから行われたすべての投稿の更新が正しく保存されている場合は、プラグインを 1 つずつ再アクティブ化して、問題の原因となっているプラグインを特定します。
特定のプラグインが最近更新されたことに気付く場合があるため、正しく機能していたバージョンに戻すには、更新をロールバックする必要がある場合があります。 プラグイン ユーザーのサポート リクエストをチェックして、他のユーザーが同じ問題を経験しているかどうかを確認してください。 次のリリースで問題が解決されるか、プラグインを引き続き使用できる既知の修正がある可能性があります。
iThemes Security Version Management を使用すると、WordPress、プラグイン、およびテーマを自動更新して新機能を活用し、既知の脆弱性から保護し、WordPress Web サイトの正常な動作が中断されるのを回避できます。
無効な JSON 応答 WordPress エラーを 3 ステップで修正する方法
「応答は有効な JSON 応答ではありません」というエラー メッセージが WordPress Web サイトに表示される原因となるさまざまな問題があるため、トラブルシューティングを行い、どこから始めればよいかを理解することが難しい場合があります。 このガイドで概説されているすべての修正を急いで適用しないでください。 以下の手順に従って、WordPress の無効な JSON 応答エラーを完全に修正します。
ステップ 1. 最近の変更を特定する
あなたのウェブサイトの基本的なチェックを行うことから始めます。 最後に WordPress のコアとプラグインの更新がいつ実行されたかを確認し、ブロック エディターからコンテンツの更新を保存して Web サイトにメディアをアップロードできた前回以降、Web サイトで何か変更があったかどうかを考えてください。
プラグインが最近更新された、Web アプリケーション ファイアウォールに新しいルール セットが追加された、またはハッキングされたために Web サイトをバックアップから復元する必要があったことに気付くかもしれません。 「応答は有効な JSON 応答ではありません」というエラー メッセージの原因を正確に知ることは、どこから始めればよいかを理解し、時間と労力を節約するのに大いに役立ちます。
ステップ 2. WordPress ウェブサイトを調べる
WordPress の「応答は有効な JSON 応答ではありません」というエラー メッセージを修正するには、検索範囲を制限する必要があります。 この記事の前のセクションで説明した問題のほとんどは、Gutenberg でコンテンツの更新を保存できなかったり、メディアをアップロードできなかったりするだけでなく、より深刻な問題を引き起こします。
ウェブサイトのページを閲覧する
Web サイトを参照して、すべての Web ページを読み込めるかどうかを確認すると、ブラウザはすべての Web ページで完全に安全な接続を示します。 その結果、SSL、パーマリンク構造、またはリダイレクトに問題があるかどうかを簡単に判断できます。 パーマリンクが壊れていると、Web ページに「見つかりません」というエラー メッセージが表示されます。リダイレクトが競合すると、「ERR_TOO_MANY_REDIRECTS」が表示される可能性があります。
WordPress のアドレス設定と SSL を確認する
URL で使用されているプロトコルを含め、WordPress のアドレス設定を確認し、SSL 証明書が有効であり、SSL チェッカーを使用してすべてのブラウザーから信頼されていることを確認してください。 CDN を使用している場合は、暗号化の設定を確認し、サーバーに設定したリダイレクトが、コンテンツ配信ネットワークで強制されているものと競合していないことを確認してください。
ステップ 3. WordPress の「応答は有効な JSON 応答ではありません」というメッセージを修正する
WordPress Web サイトを注意深く調べて、最近行われたすべての更新を書き留めておけば、ブロック エディターまたはメディアをアップロードしています。
パーマリンク構造が壊れているか、ウェブサイトで他のエラーを引き起こす重大な問題がない限り、特定の投稿をできるだけ早く公開する必要がある場合は、一時的にクラシック エディターに切り替えることができます。 クラシック エディター プラグインをインストールします。アクティブ化すると、ブロック エディターが置き換えられます。 投稿が公開されたら、トラブルシューティング プロセスを再開できます。
このガイドの前のセクションに記載されている手順に従って、特定した問題に対処してください。 WordPress サイトのアドレス設定が正しく、パーマリンクが期待どおりに機能し、SSL、混合コンテンツ、および競合するリダイレクトに関するすべての問題を除外した場合は、セキュリティ ソリューションを無効にします。 問題が解決しない場合は、すべてのプラグインを無効にして、プラグインの競合が原因であるかどうかを確認してください。
問題を特定するのに何も役立たず、Web サイトで「応答は有効な JSON 応答ではありません」というエラー メッセージが表示される原因がわからない場合は、Web ホスティング サポート チームにお問い合わせください。 完全に正常な2番目の目が必要になる場合があります。 さらに、サポート管理者は、トラブルシューティング プロセスをスピードアップできるサーバー ログを確認できます。
結論
WordPress ブロック エディターは、REST API を使用してサーバーと通信し、データを送信するクライアント側のアプリケーションです。 クライアントとサーバーの通信が中断されると、「応答は有効な JSON 応答ではありません」などのエラーが発生します。 WordPress の無効な JSON 応答エラーは、さまざまな問題によって引き起こされる可能性があります。最も一般的なのは、不適切な WordPress アドレス設定、壊れたパーマリンク構造、SSL エラー、および競合するリダイレクトです。
場合によっては、WordPress サイトがセキュリティ プラグインまたは Web アプリケーション ファイアウォールとして使用される別のソリューションによってブロックされることがあります。 管理ダッシュボードから送信されたリクエストがブロックされる可能性を最小限に抑え、トラブルシューティング エラーの時間を節約しながら、悪意のあるトラフィックから完全に保護する最善の方法は、適切なセキュリティ ソフトウェアを選択することです。
セキュリティとユーザビリティの間には微妙な境界線がありますが、どちらかを選択する必要はありません。 iThemes Security Pro は、WordPress のセキュリティ プラグインであり、日々のタスクに集中することができ、WordPress Web サイトがすべての既知の脆弱性やセキュリティの脅威から保護されていることを確認できます。
WordPress を安全に保護するための最高の WordPress セキュリティ プラグイン
WordPress は現在、すべての Web サイトの 40% 以上で使用されているため、悪意のあるハッカーにとって格好の標的となっています。 iThemes Security Pro プラグインは、WordPress のセキュリティから当て推量を取り除き、WordPress Web サイトを簡単に保護および保護できるようにします。 これは、WordPress サイトを常に監視して保護するフルタイムのセキュリティ専門家がスタッフにいるようなものです。
Kiki は情報システム管理の学士号を取得しており、Linux と WordPress で 2 年以上の経験があります。 彼女は現在、Liquid Web と Nexcess のセキュリティ スペシャリストとして働いています。 それ以前は、Kiki は Liquid Web Managed Hosting サポート チームの一員であり、何百人もの WordPress Web サイト所有者を支援し、彼らがよく遭遇する技術的な問題について学びました。 彼女の執筆への情熱により、彼女は自分の知識と経験を共有して人々を助けることができます。 テクノロジーとは別に、キキは宇宙について学んだり、真の犯罪に関するポッドキャストを聞いたりすることを楽しんでいます。