WordPressで返答が正しいjsonレスポンスではありませんというエラーメッセージが表示され、更新も公開もできなくなったので、原因と解決法をまとめました。
なぜ発生するのか
このエラーはWordPress5.0から搭載されたエディタ「Gutenberg(グーテンベルグ)」が原因です。つまり、Classic Editorプラグインを利用し、Gutenbergの使用をやめると、ひとまず解決します。
ですが、次の問題もあります。
- 根本的な解決ではない
- Classic Editorは2022年に廃止が決まっている
そのため、Gutenbergを使いつつエラーを出さない方法を調査しました。
.httaccessの問題
WordPressで「基本」以外のパーマリンクを設定すると、.htaccessに以下の記述が必ず記載されます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
このmod_rewriteの設定が消えていると、返答が正しいJSONレスポンスではありませんとエラーが発生します。
では、どういった場合にこの設定がきえるかは、
- WordPressのパーマリンクを「基本」に戻した場合
- レンタルサーバーのコントロールパネルから設定変更した場合
というように、自分で変更した覚えがないのに外的要因で.httaccessが書き換えられると発生します。
この場合、WordPressのパーマリンク設定で再度保存すると.htaccessが上書きすると解決します。
他にもいろいろな要因があるため、追記していきます。
コメント