- WordPressで記事を保存しようとしたら「更新に失敗しました。返答が正しい JSON レスポンスではありません」というエラーが表示されました(2023年9月21日 10:00ごろ)。
- どうも、記事保存時のアクセスでエラーになっているようです。
いくつか対処法を確認しましたが、改善せず。 - さしあたり、「パーマリンク設定」を「基本」に変更すれば、記事を投稿できます。
ただし、この方法だと検索エンジンからのアクセスが 404エラーになってしまう問題点もありました。 - SNSでのエラー情報によると、レンタルサーバで mixhost を利用しているという共通点があるようです。
- 【追記】mixhostのマイページ – メンテナンスの完了報告後、「パーマリンク」を設定しても無事に投稿できるようになりました。(2023-09-21 14:40)

サーバ障害で「JSON レスポンス」のエラーになることもあるんだね。
1. 記事が保存できない
朝(2023年9月21日 10:00ごろ)、記事を投稿しようとしたら、エラーになって進めませんでした。

更新に失敗しました。返答が正しい JSON レスポンスではありません。
記事の保存ができないので、同じタブで別のページに移動しようとすると、「行った変更が保存されない可能性があります」と表示されます。
幸いにして、外部からウェブサイトを閲覧するのは、問題なく動いています。
更新だけができません。
1-1. JSON リスポンスのエラーの主な対処法
このエラーは、よくあるものです。
ブロックエディタからデータベースに書き込むときに問題があることを示しています。
WordPressのブロックエディタは、「REST API」(Webシステムを利用するための呼び出しルール)を使って「wp-json」と通信し、記事の更新をしています。
この経路のどこかに問題がありそうです。
主な対処法は、
- クラシックエディタから書き込む
(現在は通常はない) - パーマリンクの設定を「基本」にする
- サイトの
.htaccess
を修正する - サーバのWAF(Web Application Firewall)を無効化する
- WordPressのREST APIを無効化する
見てわかるように、かなり土台の部分の問題によって出てくるエラーなのです。

正しく問題点を修正するのは大変です。
2. パーマリンクを「基本」にする
簡単に試すことができるのは、「パーマリンク」を「基本」にすること。
これだけで、問題の所在が明確になるかもしれません。

今回のエラーでは、これだけでブロックエディタでの記事の保存・公開ができるようにはなりました。
つまり、この周辺に問題の「根っこ」がありそうです。
2-1. これではリンク切れになる
ただし、これは「パーマリンクを使わない」ということです。
すべての記事は、「?p=id」のようなパラメータクエリでアクセスします。
パーマリンクにアクセスがあっても記事に誘導しなくなるので、検索結果などでのサイトへのアクセスが軒並み「リンク切れ」になってしまいます。

根本的には解決していません。
3. いろいろ対処法を試したけど
ネット上の過去の事例を参考に、いろいろ対処法を試してみました。
なんとなくWordPressの理解は深まった気がしますが、半日取り組んで結局は出ず。
3-1. プラグイン・テーマの問題を切り分ける
一応、プラグインやテーマの問題を切り分ける必要があります。
- 今回は、すべてのプラグインを無効化し、
- テーマを一時的に別のものに入れ替えてみました。
しかし、ブロックエディタで保存できない問題は解決しませんでした。
3-2. .htaccessを修正しても直らず
サイトへのアクセス制御をしている「.htaccess」がおかしいことも考えられました。
いろんなプラグイン設定やパーマリンク構造の変更などで、自動的に「.htaccess」は書き換えられます。
その中でデータ破損してしまうことがあるようです1。
パーマリンクを「基本」にしてから戻すことで、「.htaccess」を正しく書き直せるようです2。
ただし、今回は パーマリンクの変更前後で .htaccess の内容を比較してみましたが、全く同じものでした。

