セキュリティ 2025.01.15 2025.01.23
「更新に失敗しました。返答が正しいJSONレスポンスではありません」エラーの解決方法とは?
WordPressで記事を更新しようとした際に「更新に失敗しました。返答が正しいJSONレスポンスではありません」というエラーメッセージが表示されることがあります。このエラーが表示されるとサイトの更新ができないため、速やかに問題を解決する必要があります。
この記事では、このエラーが起きる原因と、具体的な7つの解決方法をわかりやすく説明します。
「更新に失敗しました。返答が正しい JSON レスポンスではありません。」とはどんなエラーか
「更新に失敗しました。返答が正しいJSONレスポンスではありません。」とは、WordPressの投稿を編集したりページを更新したりする際に表示されるエラーメッセージです。
このエラーは、ブロックエディター(Gutenberg)を使用している際に発生します。ブロックエディターは常にWebサーバーと通信しており、何らかの原因で通信に問題が生じるとサーバーから有効なJSON形式の応答を受け取れず、このエラーが表示されます。
JSONとは、JavaScriptをベースに作られたデータフォーマットです。APIなどでテキストデータを処理する際によく使用されます。
「更新に失敗しました。返答が正しいJSONレスポンスではありません。」というエラーが発生した場合は、WordPressでは以下のいずれかに問題が生じたと考えられます。
問題箇所 | 説明 | |
---|---|---|
1 | パーマリンク設定 | パーマリンク設定に問題がある場合、正しいJSON形式の応答が返ってこないことがあります。 |
2 | .htaccessファイル | .htaccessファイルに記述間違いなどがある場合、サーバーとの通信が正しく行われないことがあります。 |
3 | WAF | WAFが有効になっている場合、サーバーとの通信を遮断してしまうことがあります。 |
4 | プラグイン | プラグインの不具合により、サーバーとの通信を妨げることがあります。 |
5 | テーマ | 使用しているテーマに問題がある場合、正しいJSON形式の応答が返ってこないことがあります。 |
6 | REST API | REST APIが無効になっている場合、サーバーと通信できずに正しいJSON形式の応答が返ってこないことがあります。 |
7 | SSL設定 | SSLの設定が正しくない場合、通信に問題が生じることがあります。 |
エラーが表示された際、自社サイトでどこに問題があるのかを特定するのは容易ではありません。そのため、考えられる原因を一つずつ順番に修正していく方法がおすすめです。
「更新に失敗しました。返答が正しい JSON レスポンスではありません。」というエラーを解決する7つの方法
WordPressを編集中に「更新に失敗しました。返答が正しい JSON レスポンスではありません。」というエラーメッセージが表示されたら、以下の方法を順番に試してみて解決を試みます。
- パーマリンク設定を更新する
- htaccessファイルを初期状態に戻す
- WAFを無効化する
- プラグインを無効化する
- テーマをデフォルトに変更する
- REST APIを有効化する
- WordPressのURL設定を確認する
いずれの方法でも、作業を行った後にエディターに戻ってエラーが解消されたかどうかを確認してください。
方法【1】パーマリンク設定を更新する
簡単に実行可能で、かつエラーを解消できる可能性も比較的高いため、最初に試してほしいのがこの方法です。エラーの原因がパーマリンク設定であれば、この作業で問題が解決します。
【手順】
- WordPress管理画面から「設定」→「パーマリンク」を開きます。
- 設定は変更せずにそのまま「変更を保存」をクリックします。
パーマリンク設定を変更していなくても、「変更を保存」をクリックすることでWordPress は強制的にパーマリンク設定を再生成します。
方法【2】.htaccessファイルを初期状態に戻す
.htaccessは、Webサーバーを制御・構成するために使用される特別なファイルです。一度このファイルを削除することで、.htaccessを再生成することができます。エラーの原因が.htaccessであれば、この作業で問題が解決します。
【手順】
- FTPツールでWordPressが保存されているディレクトリへアクセスします。通常はWordPressサイトのディレクトリルート直下にあります。
- 現在の.htaccessはバックアップを取得しておきます(既に記述がある場合に記述を保管するため。または問題が起きた場合に対処するため)。
- .htaccessファイル を削除してから、方法【1】と同じ手順をおこないます。この操作で.htaccessファイルが新規に作成されます。
- .htaccess ファイルをカスタマイズしていた場合は、バックアップしたファイルから新規に作成されたファイルに、カスタマイズ箇所の記述をコピペします。
※.注意事項
htaccessファイルがない状態では、通常のWebサイトが閲覧できなくなります。なるべく早期に.htaccessファイルを再生成するようにする、Webサイトの訪問者が少ないタイミングに実施する、テスト環境で試すなど、対策を行った上で実施するようにしましょう。
方法【3】WAFを無効化する
WAF(ワフ:Web Application Firewall)は、Webサーバーをサイバー攻撃から守るためのツールです。近年サイバー攻撃による被害が増加しているため、不審なアクセスを遮断し、攻撃を防ぐ目的でWAFを導入するレンタルサーバーが増えています。
しかし、WAFは正常なJSON APIリクエストを誤って遮断してしまうことがあります。レンタルサーバーでWAFを使用している場合は、コントロールパネルからWAFを一時的に無効にしてみてください。エラーの原因がWAFにあるのであれば、この作業で問題が解決します。
この方法でエラーが解消した場合、WAFの使用が難しい場合があります。自力での解決が難しい場合は、WAFのサポートに問い合わせる、WordPressの専門家に確認するといった方法でWAFの使用可否について確認すると良いでしょう。
※.注意事項
WAFを無効化している間は、WAFのセキュリティは機能しません。
WAFの問題を解消した後、または、WAFを無効化しても問題が解決しない場合は、WAFを再度有効化させるのを忘れないようにしましょう。
方法【4】プラグインを無効化する
方法【1】から【3】を実行してもエラーが解消しない場合、次にプラグインを疑います。
【手順】
- エラーがプラグインに起因するかどうかを確認するために、まず全てのプラグインを一時的に無効化します。
- エラーが発生した操作をおこない、問題が解決しているかどうかを確認してください。
- エラーが解消されていた場合は、次にプラグインを一つずつ有効化していき、どのプラグインが問題を引き起こしているかを特定します。
- エラーの原因となるプラグインが特定出来た場合は、そのプラグインの使用を辞めるか、代替プラグインに変更するなどの対処をおこないます。
※.注意事項
プラグインを無効化すると、プラグインの機能は使用できず、Webサイトの機能や見た目に影響がある場合があります。なるべく早期に原因を特定する、Webサイトの訪問者が少ないタイミングに実施する、テスト環境で試すなど、対策を行った上で実施するようにしましょう。
方法【5】テーマをデフォルトに変更する
方法【4】と同様に、エラーが現在使用しているテーマに起因するかどうかを確認します。
【手順】
- 現在のテーマから、「Twenty Twenty-Four」「Twenty Twenty-Three」などWordPressに最初から組み込まれているデフォルトテーマに変更します。
- エラーが発生した操作をおこない、問題が解決しているかどうかを確認します。
- エラーが解消されていた場合は、「テーマを編集して問題箇所を修正する」または「別のテーマを使用する」などの方法で対応します。テーマ開発元に連絡が取れる場合は、エラーの内容と状況を伝えて対応方法を確認すると良いでしょう。
※.注意事項
デフォルトテーマに変更すると、Webサイトの機能や見た目がデフォルトテーマに合わせて変更されてしまいます。なるべく早期に原因を特定する、Webサイトの訪問者が少ないタイミングに実施する、テスト環境で試すなど、対策を行った上で実施するようにしましょう。
方法【6】REST APIを有効化する
プラグイン、テーマにも問題がない場合は、REST APIに関連したエラーかどうかを確認します。REST APIは初期状態で有効になっていますが、セキュリティ上の理由などから運用者側で無効にしているケースがあるためです。
REST APIはブロックエディタを使用する上で必要なため、functions.phpを確認し、無効になっている場合は有効化します。REST APIの確認や有効化には、少し開発者の知識が必要になりますが、それほど難しいわけではないので手順を確認していきましょう。
【手順】
- FTPソフトなどでWordPressの現在使用中のテーマのテンプレートディレクトリにアクセスする(「wp-content」→「themes」→「(テーマ名)」)
- 「functions.php」ファイルを開く
- 以下のような記述があるかを確認し、記述があれば削除する(削除前に必ずバックアップを取ってください)
- エラーが発生した操作をおこない、エラーが解消しているかを確認する
- 解消していればOKです。ただし、何らかの理由があってREST APIを無効化しているはずなので、念の為、「なぜREST APIを無効化していたのか」「無効化しても問題ないのか」を開発者やセキュリティ担当者に確認しておきましょう。
1 2 3 4 |
function (関数名)() { return new WP_Error( 'disabled', __( 'REST API is disabled.' ), array( 'status' => rest_authorization_required_code() ) ); } add_filter( 'rest_authentication_errors', '(関数名)' ); |
方法【7】WordPressのURL設定を確認する
WordPress管理画面の「設定」→「一般」を開き、下記2つの項目が実際のサイト運用に合っているかどうかを確認します。
- WordPressアドレス(URL)
- サイトアドレス(URL)
WordPressアドレスとサイトアドレスの違いが分からず、設定を誤ったまま運用していると、正しいJSONレスポンスが返ってこない原因になる場合があります。
WordPressアドレスとは?
WordPressのコアファイル(wp-admin や wp-includes、テーマやプラグインなどを格納しているディレクトリ)が存在する場所を示すURLです。
- たとえば、WordPressをドメイン直下 (https://example.com) にインストールしている場合は https://example.com がWordPressアドレスになります。
- サブディレクトリ(例:/blog)にインストールしている場合は https://example.com/blog などがWordPressアドレスになります。
サイトアドレスとは?
訪問者(ユーザー)がWebブラウザからアクセスするときに使用するURLです。
一般的には、公開したいサイトのトップページのURLを指定します。WordPressをサブディレクトリにインストールしていても、トップページはルートドメインにしたい場合など、WordPressアドレスとサイトアドレスを分けて運用できます。
- たとえば、WordPressを https://example.com/blog にインストールしつつ、サイト自体は https://example.com にアクセスしてもらいたいときは、WordPressアドレスを https://example.com/blog、サイトアドレスを https://example.com に設定します。
URL設定を確認・修正するポイント
- 「http」と「https」の不一致
- ドメイン名やサブディレクトリの指定ミス
- 実際の運用URLと設定URLが同じかどうか
サイト全体をhttpsで運用しているのに、片方のアドレスだけhttpになっていないか。
WordPressを別フォルダにインストールしたのに、設定がルートドメインのままになっていないか。
サイト訪問者がアクセスするURLと設定が食い違っていないか。
上記の方法で問題が解決しなかった場合
上記の7つの方法で問題が解決しなかった場合、少し開発の知識が必要になりますが、開発者向けのツールを活用することで問題解決の糸口を掴める可能性があります。
例えば、Google Chromeの開発者ツールを使用してエラーの状況を可視化できます。開発者ツールを開いて「ネットワーク」タブをクリックし、WordPressを操作しながらエラーが発生するか確認します。
赤字で表示されているエラー項目があればクリックし、「レスポンス」タブでエラーの理由を確認します。
たとえば、403エラー(アクセスがブロックされたエラー)が表示されている場合、WAFの誤作動が原因である可能性があります。エラーの種類やメッセージの内容から問題を特定できる可能性があるので、試してみてください。
上記で紹介した方法を全て試したけれども問題が解決しない場合、一時的にクラシックエディタに切り替えることで問題を回避できる可能性があります。しかし根本的な解決にはならないため、あくまでも一時的な回避策として選択してください。
まとめ
「更新に失敗しました。返答が正しいJSONレスポンスではありません」というエラーには、さまざまな原因が考えられます。考えられる可能性について順番にトライしていき、問題の原因特定と解決を図るのが、もっとも簡単で確実な方法です。
また、自社でエラー対応に十分な人手を割けない場合や、迅速に問題を解決したい場合には、WordPressの実績が豊富な開発会社に相談するのがスムーズです。必要に応じて専門家の力を借りることも検討してみてください。
WordPress保守・運用のパートナーなら「wp.support」にお任せ!
WordPressサイトを運用していて、以下のようなお悩みはありませんか?
- 管理画面を使いやすくしたいけれど、カスタマイズする時間や技術がない…
- サイトのUI/UXを改善したいけれど、自社内では難しい…
- WordPressサイトを高速化したいけれど、ノウハウがない…
- セキュリティ対策をしたいけれど、知識のある人材がいない…
- 日々の業務に追われて、バージョンアップなどの保守業務が放置気味…
- ちょっとしたトラブルを気軽に相談できる相手が欲しい…
「wp.support」は、WordPressのプロフェッショナル集団によるWordPress保守サービスです。
「セキュリティ対策」「バージョンアップ対応」「定期バックアップ」はもちろん、「電話サポートが無制限」なのでカスタマイズの方法やトラブル発生時にも気軽にプロに相談できます。
既に導入済みのお客様からも、
「些細なことでも気軽に相談できるパートナー的な存在」
「困ったら相談していいんだ、と気持ちが楽になった」
と大変ご好評をいただいています。
WordPress保守・運用のパートナーをお探しなら、ぜひお気軽にお問合せください。
バージョンアップが面倒だと思ったら WordPress保守・セキュリティ対策は『wp.support』にお任せ!
WordPressのバージョンアップやセキュリティ対策にお悩みではないですか?
面倒な保守・運用作業は全て任せて、コア事業に集中してください。
大手・上場企業100社以上のWebサイトの安全を守る、WordPressのプロフェッショナル集団が、あなたのWordPressサイトを守ります!
【対応範囲】
・WordPress、プラグインのバージョンアップ ・セキュリティ対策 ・継続的なバックアップ ・緊急時の復旧対応 ・技術サポート・電話/メールサポート無制限 etc...
WordPressに関することなら何でもご相談ください!