WordPressで投稿や固定ページを保存した直後に、
「返答が正しいJSONレスポンスではありません」と表示されて困っていませんか?
赤いエラーが出ると、せっかく書いた内容が消えたように見えて焦ります。
しかし、画面にはエラーが出ても、投稿や固定ページの内容自体は保存できているケースがあります。
これは、保存処理と保存後にWordPressへ戻る返答が別の段階だからです。
まず保存の有無を確認し、その後に通信を壊している原因を順番に切り分ける必要があります。
ITエンジニアとして20年以上、WordPressの修正・復旧に携わってきたよこやま良平です。わたしの現場経験をもとに、保存できたのにJSONエラーが出る理由と、初心者でも安全に確認できる手順を説明します。
- 「返答が正しいJSONレスポンスではありません」の意味
- エラーが出ても投稿・固定ページを保存できる理由
- scriptタグや絵文字を含む時に起こりやすい原因
- 初心者でもできる安全な確認と対処の順番
- 自分で直せない時に専門家へ伝える情報
結論から言うと、最初に別画面で保存内容を確認し、次にREST API、WAF、プラグイン、URL設定、PHPエラーの順で調べるのが安全です。
scriptタグや絵文字を含む時だけ起こるなら、本文そのものより、
その文字列を危険と判断したWAFや古い文字コード環境を疑います。順番に確認していきましょう。
WordPressのJSONレスポンスエラーとは何か
このエラーは、WordPressが期待したJSON形式の返答を受け取れなかった、という通信上の警告です。
「投稿データが必ず壊れた」という意味ではありません。
ブロックエディターはREST APIで保存します
WordPressのブロックエディターは、管理画面を開いたままREST APIという通信窓口を使い、
投稿や固定ページの内容をサーバーへ送ります。
WordPress公式も、REST APIを「JSON形式のデータを送受信してサイトとやり取りする仕組み」と説明しています。
保存後の返答もJSONで戻ることを、エディター側は前提にしています。

JSONではなくHTMLや警告文が混ざるとエラーになります
保存時の通信に対して、サーバーがWAFの拒否画面、ログイン画面、404ページ、PHPの警告などを返すと、
エディターはそれをJSONとして読み取れません。
宅配便にたとえると、荷物は倉庫へ届いたのに、受領書の代わりに別の紙が返ってきた状態です。
荷物である本文が保存されていても、エディターは「正しい返事ではない」と警告します。
- エディターが正しいJSONを受け取れなかった
- 保存、認証、保存後の返答のどこで問題が起きたかは未確定
- 画面の警告だけでは保存失敗と断定できない
- 実際の保存内容と通信結果を確認する必要がある
WordPressのJSONレスポンスエラーでも保存できる理由
投稿や固定ページが保存されているなら、データベースへの更新後に返答だけが壊れた可能性があります。
この場合、慌てて同じ内容を何度も保存する必要はありません。
保存処理の後で別の出力が混ざることがあります
WordPressが本文をデータベースへ保存した後、プラグインやテーマの処理が動くことがあります。
その途中でPHP警告や不要な文字が出力されると、正常なJSON返答に別の内容が混ざります。
また、保存は完了していても、通信が時間切れになったり、
セキュリティ機能が返答を差し替えたりすれば、エディター側は成功を確認できません。
見た目が保存済みでも必ず別画面で確認します
確認するときは、現在の編集画面だけを信用しないでください。
ブラウザの別タブで投稿一覧または固定ページ一覧を開き、更新日時と本文を確認します。
- 別タブで投稿一覧または固定ページ一覧を開く
- 対象ページの更新日時が新しくなっているか見る
- プレビューを開き、変更した箇所を確認する
- 必要ならリビジョンに直前の変更があるか確認する
WordPressのJSONレスポンスエラーで多い原因
原因は1つではありませんが、特定の本文だけで起こるか、すべての保存で起こるかを分けると絞り込めます。
最初からWordPress本体を再インストールする必要はありません。
WAFがscriptタグや特定文字列を遮断する
WAFは、Webサイトへの不審な通信を検知して止める仕組みです。
本文中の<script>、JavaScript、SQLに似た文字列、長い記号列などを攻撃と誤判定する場合があります。
このとき、WAFが403の拒否画面をHTMLで返すと、
エディターには「正しいJSONレスポンスではありません」と表示されます。
プラグインやテーマがREST APIへ干渉する
セキュリティ、キャッシュ、リダイレクト、SEO、会員制などのプラグインは、
REST APIのURLや権限、返答内容を変更することがあります。
更新直後から始まった場合は、プラグイン同士の競合や、
テーマ内のPHP処理が警告を出していないか確認が必要です。
パーマリンク・URL・SSLの設定がずれている
WordPressアドレスとサイトアドレスでhttpとhttpsが混在している、
REST APIのURLがリダイレクトされる、パーマリンクの書き換えルールが壊れている場合も通信に失敗します。
特定の投稿だけでなく、投稿・固定ページのどちらでも毎回起こるなら、
本文よりサイト全体のURL設定やREST APIを優先して確認してください。
PHP警告・サーバー負荷・通信切断で返答が壊れる
PHPの警告が画面へ出力されている、メモリ不足が起きている、
保存処理が長くサーバーやCDNで時間切れになる、といった原因もあります。
WordPress公式のサイトヘルスでは、REST API、HTTPS、ループバック通信、PHPセッションなどを確認できます。
管理画面の「ツール」→「サイトヘルス」→「ステータス」を開き、重大な問題を確認しましょう。

