今回起こったエラーはメディアへ画像をアップロードして完了を待っていた時に表示されたもの。アップロードが終わった・・・・と思った矢先に画面上部へこんなメッセージが表示されます。
「サーバーの負荷が高いか十分なリソースがないため画像の後処理に失敗しました。もっと小さな画像をアップロードしてみてください。推奨する最大サイズは2500ピクセルです。」
スクリーンショットはこんな感じ(管理画面のカラーを変更しているサイトで起きたため、見づらくてすみません・・)

アップロードは100%完了しているように見えるのですが、実は完了せず、エラーで終わっています。当然メディア一覧を開いても画像は表示されません。
※環境によってはエラー後にメディア一覧を確認するとアップロードできている場合、アップロードはできてるけど利用するサイズの画像が生成されてないなどケースはさまざまです。
人間の目は不思議なもので、エラー内容から「画像の幅や高さが大きすぎなの?」「でも画像の縦横サイズは特に問題ないし」「WordPressがおかしいんじゃ?」なんて勝手に完結してあきらめてしまいがちですね。でもよく読めばこのエラーはそれだけではないことが分かります。このエラーはきちんと解釈すれば
- 画像をアップロードした後の処理に失敗した
- 失敗した原因は使用しているサーバー環境によるものだと思われる
- 小さい(画像の大きさやファイルサイズ)ものなら処理できるかも
という内容なんです。WordPressと一口に言っても、収容されているサーバーの仕様や利用状況、WordPressのバージョン、使用しているテーマやプラグインによって動作している環境はバラバラですから、ひょっとしたら何かの動作がサーバーに負荷をかけていることで大きな画像の処理に失敗したのかもしれませんよ!と言ってるのです。全部のケースを想像してエラーの出し分けなんて不可能ですからこういう表現になってるんですね。
解決の糸口さえ見つかれば対処のしようがあります。そこで今回はメディアへの画像アップロード完了時に「サーバーの負荷が高いか十分なリソースがないため画像の後処理に失敗しました。もっと小さな画像をアップロードしてみてください。推奨する最大サイズは2500ピクセルです。」と表示される不具合の原因と考えられること、それに対する対処方法について紹介していきます。
メディアへの画像アップロード完了時に「サーバーの負荷が高いか十分なリソースがないため画像の後処理に失敗しました。もっと小さな画像をアップロードしてみてください。推奨する最大サイズは2500ピクセルです。」と表示される不具合の原因と考えられること、それに対する対処方法について紹介していきます。
WordPress基本機能の画像に対する後処理ってどんなことしてるの?
メディアへ画像をアップロードした後、WordPressでは以下のような処理をしています。
- 画像の横幅が一定幅を超えたものに対する縮小と複製
- 「大」「中」「小」サイズの画像をメディア設定で指定されたサイズ、圧縮率で作成する
- テーマやプラグインで独自に使用するサイズの画像を作成する
- 画像の圧縮を行うようなプラグインなどの処理を行う
たった1枚の画像に対してこれだけの処理が行われます。複数の画像をアップロードする際にはこれが延々と繰り返されます。パソコンで何かをしているときにフリーズ(固まる)ことがあるように、サーバーも性能や使えるリソース(割り当てられた能力)によっては処理不能となることがあるためエラーとなってしまうことがあるのです。
ちなみに今回のエラーはあくまでも後処理の問題ですから、画像のファイルサイズが大きすぎることは原因ではありません。アップロードサイズに問題がある場合には別のエラーメッセージが表示されますから今回の対処からは除外していいでしょう。
それでは次に上記の各項目でエラーが出がちなケースと対処方法の詳細情報を紹介していきます。
エラーの起こる原因と対処方法
1.画像の横幅が一定幅を超えたものに対する縮小と複製でエラーとなるケース
新たにWordPress5.3から追加された機能で、幅が2500px(ピクセル)を超える画像について、「full」(フルサイズ)の画像を投稿本文などへ挿入した際にページサイズが大きくなりすぎないよう、勝手に自動でそれ以下の画像を作って、それを「full」の際の画像として扱うようになりました。
実はこれはそれほど負荷のかかる作業でもありませんし、そもそも2500pxを超える画像をアップロードしていないのなら原因から除外して問題ないでしょう。が、もしもこれを超える画像を扱う可能性がある、それに備えて処理をパス(大きな画像は大きな画像のまま扱う)するのであれば以下のコードを有効化しているテーマのfunctions.phpへ追記すればOKです。
add_filter( 'big_image_size_threshold', '__return_false' );
[sc name=”code-copy-error” ]
参考:Introducing handling of big images in WordPress 5.3
2.「大」「中」「小」サイズの画像をメディア設定で指定されたサイズ、圧縮率で作成する際にエラーとなるケース
各サイズの画像生成については前項と同様それほど負荷にはなりませんので原因からは消しても構わないと思います。問題は末尾に示す「圧縮」の処理です。
WordPressでは各サイズの画像生成時、標準で「元画像の90%」に圧縮した画像を生成するようになっています(ここでいう圧縮とは、似たような色を同じ色にすることで色の指定数を減らす=ファイルの大きさを小さくするという処理になります)。それを行うためのプログラム(処理技術)として、最近のWordPressバージョンではImagickが使われています。過去にはGDが使われていたのですが、Imagickの方がいろいろな処理ができること、より細かく圧縮などができること、Imagick対応のサーバーが増えたことなどから変更となったのですが、これが結構GDと比べて大飯喰らいなようです。
処理能力の低いサーバーや、レンタルプランによって処理能力に制限があるサーバーではImagickの処理ができずにエラーとなるケースがあります。まあ特にインターネットに公開される画像については見た目ではGDもImagickも違いが判別できるようなものではありませんから、より負荷の少ないGDへ戻せばこの問題は解決できます。
以下のコードを有効化しているテーマのfunctions.phpへ追記すれば処理をGDへ戻すことができます
/* 画像アップロード時の処理をGDに戻す */
function hs_image_editor_default_to_gd( $editors ) {
$gd_editor = 'WP_Image_Editor_GD';
$editors = array_diff( $editors, array( $gd_editor ) );
array_unshift( $editors, $gd_editor );
return $editors;
}
add_filter( 'wp_image_editors', 'hs_image_editor_default_to_gd' );
3.テーマやプラグインで独自に使用するサイズの画像を作成する際にエラーとなるケース
WordPressのテーマやプラグインの中には、高速表示をさせる目的や、画像のぼやけなどを防止するために、メディアへアップロードした際に最適なサイズの画像を生成するようになっているものが多くあります。状況によっては1つの画像をアップロードすると7~8サイズの画像が作られるなんてこともあります。
これらの処理には当然画像のサイズダウンと同時に圧縮が行われますから、その画像枚数分だけ前項の処理が行われ、サーバーに負荷がかかります。テーマやプラグインのプログラムソースを見て1つ1つ確認するのは大変かと思いますが、画像のクオリティを重視したテーマや画像を表示するようなプラグインでは知らない間にたくさんの画像が生成されていることがありますから、テーマの変更、プラグインの停止を検討する必要があるかもしれません。
4.画像の圧縮を行うようなプラグインなどの処理を行う際にエラーとなるケース
WordPressのプラグインの中には画像の最適化(圧縮)を行うものが数多く配布されています。それぞれの処理がどの段階で行われているのかはすべてチェックできないので不明ですが、大抵は上記1~2の処理が完了した画像に対して再度圧縮を行うようになっています。そして、この作業を画像がアップロードされた都度自動で行うものがほとんどです(中には自動/手動/定期発動の切り替えがあるものもあります。ちなみに私が使用している「EWWW Image Optimizer」プラグインはアップロード後に自動で圧縮を行うようになっています。)。
これも画像の後処理の1つとして認識されますから、自動的に圧縮が行われるのを停止することでエラーが解消されることがあります。
前述した「EWWW Image Optimizer」には自動圧縮を停止するという選択肢がありませんので、同じプラグインを使われている方で処理の停止をしたい場合は、サーバー内にある該当サイトディレクトリの「wp-config.php」の
「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」
と書かれた行の上へ以下のコードを追記します。
※「wp-config.php」は非常に大事なファイルなので、記述変更に慣れていない方は別のプラグインを探した方がいいかもしれません。
define('EWWW_IMAGE_OPTIMIZER_NOAUTO',true);
いかがでしたか?WordPressは便利なホームページ管理ツールである反面、その便利さ、自由さ、初心者でも簡単に扱えるようになっていることから、実は結構サーバーに負担をかけるツールなんです。
今回のエラーもWordPressの問題というよりは、サーバーの問題やプラグインの動作の負荷という部類に入るので、特に初心者の方にとっては「なんで??」ってなってしまいますよね?
でもたくさんの方が使っているツールだからこそ、いろいろな方が使い方やエラー対応について情報公開されていますから、ググり力さえつけば何とかなるのもWordPressの良いところ。今回の対処方法についても私自身いろいろと調べて問題の原因を探り、いろいろな方の記事を見て効果のありそうなものを試し、解決できた方法です(先人に感謝です)。一気にすべての項目について設定しておけばまず問題は起きないと思いますが、どうなるのかの過程を見て勉強しておきたいという方は、1つ1つ試されてはいかがでしょうか??
え?これをやっても時々同じエラーが出るって??実はこの時々ってのが問題なんです。プログラム通りに動いてるだけなんですから、時々っていうのは考えにくいんです。要因を言わせていただくとすれば「サーバーの性能、またはレンタルプランが低い」のでしょう。しようとしている処理と、通常の閲覧に対するページ出力の処理、ひょっとすると同時に更新やプログラムの定期的な動作が絡んでエラーが出るのだと思います。あまりにも頻発する場合はより高性能なサーバーや高性能なプランへ変更すれば解決することだと思いますよ。
この記事を見て問題解決に至れば幸いです。

