WordPressでウィジェットが保存できない「返答が正しいJSONレスポンスではありません」の原因はエックスサーバーの脆弱性対策【2026年7月】

WordPressでウィジェットが保存できない「返答が正しいJSONレスポンスではありません」と出る

エックスサーバーでWordPressを利用していて、ブロックウィジェットが突然保存できなくなった方は、この事象かもしれません。

2026年7月28日。エックスサーバーのWordPressでブロックウィジェットを保存しようとしたら、こんなエラーが出ました。

エラーが発生しました: 返答が正しい JSON レスポンスではありません。

Xサーバー・ウイジェットの保存ができない:「返答が正しい JSON レスポンスではありません」

原因は、7月19日からはじまったエックスサーバーが行ったセキュリティ対策(WordPressの脆弱性対策)によるものです。

この記事では、

  • なぜこのエラーが起きるのか
  • 自分のサイトが該当するかどうかの確認方法
  • 現在選べる2つの対処法

について、実際に遭遇した内容をもとにまとめています。

目次

ウィジェットが保存できない原因

エックスサーバーは2026年7月19日、WordPressの脆弱性(CVE-2026-63030/通称 wp2shell)への暫定対策として、REST APIのバッチエンドポイント /wp-json/batch/v1 への通信を遮断しました。

ブロックウィジェットの画面は、保存時にこの /wp-json/batch/v1 を使います。

サーバーが返しているのはWordPress用のJSONデータではなく、403 Forbidden のHTMLエラーページです。
そのためWordPress側では「正しいJSONレスポンスではありません」と表示されます。

基本的にウィジェットが保存できない原因としては、

  • テーマ(functions.php)やプラグインの競合によるエラー
  • セキュリティプラグインによるエラー(WAF設定が邪魔をする)

などが一般的です。

しかし今回のエラーは、「全てのウィジェットが保存できない(デフォルトのウィジェットでも保存できない)」のが特徴です。

  • エックスサーバーで、これまで問題なくウィジェットを保存できていたのに突然保存できなくなった
  • デフォルトを含め、すべてのウィジェットで保存できない
  • ディベロッパーツールでエラーを調べると403エラーが出ている

という場合は、今回のパターンを疑ってください。

この現象が発生する環境

サーバー

エックスサーバー、XServerビジネス、XServer for WordPress

対象

ブロックウィジェット

開始

2026年7月19日

原因

batch API遮断

ウィジェット以外でも、batch v1 のREST APIを使っているプラグイン・テーマ・外部連携があれば、同様に動かなくなる可能性があります。

自分のサイトが該当するか確認する方法

1. 開発者ツールのネットワークタブで確認する

ウィジェット画面を開いた状態でF12キーを押し、「ネットワーク」タブを表示してからウィジェットを保存してみてください。

v1?_locale=user というリクエストが 403 で返っていれば該当します。

Xサーバー・ウイジェットの保存ができない:リクエストが 403 で返っていれば該当

2. コンソールで直接確かめる

もっと確実に確認したい場合は、管理画面を開いたまま開発者ツールの「コンソール」タブで以下を実行します。

fetch('/wp-json/', {method:'OPTIONS'}).then(r=>console.log('root:', r.status))
fetch('/wp-json/batch/v1', {method:'OPTIONS'}).then(r=>console.log('batch:', r.status))

※WordPressをサブディレクトリに設置している場合は、パスの先頭にディレクトリ名を足してください。

結果が

  • root: 200
  • batch: 403

となれば、/wp-json/batch/v1 だけがピンポイントで遮断されている状態です。

Xサーバー・ウイジェットの保存ができない:コンソールで403

さらに、存在しないパスでも試してみます。

fetch('/wp-json/batch/v1/aaaaa', {method:'OPTIONS'}).then(r=>console.log(r.status))

本来なら存在しないパスなので404が返るはずですが、これが403で返ってきたら、WordPressに届く前の段階でブロックされている証拠です。

Xサーバー・ウイジェットの保存ができない:存在しないパスを入力しても403

ここまで確認できれば、テーマやプラグインを調べる必要はありません。

対処法

対応方法は2通りありますが、現状できる対応としては、

のどちらかになります。

方法1:エックスサーバーに制限解除を申請する

公式アナウンスの7月22日追記で、影響が出ている場合は個別に制限解除を検討する旨が案内されています。

解除を希望するドメイン名を添えて、エックスサーバーのサポートへ問い合わせる形です。

ブロックウィジェットを引き続き利用したい場合は、エックスサーバーへ制限解除を申請してください。

方法2:クラシックウィジェットに切り替える

すぐに作業を進めたい場合は、「クラシックウィジェット」が現実的です。

クラシックウィジェットの画面は通常のPOSTで保存されるため、batch APIを使いません。

一番手軽なのは公式プラグインの Classic Widgets を有効化する方法です。

プラグインを増やしたくない場合は、functions.php に以下を追記でもOKです。

add_filter( 'use_widgets_block_editor', '__return_false' );

クラシックウィジェットに変更した場合、ブロックで組んでいる部分は一部作り直しになるので注意が必要です。

効果がなかったこと(参考)

原因にたどり着くまでに試して、空振りだったものも記録しておきます。

同じ回り道をしないための参考にしてください。

  • テーマの切り替え(デフォルトテーマにしても保存不可)
  • セキュリティプラグイン(CloudSecure WP Security)の停止
  • CloudSecureの「REST API無効化」「シンプルWAF」の設定確認 → いずれも元から無効
  • add_filter( 'rest_get_max_batch_size', '__return_zero' ); の追加
  • スーパーリロード、キャッシュクリア

サーバー側で遮断されている以上、WordPress側で何をしても解決しません。

TOMOデサイン

私も最初はテーマやプラグインを疑い、デフォルトテーマへの切り替えやプラグイン停止などを試しました。しかし原因はサーバー側でした。

FAQ

Q
なぜ投稿画面は保存できるのにウィジェットだけ保存できないの?
A

投稿画面は batch API を利用していないためです。

Q
Classic Widgetsにすると表示は崩れる?
A

ブロックウィジェットを使っている場合は再設定が必要になることがあります。

Q
エックスサーバー以外でも起きますか?
A

今回の記事はエックスサーバーのサーバー側対策による事例です。
他社サーバーでの場合は、原因が異なる場合があります。

まとめ

この記事で紹介したように、今回の「返答が正しい JSON レスポンスではありません」というエラーは、テーマやプラグインではなく、エックスサーバーのセキュリティ対策が原因でした。

もしブロックウィジェットが突然保存できなくなり、開発者ツールで403が出る場合は、WordPress側をいくら調べても解決しません。

まずは原因を切り分けたうえで、

  • ブロックウィジェットを使い続けるなら、エックスサーバーへ制限解除を申請する
  • すぐに作業を進めたい場合は、クラシックウィジェットへ切り替える

といった方法を検討してみてください。

エックスサーバーでは「安全が確認でき次第、遮断対応の解除を検討する」と案内していますが、現時点では時期は未定です。そのため、しばらくは今回ご紹介したいずれかの方法で対応するのが現実的でしょう。

この情報が、同じ症状で原因がわからず困っている方の参考になれば幸いです。

目次