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のパーマリンク設定で「基本」以外を選択して保存すると解決します。
他にもいろいろな要因があるそうですので、このような対処法で直ったという方がいましたら、ぜひコメント欄やメールにて教えてください。
コメント