「更新に失敗しました。 返答が正しい JSON レスポンスではありません」エラーの解決方法

WordPressの記事や固定ページを更新・公開する際に、「更新に失敗しました。 返答が正しい JSON レスポンスではありません」というエラーが表示され、更新・公開、下書き保存ができないトラブルがあります。
今回は、解決のための確認ポイントをご紹介します。

.htaccess の設定問題ないかを確認する

プラグインやレンタルサーバ、ご自身などで.htaccessを変更した際に、意図せずトラブルが発生する記述が追記している場合があります。
大元の原因として.htaccessに問題があるかの確認のために、WordPressを初期インストールした時の.htaccessの記述にし、エラーが解決するかを確認します。
#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

※上記は、サイトルートにワードプレスをインストールした場合の記述となります。
サブディレクトリにワードプレスをインストールしている場合は、ディレクトリに沿った記述が必要となります。

上記に変更後、エラーが解決する場合は、変更前の.htaccessに問題があります。
今一度変更前の.htaccessの記述を1つ1つ確認・検証し、問題の特定をし、記述の調整をし解決をします。

もし、初期インストールした時の.htaccessの記述でも解決しない場合は、ファイアーウォール(WAF)の設定を疑います。

ファイアーウォール(WAF)が原因か確認する

一度、ファイアーウォール(WAF)を無効化して、エラーが解決するか確認します。

エラーが解消する場合、WAFが原因となります。
WAFを無効化したままは好ましくないため、WAFを有効にもして、WAFの何が原因を特定していきます。

まず疑うのは、記事や固定ページにJavaScriptのコード(もしくは準ずるスクリプトなど)を記載していませんでしょうか。
この場合は、クロスサイトスクリプティング(XSS)と判定され、エラーが発生している場合が多いです。

WAFの仕様にも依りますが、解除設定が可能な場合は、
WAFの設定側で、シグネチャの除外設定をする、IPの除外設定をする。
.htaccessにシグネチャやアクセス元IPアドレスを記載して除外設定をするなどの対策でエラーを回避します。

設定が不可能や仕様が不明な場合は、以下の2つの方法でクロスサイトスクリプティング(XSS)を回避します。
記事にJavaScriptを記載せず、テーマファイル側にJavaScriptのコード持たせる。
もしくは、JavaScriptをFunction.phpでショートコード化をする。

記事や固定ページにJavaScriptのコードなどを記載していない場合は、
テーマファイルを公式テーマにする、プラグインをオフにしていき、インストールしたてのワードプレスに近づけていきます。
いづれかの機能をオフにした際に、問題が解決するので、原因となるテーマやプラグインを特定します。
特定後は、該当の内容を使わない、もしくは製作者に問題の回避方法を問い合わせをすることで、
「更新に失敗しました。 返答が正しい JSON レスポンスではありません」エラーの解決をします。

解決サポート

ショートコードの開発、テーマファイルへの組込みなど、本エラー回避には、WEBの開発技術も必要となります。
お困りの場合は、開発依頼も承けたまりので、以下フォームからお問い合わせください。
お問い合わせ

お困りですか?