おきゃをのエンジニアもどきブログ

投資とエンジニアの備忘ブログ

WordPress【解決法】「返答が正しいJSONレスポンスではありません。」

はじめに

今回この「返答が正しいJSONレスポンスではありません。」のエラーで悩まされました。普段エンジニアやっているのでググって解決する力はあると思いますが地味に苦しんだので備忘(戒め)として残します。

起きた状況

ワードプレスURLを変えてしまったのが全ての悪夢の始まりでした。絶対にやるなとどこかで書いてあったのを忘れてしまいやってしまいました。

そこから復旧させるのにかなり苦労しましたが、なんとかできたと思うと今度は固定ページを追加しようとしても下書きもできなくなってしまった〜〜〜😭

私が設定していたことは

解決方法

隠しファイル「 .htaccess」を編集する

ここでミスっているとまずサイトにも接続できなくなりますね。ここの設定は大事です。

私の場合は

http://hoge.com/(例です)

SSL化したドメインで、

WPをインストールしたのは

http://hoge.com/blog/

でした。

サブディレクトリにワードプレスをインストールしていたので以下のような設定をしていました。

 RewriteEngine on
 RewriteCond %{HTTP_HOST} ^(www.)?hoge.com$
 RewriteCond %{REQUEST_URI} !^/blog/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /my_subdir/$1
 RewriteCond %{HTTP_HOST} ^(www.)?hoge.com$
 RewriteRule ^(/)?$ blog/index.php [L] 

ja.wordpress.org

しかしこれは問題なかったです、きちんとそのまま残っていました。

 

Classic Editor使う

f:id:kakaoringo:20210908212521p:plain  

 これで一旦解決はできました。しかしこれではGutenbergが使えないので根本的な解決にはならない。しかも2022年には使えなくなるって言うし。てことで調査継続。

 

一般の設定で、サイトURLとサイトアドレスを同じにする

 あれこれ調べていきついたのが下記のサイト

https://cms-hikaku-navi.com/column/1366/

 このワードプレスサイトとサイトアドレスが違うとエラーの原因になる模様。

サイトの復旧をしているうちに多分キャッシュやら何やらでSSL化がうまくいってなかったのでここの一般のサイトURLをhttps://hoge.com/に変えてみてたりしたんですね。

それが余計だったみたい。

 

私はここを同じにしたら無事治りました

f:id:kakaoringo:20210908215037p:plain

 

その他試したこと
  • データベースのwp_optionsのhome URL とサイトURLを変える → 余計ややこしくなった
  • パーマリンクを「基本」意外にする → 問題なかった
  • REST APIに関連してWAFの設定 → 関係なかった

 この辺はぐぐったらたくさんやり方が紹介してあるんですが全部うまくいかず。

 

考察

 サブディレクトリにワードプレスをインストールし、リダイレクトの設定を.htaccessでしていたので一般のところはいじる必要が全くなかったです。

ルートディレクトリをSSL化していたので常時SSL化に関してもこのリダイレクトの設定していたことで問題なかったようですね。(正直あんまわかってないけど)

 上記で紹介したサイトにもあるように、基本一般のURL設定はいじらない方がいいですね。

口すっぱくしていいますが

ワードプレスサイトはいじるなよ!!

とうことで以上です〜