記事公開や更新で正しいJSONレスポンスではありませんと出たときの解決法

WordPress

WordPressで返答が正しいjsonレスポンスではありませんというエラーメッセージが表示され、更新も公開もできなくなったので、原因と解決法をまとめました。

公開(更新)に失敗しました。 返答が正しい json レスポンスではありません。

このエラーがでた場合、記事や固定ページの公開(更新)ができません。
エラーとしては致命的なレベルです。

次に、原因を説明しますが、解決方法だけ知りたい場合は.httaccessが書き換えられるをお読みください。

エラーの発生する原因

このエラーはWordPress5.0から搭載されたエディタ「Gutenberg(グーテンベルグ)」が原因です。つまり、Classic Editorプラグインを利用し、Gutenbergの使用をやめると、ひとまず解決します。

ですが、次の問題もあります。

  • 根本的な解決ではない
  • Classic Editorは2022年に廃止が決まっている

そのため、Gutenbergを使いつつエラーを解決する方法をしらべました。

.httaccessが書き換えられる

WordPressは、パーマリンクの設定で.htaccessというファイルにリライトルールを記述し、
いろいろなパーマリンクのパターンを実現させています。

この.htaccessのリライトルールが消えているとエラーが発生します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

では、どういった場合にリライトルールが消えるか説明します。

  • WordPressのパーマリンクを「基本」に戻した場合
  • レンタルサーバーのコントロールパネルから設定変更した場合

このように、自分で変更した覚えがないのに.httaccessが書き換えられると発生します。

図のように「基本」を選択して保存すると.htaccessの設定が消えてしまうため発生します。

この場合、WordPressのパーマリンク設定で「基本」以外を選択して保存すると解決します。

他にもいろいろな要因があるそうですので、このような対処法で直ったという方がいましたら、ぜひコメント欄やメールにて教えてください。

コメント

タイトルとURLをコピーしました