- 特定のコードや文字列だけで発生:WAF、入力検査、プラグイン
- 投稿・固定ページの両方で毎回発生:REST API、URL、SSL、パーマリンク
- 長文や画像が多い時に発生:サーバー負荷、容量、通信時間切れ
- 更新後から発生:プラグイン、テーマ、PHPの互換性
- 403や拒否画面が返る:WAF、サーバーのアクセス制限
WordPressのJSONレスポンスエラーを直す手順
対処は、原稿保全、保存確認、REST API確認、本文の切り分け、サーバー側の確認という順番で進めます。
先にバックアップを残せば、試行中に本文を失う危険を減らせます。
手順1:編集内容を手元へコピーする
まず、編集画面の本文をコードエディター表示でコピーし、
テキストファイルなどWordPressの外へ保存してください。
すでに保存できていても、原因を調べる間に内容が変わる可能性があります。
タイトル、本文、エラー画面、発生時刻、対象URLを残すと復旧が速くなります。
手順2:REST APIの入口を確認する
自分のドメインの末尾に/wp-json/を付け、ブラウザで開きます。
文字が並んだJSONが表示されれば、少なくとも公開側の入口は応答しています。
https://あなたのドメイン/wp-json/403、404、ログイン画面、真っ白な画面、サーバー会社の拒否画面が出る場合は、
REST APIへ正常に到達できていません。
手順3:パーマリンクとサイトURLを確認する
管理画面の「設定」→「パーマリンク」を開き、設定を変えずに「変更を保存」を1回押します。
これにより、URLの書き換えルールが再生成されます。
次に「設定」→「一般」で、WordPressアドレスとサイトアドレスを確認します。
本番サイトがHTTPSなら、両方のURLが意図どおりhttps://で始まっているか見てください。
手順4:問題の本文を半分ずつ切り分ける
特定の記事だけで起こる場合は、複製した下書きまたは検証環境で、
本文を半分にして保存し、どちら側でエラーが出るか調べます。
さらに半分ずつ試すと、原因になったブロックや文字列を早く絞れます。
公開中の記事を直接削りながら試すのではなく、必ずコピーを残してください。
手順5:WAF・キャッシュ・プラグインを確認する
WAFの検知ログに、保存時刻と一致する遮断記録がないか確認します。
一時停止テストが必要な場合も、対象IPや該当ルールだけに絞り、確認後は必ず元へ戻してください。
キャッシュは管理画面、WordPress、サーバー、CDNの順に消します。
プラグイン停止は本番で一括実行せず、バックアップと検証環境を用意して、直前に更新したものから1件ずつ確認します。

