WordPressで記事を書いていて、画像をアップロードしようとした瞬間に
「JSONレスポンスが不正です」
と表示された経験はありませんか。
特に自宅サーバーやVPS、Nginx構成でWordPressを運用している場合、このエラーはかなり厄介です。私自身も「画像サイズは大きくないのに、なぜ?」と数時間ハマりました。
この記事では、実際に私が遭遇したトラブルと、その原因を切り分けて解決した過程を、同じ状況で困っている人向けに詳しく解説します。
突然の『JSONレスポンスが不正』エラー|発生した状況と初期の推測
ある日、WordPressのメディア追加で画像をアップロードすると、即座にエラーが表示されるようになりました。
- 画像サイズは 1MB程度
- JPEG形式
- 以前は問題なくアップロードできていた
この時点で「容量オーバーではなさそうだな」と感じました。
PHPの設定を疑った理由
最初に疑ったのは、PHP側の設定です。
upload_max_filesizepost_max_sizemax_input_time
あたりを確認し、数値を引き上げました。
設定後にApache(正確にはPHP-FPM)を再起動しましたが、状況は変わらず。
Apache再起動でも改善しない違和感
再起動してもエラーが一瞬で返ってくる。
Apacheログを確認しても原因が見つからない|行き詰まりの時間
次にやったのはログ確認です。
/var/log/httpd/access_log/var/log/httpd/error_log
しかし、画像アップロード時にそれらしいログが一切出ない。
アップロード直後に即エラーが出る不自然さ
通常、PHPエラーやサイズ超過なら、何かしらログが残ります。
それが無いということは、ApacheやPHPまでリクエストが届いていない可能性が高い。
WordPress側のデバッグも空振り
念のため WP_DEBUG を有効化しましたが、管理画面上の挙動に変化はありませんでした。
ここで完全に行き詰まります。
Chromeデベロッパーツールで原因を特定|「413 Request Entity Too Large」
転機になったのは、Chromeのデベロッパーツールでした。
F12で通信ログを確認してみる
画像アップロード時に
- F12キー
- Networkタブ
を開いた状態で再度アップロード。
すると、レスポンスに
「413 Request Entity Too Large」
というステータスコードが表示されていました。
413エラーが意味するもの
413エラーは簡単に言うと、
サーバー側で「このリクエストはサイズが大きすぎる」と判断されている
という状態です。
Nginx側の制限が原因だと判明
ここでようやく気づきました。
- ApacheやPHPではなく
- Nginxがフロントでリクエストを弾いている
そのため、Apacheログには何も残らなかったわけです。
Nginx設定で解決|client_max_body_size を追加
原因が分かれば、対処はシンプルでした。
nginx.confではなくconf.d配下を修正する理由
私の環境では、nginx.conf 直書きではなく/etc/nginx/conf.d/xxx.conf
のような 個別の仮想ホスト設定を使っていました。
この場合、serverブロック内に設定を書くのが正解です。
実際に追加した設定例
server {
...
client_max_body_size 20M;
...
}
画像が1MB程度だったので、10Mくらいでも十分です。
設定反映後の流れ
- Nginxを再起動
- WordPressで再度画像アップロード
- エラーなしで正常にアップロード成功
あっさり解決しました。
同じエラーで困っている人へ|再発防止のポイント
今回の経験から、特に重要だと感じたポイントをまとめます。
Nginxの制限値を適切に設定する
自宅サーバなどでWordPressをNginxで運用している場合、client_max_body_size はほぼ必須設定です。
各レイヤーの役割を理解する
- ブラウザ
- Nginx
- Apache / PHP
- WordPress
どこで止まっているかを意識するだけで、トラブル解決速度は大きく変わります。
Chromeデベロッパーツールは最強の味方
ログが無いときほど、ブラウザ側の通信ログを見る。
これは今後も強くおすすめしたい方法です。
関連アイテム・サービスの紹介
今回のようなトラブルは、自前サーバーだからこそ起きやすい側面もあります。
さくらサーバ(レンタルサーバー)
さくらサーバは
WordPressをクリックのみでインストールでき、高速化キャッシュ機能もGUI画面から設定できます。基本的にコマンドライン不要です。
そもそも高速化機能がサーバについており、Nginxのリバースプロキシ等をわざわざ設定する必要性が薄く、今回のような設定ミスを避けやすいです。
私自身も当初は自前サーバで勉強していたものの、引っ越し等でルータの設定を変えないといけなかったりで辟易し、今はレンタルサーバで運用しています。
さくらのレンタルサーバ(PR)
高速・安定・無料SSL付!月額500円からWordPressが使えるさくらのレンタルサーバ
「サーバー設定で消耗したくない」という人には、こうした環境を選ぶのも一つの手です。
『いちばんやさしいWordPressの教本』
WordPressの基本構造や仕組みを理解しておくと、
「これはWordPressの問題か?サーバーか?」という切り分けが楽になります。
Nginxの設定などが必要であれば別途学ぶ必要がありますが
初心者のうちに一冊通して読んでおくと、結果的に遠回りしません。
【詳細・最新価格をAmazonで見る】
いちばんやさしいWordPressの教本 第7版 6.x対応 人気講師が教える本格Webサイトの作り方 (いちばんやさしい教本シリーズ) 単行本(ソフトカバー) – 2025/10/1 石川栄和 (著), 大串 肇 (著), 星野邦敏 (著)
まとめ|WordPressの画像アップロードエラーは“原因の切り分け”が重要
「JSONレスポンスが不正」という表示は、原因そのものを教えてくれません。
だからこそ、
- PHP設定
- Apache
- Nginx
- ブラウザ側の通信
を順番に切り分けて考えることが重要です。
特に、Chromeデベロッパーツールで413エラーを確認できたことが、今回の解決の決め手でした。
同じエラーで困っている方が、この記事を読んで一歩でも早く解決できれば幸いです。


コメント