WordPressで「更新に失敗しました。返答が正しいJSONレスポンスではありません」とエラーが出ちゃった…
ある日、WordPressで記事の修正をして更新をしようとしたら、「更新に失敗しました。返答が正しいJSONレスポンスではありません」とエラーが出てしまいました。
↑こんなエラーです。
「更新が出来てないの?」と焦るエラーです。
どうもこのエラー、Gutenberg(ブロックエディタ)で発生しているエラーのようで、「Classic Editorに戻す」という対処法もありましたが、2022年までと言われているので、ここはGutenbergで解決したいですよね。
そして、このエラーが出てなかなか解決できなかったので対処法を共有したいと思います。
[st_toc]実際におきたエラー
下書きや、記事の投稿をすると「更新に失敗しました。返答が正しいJSONレスポンスではありません。」というエラーメッセージがでます。
びっくりして本当に下書きや投稿ができていないのか、と思い投稿画面から記事一覧に行こうとすると、「行った変更が保存されない可能性があります」というメッセージが出ます。
ここで「このページを離れる」を選択し、記事一覧に行くと、きちんと下書きは出来ているし、投稿もきちんとされています。
つまり、エラー表示は出ているけれど、動作はきちんとしている、という状態でした。
.htaccessの再生成
このエラーで解決方法を調べると、まずは.htaccessの再生成があげられます。
WordPressにおける.htaccessは、アクセスを制御するサーバー用の設定ファイルです。
簡単に言ってしまえばルールです。
その中に、パーマネントに関するルールも含まれています。
ということは、WordPressのパーマネントを変更すると.htaccessも書き換えられる、ということになります。
その中でも、今回のエラーが出る時は.htaccessのパーマネントのルールが空になってしまった場合に出るようで、パーマネントを「基本」にした時に空になってしまうようです。
これが、自分では特に変更した覚えがないのになんらかの拍子に「基本」に戻ってしまっていたら、パーマネントを設定し.htaccessを再生成することでエラーがでなくなります。
ちなみに私はパーマネントに問題なく、.htaccessも問題がなかったので、この方法ではエラーは解決しませんでした。
WP External Linksの変更
パーマネントも正しいし、.htaccessもきちんと書かれている。という場合はプラグインの問題です。
面倒ですが一度全てのプラグインを無効化し、一つ一つプラグインを有効化していきます。
そうするとなんらかのプラグインでエラーがでます。
今回の私の場合は、「WP External Links」を有効化した時にエラーが出ました。
でも、このままプラグインを使わない、という選択肢はなかったので、設定方法を変えることにしました。
変更した設定は、「例外」タブで「設定を適用」の部分で「すべてのコンテンツ(ページ全体)」のチェックだけ外します。
他の3つに関してはチェックをつけたままです。
私の場合は、これでエラーは出なくなりました。
まとめ:「更新に失敗しました。返答が正しいJSONレスポンスではありません」となった場合の対処法2つ
このエラーが出る原因はいくつかあるようで、どれもが.htaccessの再生成でエラーは収まるようです。
しかし、.htaccessはきちんと書かれていて問題がないのにエラーが出ていたり、私のようにエラーは出ているけれど、動作はきちんとしている、という場合はプラグインが原因になっていることがほとんどです。
もし、WP External Linksを使っていてエラーが出た場合は上記の設定に変更することでエラーは出なくなります。
WordPressではプラグインの相性などでエラーになる場合があるので、一つ一つ確認していこう
コメント