手順6:PHP・サーバーのログで実際の返答を調べる
ここまでで直らなければ、ブラウザの開発者ツールにある「ネットワーク」で、
保存時に失敗した/wp-json/通信の状態コードと返答内容を確認します。
同じ時刻のPHPエラーログ、Webサーバーログ、WAFログも照合します。
403なら遮断、404ならURLや書き換え、500ならPHPやサーバー処理を優先して調べられます。
- 本文をWordPressの外へコピーする
- 別画面で保存内容と更新日時を確認する
- サイトヘルスと/wp-json/を確認する
- パーマリンクとhttp・httpsのずれを確認する
- 本文を複製し、半分ずつ原因箇所を絞る
- WAF、プラグイン、PHPログを専門的に調べる
WordPressのscript・絵文字でJSONエラーが出る時
scriptや絵文字を含む時だけ起こるなら、それぞれ別の仕組みとして調べるのが正解です。
どちらも「多用したから必ず壊れる」とは限りません。
scriptタグはWAFと権限の両方を確認する
<script>は攻撃にも使われるため、WAFやセキュリティプラグインが厳しく検査します。
また、WordPressではユーザー権限やマルチサイト設定により、危険なHTMLが保存時に除去される場合があります。
必要なJavaScriptなら、通常の段落へ貼り付けず、用途に合ったカスタムHTMLブロックや正規の埋め込み方法を使います。
出所不明のscriptは保存せず、安全性を確認してください。
- scriptの提供元と目的を説明できるか
- カスタムHTMLブロックなど適切な場所へ入れているか
- 保存時刻にWAFの遮断ログがあるか
- 同じscriptをテーマやプラグインが重複出力していないか
- 管理者権限と許可されるHTMLの範囲が合っているか
絵文字は本来WordPressが対応しています
WordPressはバージョン4.2から、絵文字など4バイト文字に対応するutf8mb4をサポートしています。
現在の正常な環境では、絵文字を入れただけでJSONエラーになるのが標準動作ではありません。

絵文字の時だけ失敗するなら、古いデータベースからの移行、テーブルや列の文字コード、
絵文字を処理するプラグイン、外部API、機種依存文字の組み合わせを確認します。
WordPressのJSONレスポンスエラーで避けたい対処
原因が分からないまま設定を大きく変えると、エラーより深刻な表示停止やセキュリティ低下につながります。
とくに本番サイトでは、元へ戻せる状態を作ってから触ってください。
- 保存確認をせず、同じ内容を何度も送信する
- バックアップなしでプラグインを一括停止・削除する
- WAFを無期限に無効化したままにする
- .htaccessを内容確認なしで消す
- 公開中の本文を直接削りながら原因を探す
- 出所不明のscriptをエラー回避のため別の場所へ移す
原因がWAFなら、必要な通信だけを安全に通す設定が必要です。
原因がPHP警告なら、画面から隠すだけでなく、警告を出しているテーマやプラグインを修正します。
サイト全体の切り分け方が分からない場合は、次のトラブル解決ガイドも確認してください。
症状別に、最初に見る場所をまとめています。
WordPressのJSONレスポンスエラーでよくある質問
最後に、保存できた場合やscript・絵文字が関係する場合の疑問へ回答します。
保存の有無と原因調査は分けて考えてください。
WordPressのJSONレスポンスエラーは保存確認から直す
「返答が正しいJSONレスポンスではありません」と出たら、最初に別タブで投稿・固定ページの保存内容と更新日時を確認してください。
保存済みなら、本文を何度も送り直す前に、返答が壊れた原因を調べます。
特定のscriptや文字列だけで起こるならWAFや入力検査、
すべてのページで起こるならREST API、URL、SSL、パーマリンク、プラグイン、PHPを優先します。
- 編集内容をWordPressの外へ保全する
- 保存の成否とJSON返答の失敗を分けて考える
- 特定本文だけかサイト全体かを切り分ける
- WAFを切りっぱなしにせず、ログから該当ルールを調べる
- ブラウザ・PHP・サーバーのログで実際の返答を確認する
エラーが出たり出なかったりする、保存はできるが原因が分からない、
業務サイトなので安全に設定を触れない場合は、その状態のまま専門家へ相談してください。
JSONレスポンスエラーが自分で解決できない時は

投稿や固定ページの保存時にJSONエラーが出る、REST APIやWAFの確認方法が分からない、
設定を触ってサイトを止めるのが不安なら、クイックレスキューへご相談ください。
- 保存はできるが毎回JSONエラーが表示される
- scriptや特定の文章を入れた時だけ保存できない
- REST API、WAF、PHPログの見方が分からない
- プラグイン停止やサーバー設定変更が怖い
- 公開中の業務サイトを止めずに原因を調べたい
- 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
- 90日間再感染保証・動作保証で安心
- 初期費用・調査費用0円で安心
