WordPressで記事を作成しているときに、画像ブロックの「アップロード」から画像を追加しようとしたところ、次のエラーが表示されました。
Web サーバーはこの画像に対してレスポンシブな画像サイズを生成できません。アップロードする前に JPEG または PNG に変換してください。
記事を作成するうえで画像のアップロードができないのは非常に困るので、対処方法を探しました。
エラーの発生状況
今回、エラーが発生したのは記事編集画面の画像ブロックから直接ファイルをアップロードした場合です。
[画像]ブロックの「アップロード」をクリックすると、エラーが表示されて画像をアップロードできませんでした。

使用環境ではCocoonテーマとLiteSpeed Cacheプラグインを使用しているので、そちらが要因の可能性も疑いましたが…。
下記フォーラムを見るにWordPress自体の問題である可能性が高そうです。


WordPress6.8にアップデートしてから問題が発生するようになったとのことです。
最初に確認したこと
アップロードできない要因として下記がよくあります。
まずは下記に該当しないかどうか確認します。
- 画像のファイルサイズが、WordPressで設定されているアップロード上限を超えていないか
- 画像ファイルが破損していないか
- ファイルの拡張子と実際の画像形式が一致しているか
- WordPressの「サイトヘルス」に画像処理関連の問題が表示されていないか
アップロード可能な最大ファイルサイズは、WordPressやサーバーの設定によって異なります。
メディアのアップロード画面に表示される上限を確認してください。
今回使用した画像はアップロード上限(2MBで設定)以内で、JPEGとして保存し直してもエラーが発生しました。
また、WordPressのサイトヘルスにも画像処理関連の問題は表示されていませんでした。
対処方法
functions.phpを編集する
子テーマのfunction.phpを編集することでエラーが出ないようになるとの記事がありました。

functions.phpを編集することで、サーバーが未対応の画像形式だとWordPressに判定された場合にアップロードの拒否されてしまう現象を回避する、とのことです。
ただし、この方法には次の注意点があります。
- PHPの記述を間違えると、WordPressでエラーが発生する可能性がある
- サーバーが処理できない画像形式までアップロードできるようになる場合がある
- WordPressの更新によって、コードが不要になったり動作が変わったりする可能性がある
- 問題の原因そのものを修正する方法ではなく、画像形式のチェックを回避する方法である
安全に実施できる方法ではないと判断し、今回この方法は行いませんでした。
代わりに、同じ画像をメディアライブラリからアップロードし、記事へ挿入する方法でエラーを回避しました。
2つ方法を紹介しますが、どちらもメディアライブラリを経由して行う方法です。
記事内からメディアライブラリを開きアップロードする
記事を書きながら、その都度画像を追加したい場合におすすめの方法です。
ブロックエディター内の[画像]-[メディアライブラリ]を選択して、メディアライブラリ内からアップロードします。
ブロックエディター内で「画像」を開きます。

「メディアライブラリ」をクリックします。

「ファイルをアップロード」をクリックします。

「ファイルを選択」をクリックします。

該当の画像を選択して開きます。

「選択」をクリックします。


これで、メディアライブラリに登録した画像を記事内へ挿入できます。
メディアから一括で画像をアップロードする
記事で使用する画像をあらかじめ準備している場合など、複数の画像をまとめて登録したい場合におすすめの方法です。
WordPressメニューのメディアからファイルをアップロードします。
WordPress左メニューから「メディア」をクリックします。
メディアが開いたら、「メディアファイルを追加」をクリックします。

アップロードしたいファイルを選択(複数選択可)して、枠内にドラッグ&ドロップします。

アップロードが完了したら記事を開き、ブロックエディター内の[画像]-[メディアライブラリ]を選択して、メディアライブラリ内から画像を選択します。


まとめ
今回紹介した方法は、発生するエラーそのものを修正する方法ではありません。
しかし、エラーを回避して安全に画像を登録することができます。
- 記事編集画面からメディアライブラリを開いてアップロードする
- WordPress管理画面の「メディア」から先にアップロードする
そのうちWordPressのアップデートで直るかもしれませんが、しばらくはこの回避方法で画像をアップロードしようと思います。

コメント