WordPressで「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」というエラーが出てしまう件について。
技術的な知見が弱い私が、あっちこっち問い合わせたり調べたりいろいろ試して、なんとか解消に成功したので、備忘録的に記事にします。
原因は様々あるようなのですが、私の場合は下記の方法で解消できました!
「.htaccess」に、下記を追記する
#ブロックエディタエラー対策 start——–
<IfModule mod_siteguard.c>
SiteGuard_User_ExcludeSig ip(IPアドレスを記入)
</IfModule>
#ブロックエディタエラー対策 end——–
参考:【WordPress】「更新に失敗しました。返答が正しいJSONレスポンスで…。」で投稿失敗したときの対処法
という方にも向けて、私がやったことをメモしていきます。
前提条件とやりたかったこと
前提条件はこんな感じ。
- サーバーはConoHa WING
- テーマはSANGO
- パソコンはMac
- ブラウザはGoogle Chrome
- 対応者の私は技術的な知見がない、しがないデザイナー
余談ですが、ConoHaでサーバーを契約する時に、一緒にSANGOを買うと、800円お得になります◎
やりたかったことは、「メインビジュアルの下に、ピックアップコンテンツを表示したい」というもの。
- 記事のピックアップではなく、SNSなどに遷移させたいので、画像にリンクを貼りたい
- SANGOのスライダーを使えばできそう
- どうやらコンテンツブロックというものを作ればいいらしい
SANGO公式のこのあたりの記事を参考に作ろうとしていました。
エラーの発生タイミング
下記の作業をしたときに、このエラーが表示されました。
- コンテンツブロックを新規作成
- スライダーを追加
- スライダーに画像追加
- 下書き保存を押すと、エラーが出て保存できない
こんなの。
私はたまたまSANGOの機能を使っている時に起きましたが、おそらく原因はSANGOではなさそうでした。
場合によっては、通常の記事投稿の時に同じエラーが出るなど、エラーが起こるタイミングはいろいろあるみたいです。
試してみたこと
まずは素直にググってみて、出てきた解決策をいくつか試しましたが、どれも上手くいきませんでした。
WAF設定をOFFに
SANGOで調べたら、まったく同じ状況の人を発見!
参考:「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」と表示されてしまう。
こちらの回答通り、ConoHaのWAF設定をOFFにしてみましたが、解決せずでした。
キャッシュクリア
困った時のキャッシュクリア。
Google Chromeのキャッシュをクリアしてみましたが、状況変わらず。
ログアウト・再ログイン
困った時のログアウト。
WordPress管理画面からログアウトして、再度ログインしてみましたが、状況変わらず。
パーマリンク設定変更
パーマリンク設定が「基本」になってるとエラーになるらしいという情報も。
設定を見直しても、状況変わらず。
プラグイン無効化
SANGOのサポートに問い合わせてみたところ、セキュリティ系のプラグインがどうやら怪しいとのこと。
特に「SiteGuard WP Plugin」が怪しそうなので、プラグインを無効化。しかし状況変わらず。
すべてのプラグインを無効化しても、エラーは変わらずでした。
※SiteGuard WP Pluginを無効化すると、管理画面ログインページのURLが自動で変わってしまうので、ご注意を!
ただ、最終的にはSANGO側ではどうにもできず、でした
これをやったら解決!
最終的には、「.htaccess」をいじることで解決。
とはいえ、.htaccessをいじるまでにも準備が必要でした。
FTPアカウントの作成(サーバーがConoHaの場合)
WordPressの管理画面からは編集できない箇所になるので、サーバーをいじる必要があります。
サーバーにあるファイルを編集するためには、FTPソフトが必要です。
さらに、サーバーに接続するためにはFTPアカウントが必要です。
エックスサーバーの場合は登録時にFTPアカウントが作成されていますが、
ConoHaのサーバーを使っている場合、FTPアカウントを新しく作成する必要があります。
参考:「ConoHa WINGご利用ガイド FTPアカウントを作成する」
FTPソフトのインストールと.htaccessのダウンロード
下記の記事を参考に、FileZillaをインストール。
参考:「【FileZillaの使い方】WordPressでFTPソフトを使おう」
サーバーに接続後、.htaccessを自分のパソコンにダウンロードします。
(サーバー接続の際に、先ほど作成したFTPアカウントを入力します)
Finderで隠しファイルを表示
.htaccessをダウンロードしたのに、Finderに表示されない!
そういえば、隠しファイルというものがあることを思い出します。
下記のショートカットで、無事.htaccessファイルを表示できました。
command + shift + .(コマンド + シフト + ピリオド)
.htaccessに追記
こちらの記事に救われました…。
追記する内容や注意点は下記の記事を参照してください。
参考:【WordPress】「更新に失敗しました。返答が正しいJSONレスポンスで…。」で投稿失敗したときの対処法
.htaccessをサーバーにアップロード
上書きした.htaccessを、サーバーにアップロードします。
サーバーにある.htaccessを上書き。
おわりに
そんなこんなで、コーディングもほとんどできない、サーバーとかなんか怖いから触りたくない、みたいなデザイナーの私ですが、なんとか解消することができました。
ひとつひとつ調べてやっていったら、なんとかなるものですね。
IPアドレスを指定する方法なので、複数人で操作する場合などは、また書き換えないといけないかもしれません。
また、原因は場合によってもさまざまなので、復元できるように注意を払いつつ、いろいろ試してみてくださいね。
これからwebデザインを学び始める方はもちろん、すでに学習を始めている方にも向けて、再現性高く、未経験から確実に、現場で通用するwebデザイナーになるための方法を紹介しています!