.htaccessには問題がなさそうです。
3-3. WAFを無効化しても直らず
アクセスをブロックしてしまう原因としては、「WAF(Web Application Firewall)」があります。
これは、サーバへの不審なアクセスをブロックするセキュリティ機能です。
しかし、たまに 間違えて 自分自身をブロックしてしまうことがあります3。
セキュリティ上 WAFを完全に無効化するわけにはいきませんが、一時的に無効化して戻すことで改善するかもしれません。
mixhostでのWAFは、cPanelの「ModSecurity」から管理できます4。

「無効化」して反映されるのに少し時間がかかります。
5分ほど待ってみました。
しかし、記事の保存はできませんでした。
WAFが原因ではなさそうです。
3-4. REST APIを無効化するとエディタ画面が表示されず
functions.phpに WordPressのREST APIを無効化するコードを入れてみました5。
//特定のプラグインを除外してREST APIを無効にする
function deny_restapi_except_plugins_demo( $result, $wp_rest_server, $request ){
$namespaces = $request->get_route();
//oembedの除外
if( strpos( $namespaces, 'oembed/' ) === 1 ){
return $result;
}
//Jetpackの除外
if( strpos( $namespaces, 'jetpack/' ) === 1 ){
return $result;
}
//Contact Form7の除外
if( strpos( $namespaces, 'contact-form-7/' ) === 1 ){
return $result;
}
return new WP_Error( 'rest_disabled', __( 'The REST API on this site has been disabled.' ), array( 'status' => rest_authorization_required_code() ) );
}
add_filter( 'rest_pre_dispatch', 'deny_restapi_except_plugins_demo', 10, 3 );
すると、ブロックエディタ自体が真っ白で開かなくなりました。

ブロックエディタは、REST APIを利用しているので、当然といえば当然ですね。
4. mixhostからサーバ メンテナンスのメールがあった
そうこうしているうちに、SNS上で同様のエラー報告が見つかりました。
どうも、mixhostサーバを利用している共通点があるようです。
WordPress編集画面で保存すると「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」と表示される
mixhostユーザーに同様の被害が多発してるみたい
https://x.com/ugo_fukugyo/status/1704716806403879191?s=20
私も朝からその状態でミックスホスト、swellユーザーです。
https://x.com/noa_maru_a/status/1704708564047253739?s=20
私もミックスホストで、今日同じエラーが出ています
パーマリンクいじってもなおらず。。。 一時的なものだろうと信じて放置しています・・・
https://x.com/nuuchanmh/status/1704715279790739475?s=20
mixhostからのメールを見てみると、一昨日に一時的にサーバ障害があって、これからサーバメンテナンスの予定がアナウンスされていました。

とりあえず、メンテナンスの完了を待つことにしました。
4-1. メンテナンス完了で復旧できた
すると、無事に元に戻りました。
ちゃんとパーマリンクが有効な状態で記事の保存ができるようになりました。

![[WordPress] プラグインの更新をしたら「Briefly unavailable」](https://chiilabo.com/wp-content/uploads/2023/06/image-10-5-320x198.jpg)

![[WordPress]「Briefly unavailable for scheduled maintenance」【自動更新タイミング】](https://chiilabo.com/wp-content/uploads/2021/11/image-23-320x198.png)
(補足)
- .htaccessの中身が空になっていました。- ワードプレスで保存すると「返答が正しい JSON レスポンスではありません」となり見出しが自動下書きとなる現象に対処 | ホームページ制作 オフィスオバタ
- 変更を保存する際に、.htaccessも設定情報にあわせた内容に書き換わり、投稿の際に上記のエラーが出なくなります。 –「公開(更新)に失敗しました。 返答が正しい JSON レスポンスではありません。」のエラーを修正する方法 – YCOMのホームページの制作・運営に役立つブログ
- WAFが影響してサイトの一部のコンテンツが更新できない – WordPressで内容が更新できない!そんなときはWAFを疑おう | しらこのナレッジ
- WAF/ModSecurityの有効/無効を切り替える方法 – mixhost ヘルプ&サポート
- 参考:WordPressのREST APIを無効化しつつ特定プラグインは動作するようにカスタマイズする方法