WordPress

【WordPress】「更新に失敗しました。返答が正しいJSONレスポンスで…。」で投稿失敗したときの対処法

2020年4月5日

投稿エラーのアイキャッチ画像

 

WordPressの新エディタGutenberg(グーテンベルク)で記事を投稿すると
「更新に失敗しました。返答が正しいJSONレスポンスで…。」
ていうエラーが出て記事の投稿ができないよ!

 

記事作成に集中したいのに、意味不明なエラーが出ると時間も無駄ですし、ストレス溜まりますよね…
tabebaka

 

どうも、たべばかです。

毎日記事投稿を目標に可能な限り頑張っていましたが、ネタ探し以外で苦しんでいたことがあります。

それは、「更新に失敗しました。返答が正しいJSONレスポンスではありません。」という不具合が発生して、記事の投稿ができず、対応にかなりの時間を費やしたことです。

今回はその問題と、問題の解決方法をまとめてみましたのでご覧ください。

運営者の環境

運営者の環境の画像
  • レンタルサーバー:ロリポップ!
  • 使用プラン:スタンダード
  • WordPress使用テーマ:無料テーマLightning、Lightningの子テーマ
  • 全プラグインを停止しても不具合は発生

まず、運営者の環境をまとめてみました。

Google先生で検索したところ、ロリポップ!以外でも同じような不具合が生じた方がいらっしゃるようなので、レンタルサーバーに直接的な関係はないかもしれません。

使用テーマのLightningに関しては、同じテーマで不具合が生じている方がいたので、テーマ依存の不具合なのか?疑問が残りましたが、この点の検証はできていません。

不具合について

この現象で発生する主な不具合は2つありますので報告しようと思います。

発生タイミング

WordPressの新エディタGutenberg(グーテンベルク)にて記事を作成して、「プレビュー」または「公開する」ボタンをクリックしたとき

主な不具合内容

記事投稿時に更新が失敗したエラーの画像です。

「更新に失敗しました。返答が正しいJSONレスポンスではありません。」というエラー表示が発生。

記事の内容が反映されず、下書きとして自動保存される


プレビュー画面または投稿画面に記事の内容が反映されていない。

記事一覧に下書きとして保存される


投稿画面を離れて、「投稿一覧」を開くと自動下書きとして保存されている。

付随発生した不具合

  • 目次が正しく表示、または反映されない。
  • 目次の見出しリンクをクリック時に、その見出しまで正しく移動しない。

この不具合が生じた記事を、Classic Editorプラグインを追加して編集した場合に、プラグイン「Table of Contents Plus」または「Easy Table Contents」で作成した目次で不具合が生じることがあります。

不具合が生じた場合、見出しのHTMLコードやCSSを正しく編集しても反映されませんでした。

付随発生した不具合への対処法

不具合が生じた場合、新しく新規追加した記事に内容をコピーして記事を作り直すことで対処しました。その後、不具合があった記事はゴミ箱に捨て廃棄しました。

みなさんも、この問題が生じる記事をClassic Editorで投稿した場合は、目次が正しく機能しているか確認することをオススメします。

※不具合を再現ができなかったため、キャプチャ画像は取れませんでした。

根本的な対処法:「.htaccess」を編集する

 

結論から言うと.htaccessを編集することで完全に改善しました。

極力.htaccessを触りたくなかったので、Classic Editorを使ったりして誤魔化していましたが、こちらの方法で一発で解決できますのでご覧ください。

もっと早くこの方法で対応しておけばよかったと後悔しています。
tabebaka

 


 

作業の前に.htaccessの内容をすべてコピーしてメモ帳などに保存しておきましょう。変更した内容に不備があった場合、ブログ(サイト)が表示されなくなったりします。もとに戻せるように必ず保存しましょう!

下記をコピーして.htaccessに追記してください。

#ブロックエディタエラー対策 start--------
<IfModule mod_siteguard.c>
  SiteGuard_User_ExcludeSig ip(xxx.xx.xxx.xxx)
</IfModule>
#ブロックエディタエラー対策 end--------

 

なお、SiteGuard_User_ExcludeSig ip(xxx.xxx.xxx.xxx)のxxxの部分は、こちらの「安全な確認くん」というサイトで確認できる「現在接続している場所(現IP)」に入力されている自分のグローバルIPアドレスを入力してください。

 

グローバルIPを確認する


追記が終わったら、.htaccessファイルの最後に必ず改行を入れてください。

改行がないと、正しく動作しないことがあります。

.htaccessの編集内容画像

 

不安でしたら.htaccessファイルの末尾に2~3行ほど適当に空行入れれば大丈夫です。

 

※追記2020.9.10

一般的なプロバイダー契約の場合、固定IPアドレスではないため、定期的にIPアドレスが変更されます。

 

再発する場合は、改めて「安全な確認くん」で「現在接続している場所(現IP)」が変わっていないか確認しましょう。

 

IPアドレスの変更があった場合は、.htaccessファイルに追記したIPアドレスの部分だけを更新してください。

 

 

※ロリポップ!での「.htaccess」編集方法はこちらの記事の「4.4 .htaccessファイルの設定」を参考にしてみてください。

 

 


 

※ちなみに、私はブロックエディタを諦めました・・・

 

筆者は、2020年4月にAFFINGER5という有料テーマを導入し、現在はクラシックエディタ(旧エディタ)で記事を執筆しています。(AFFINGER5はブロックエディタによる記事の執筆も可能だが、まだクラシックエディタ(旧エディタ)の使用を推奨している)

 

WordPressの公式サイトでは、2021年の年末までは「クラシックエディター」をサポートを行うことを発表しています。ので、それまではクラシックエディタを使用する予定です。

 

さすがにその頃には、こういった問題も解決されている(もしくは解決策が明確に提示される)だろうし、ほとんどのWordPressテーマがブロックエディタに対応していると思うからです。

 

あなたも『効率的に記事を書きたい』『まだクラシックエデイタを使いたい』と思っているなら、AFFINGER5などの有料テーマの導入を考えてみても良いかもしれません。(もちろん優秀かつ、サポートがしっかりしている無料テーマもあるので、それでもOKです。)

 

あなたが有料テーマに興味のあるのでしたら、下記の記事を参考にしてみてください。

特に、現在使用しているAFFINGER5については、忖度ぬきで悪い部分もしっかりと解説しているので、参考になると思います。

 

関連記事
有名ブロガー御用達のテーマ!AFFINGER5で検索順位上昇のアイキャッチ画像
有名ブロガー御用達のテーマ!AFFINGER5で検索順位上昇?

続きを見る

関連記事
【WordPress】初心者がテーマを人気ブロガーから学んでみる

続きを見る



暫定的な対処法

 

.htaccessを編集したくない人向けですが、再発するのでお勧めしません。

 

私が苦しんだ軌跡としてご覧ください。
tabebaka

 

時間を置く

原因は不明ですが、なぜか時間帯によっては記事のプレビューの表示、更新が可能なことがありました。

もちろん再発するので、対処療法でしかありません。

WebブラウザのCookieを削除する

WebブラウザのCookieを削除することで記事のプレビューの表示、更新が可能なことがありました。

時間を置くと同じ理由で、偶然そのタイミングが大丈夫なだけだったのかもしれません。

こちらも再発するので、対処療法でしかありません。

Classic Editorを使用する

Classic Editorプラグインを新規追加して、Classic Editorで記事を投稿すると記事のプレビューの表示、更新が可能となります。

この方法では対応可能ですが、上記の「付随発生した不具合」で報告した目次機能の不具合が生じることがあったので、注意が必要です。

 

 

-WordPress