WordPressで画像をアップロードできない原因|サイズ超過と「サーバーが画像を処理できません」の見分け方
スマホで撮った写真をWordPressのメディアに入れようとしたら、エラーが出て止まってしまう。結論から言うと、原因は大きく「ファイルサイズが上限を超えている」場合と「サーバーが画像を加工する段階で失敗している」場合の2つに分かれ、対処法が異なります。エラー文を読めば、どちらかはほぼ判別できます。この記事では、その見分け方と、圧縮・リサイズの使い分け、実務でつまずきやすい点をまとめます。
なお、エラー文の細かな表記やサーバーの設定値は、WordPressのバージョンやレンタルサーバー会社によって異なります。設定変更を伴う対処は、契約中のサーバー会社のマニュアルを確認したうえで行ってください。
まずエラー文で原因を2つに分ける
画面に出るメッセージを、次の表に当てはめてみてください。
| 表示されるエラーの傾向 | 主な原因 | 向いている対処 |
|---|---|---|
| 「ファイルサイズが upload_max_filesize を超えています」など、サイズ上限に触れる文言 | ファイルの容量がサーバーの上限を超えている | 画像を圧縮する |
| 「サーバーが画像を処理できません」「画像の後処理に失敗しました」など、処理・リソースに触れる文言 | サムネイル作成時に、画素数・形式・メモリの問題で失敗している | 画像をリサイズする/形式を変える |
| 「HTTPエラー」とだけ表示される | 上記のどちらの可能性もある。サーバー側の制限や通信状況も絡む | 縮小して再試行し、直らなければサーバー側を確認 |
ここで大事なのは、「容量(MB)」と「画素数(縦横のピクセル)」は別物という点です。次の章で詳しく説明します。
容量が原因の場合|圧縮で解決する
上限はサーバーごとに違う
アップロードできるファイルの最大サイズは、WordPress自体ではなく、サーバーのPHP設定(upload_max_filesize や post_max_size)で決まります。この値はサーバー会社やプランによって異なり、数MBに絞られていることもあります。管理画面のメディア追加画面に「最大アップロードファイルサイズ」と表示されるので、まずその数値を確認してください。
圧縮するときの手順
スマホの写真は1枚で数MBになることがあります。ブログ本文に載せる用途なら、そこまでの解像度は多くの場合不要です。
- メディア追加画面で、上限の数値を確認する
- 画像圧縮ツールに、アップロードしたい写真を入れる
- 出力形式を選ぶ(写真ならJPEGまたはWebP)
- 品質のスライダーを下げて「一括圧縮」を押し、圧縮前後の容量を確認する
- 上限を下回ったら、ダウンロードしてWordPressに入れ直す
このツールは複数の画像をまとめて処理でき、ZIPで一括ダウンロードもできます。処理はブラウザ内で行われる作りなので、下書き前の写真を外部に送る必要がない点も、ブログ運営では扱いやすいところです。品質をどこまで下げてよいかの目安は、画像を軽くする方法にまとめています。
PNGは品質を下げても小さくならない
スクリーンショットなどのPNGは、品質のスライダーが効きません。PNGは可逆圧縮のため、品質の設定という考え方が当てはまらないからです。ツール上でも、元の形式を維持する場合はPNGに品質が適用されない旨が表示されます。
写真がPNGで保存されていて容量が大きい場合は、出力形式をJPEGまたはWebPに切り替えるほうが効果的です。逆に、文字や線が多いスクリーンショットをJPEGにすると、輪郭がにじむことがあるので、仕上がりを目で確認してください。
「サーバーが画像を処理できません」の場合|圧縮では直らないことがある
こちらは、容量が上限以内でもエラーになるタイプです。アップロード自体は通っても、その後にWordPressがサムネイルや各サイズの画像を作る段階で失敗している、という状況だと考えられます。
実務上の落とし穴:圧縮しても画素数は減らない
ここが、他の解説ではあまり強調されていない点です。画像圧縮は、ファイルの容量を減らす処理であって、縦横のピクセル数を減らす処理ではありません。
たとえば、4000×3000ピクセルの写真を圧縮して1MBまで軽くしても、画素数は同じ4000×3000のままです。WordPressはアップロード後に、この画像から複数サイズのサムネイルを作ります。その際、画像を展開して処理するため、必要になるメモリは「容量」ではなく「画素数」に比例して増えると考えられます。
つまり、容量は上限以内なのに処理でエラーになる場合、圧縮を繰り返しても直らず、ピクセル数を小さくする必要があるのです。「何度圧縮しても同じエラーが出る」という状況は、この落とし穴にはまっている可能性があります。
| 状況 | 圧縮だけで直るか |
|---|---|
| 容量が上限を超えている | 直りやすい |
| 容量は上限以内だが、処理エラーが出る | 直らないことがある |
| 圧縮後も同じ画素数で、メモリ不足が疑われる | リサイズが必要 |
リサイズの手順
画像リサイズ・変換ツールでは、幅と高さをピクセルで指定して縮小できます。アスペクト比を維持するチェックが入っていれば、幅を入力するだけで高さが自動で決まります。
- 元画像を読み込み、現在の縦横ピクセルを確認する
- 「アスペクト比を維持」にチェックが入っていることを確認する
- 幅を、ブログ本文で使う大きさ(たとえば1280〜1920程度)に設定する
- 出力形式と品質を選び、「リサイズ実行」を押す
- プレビューで見た目と容量を確認して、ダウンロードする
ブログ本文の画像の幅は、テーマの本文幅に合わせれば十分なことが多いです。ただし、縮小した画像を後から拡大すると粗くなるので、拡大して見せたい写真は少し大きめに残してください。目安の数値はサイトごとに最適値が違うため、ご自身のテーマの表示幅を基準に決めてください。
縮小して直った、という報告もよく見かける
検索すると、画像を縮小してから入れ直して解決した、という体験談が個人ブログを中心に複数見つかります。ただし、これらは環境の異なる個別の事例です。あなたの環境で同じ原因とは限らないため、縮小しても直らなければ、次の章の確認に進んでください。
スマホ写真で起きやすい落とし穴
HEIC形式のまま入れている
iPhoneの写真は、設定によってはHEIC形式で保存されます。WordPress側は新しいバージョンで対応が進んでいるものの、サーバー側の画像処理ライブラリが対応していないと、処理段階でエラーになることがあると言われています。
心当たりがあれば、JPEGに変換してから入れ直してみてください。HEICが開けない、変換できないといったトラブルについては、HEIC写真が開けない原因と対処法で詳しく扱っています。
圧縮後にかえって大きくなる
すでに十分に圧縮されたJPEGを再度圧縮すると、容量がほとんど変わらないか、場合によっては増えることがあります。このツールでは、元の形式のまま圧縮した結果が元より大きくなった場合は、元のファイルをそのまま採用する仕様になっています。削減率がマイナス表示になっていたら、「もうこれ以上は軽くならない」というサインです。その場合は、圧縮ではなくリサイズに切り替えてください。
再保存で位置情報が消える点にも注意
ブラウザ上で画像を描き直して書き出す方式の処理では、一般に、元の写真に含まれていたExif情報(撮影場所など)は引き継がれません。位置情報を消したい場合には都合がよい一方、撮影日時などの情報も一緒になくなることは知っておいてください。位置情報のリスクについてはExif位置情報の削除方法を参照してください。
なお、「圧縮したからExifは確実に消えている」と思い込むのは避け、位置情報が心配な写真は、専用の削除手順で確認するのが安全です。
それでも直らないときの確認先
ここまでで直らない場合、画像ではなくサーバー側に原因があることが考えられます。
- メモリ上限(
memory_limit)が小さい:処理に必要なメモリが足りない可能性があります - 画像処理ライブラリ(GDやImageMagick)が無効・未対応:サーバー会社の設定に依存します
- セキュリティ系プラグインやWAFによる遮断:アップロード時の通信が弾かれる場合があります
- 一時的な高負荷:時間を置くと通ることがあります
これらは、プラグインの一時停止や、サーバー会社の管理画面・サポートで確認するのが確実です。自分でファイルを書き換える前に、必ずバックアップを取ってください。サーバーを移転・解約する際のバックアップの考え方は、レンタルサーバー解約前のバックアップにまとめています。
なお、この記事は一般的な整理であり、個別のサイトやサーバー環境について原因を断定するものではありません。
まとめ
- エラー文で2つに分ける:サイズ上限に触れる文言なら「圧縮」、処理・リソースに触れる文言なら「リサイズ」を先に試す
- 容量と画素数は別物:圧縮しても画素数は減らないため、圧縮を繰り返しても直らないときはピクセル数を小さくする
- PNGは形式を見直す:写真のPNGは、JPEGやWebPへの切り替えのほうが効果的な場合がある
- スマホ写真はHEICに注意:サーバーが対応していないと処理で失敗することがあるので、JPEGにしてから入れる
- それでも直らなければサーバー側を確認:メモリ上限や画像処理ライブラリは、サーバー会社の案内に従って確認する
まずは手元の画像を画像圧縮ツールまたは画像リサイズ・変換ツールで軽くして、もう一度アップロードしてみてください。