Wordpressにアップロードした画像によく見ると「-scaled」という謎の名前が付与されていることがしばしば…
「test.jpg」をアップロードしたらメディアで「test-scaled.jpg」になっていた!という感じです。
画像置換しても名前が違うことがあったりなかなか不便です。
「-scaled」がつけられた画像には何が起こったののでしょうか?
Wordpressバージョン5.4から実装された機能で画像ピクセルが「2560px」を超えると自動でリサイズされるらしいです!
WordPressで「-scaled」が付いた画像の正体
この「-scaled」の読み方は「スケール」で意味は規模、尺度などです。
「-scaled」が付いた画像の正体は、一般的なWebサイトで使用するのには大きすぎるピクセルの画像を2560pxというサイズに自動的にリサイズして作成し、フルサイズで使っている画像といえます。
この自動リサイズの条件が2560ピクセルを超える画像です。
パソコンのディスプレイでもWQHDという解像度のものがあり、画面解像度が2,560×1,440の物のことを言います。つまり2K。
2Kを超えた”重たい”画像はサイトのスピードにもモロに影響しますので勝手にリサイズして使うのがバージョン5.4以降のWordpressです。
Wordpressに2560pxを超える画像をアップロードすると、フルサイズとして使う画像は「-scaled」が付いた画像が自動的に使用されます。
(4000pxなどのオリジナル画像は残ります。)
オリジナル画像と-scaled画像の比較
2560pxを超えるオリジナル画像と「-scaled」がつけられた画像をどちらもダウンロードして比較してみます。
基本的にはリサイズされて画像サイズも容量も減少しています。
続いてリサイズの処理を確認するために、3800pxほどの画像をアップロードし、FTPでアップロード先のフォルダ「uploads」を覗いてみます。
オリジナル画像が上書きされるのではなくて、新しい画像サイズとして「-scaled」が付いた画像が生成されていることが分かります。
オリジナルサイズを削除すれば自動リサイズされた画像も一緒に削除されました。
先述した通りWordpressでは自動リサイズを自分で停止していない限り、フルサイズ使用時に表示される画像は「-scaled」が付いた画像となります。
2560pxを超えるオリジナル画像は表示されません。
画像メインの写真家さんなんかのサイトでは当然最高画質で表示してくれよ!
という声が出てきそうなので...自動リサイズの停止方法を書いておきます。
WordPressの自動リサイズを停止する
Wordpressの自動リサイズを止める方法です。
プラグインもあるらしいのですが、functions.phpに一行記述するだけで無効化できるのでコチラの方法がスマートでしょう。
funcitons.php
add_filter( 'big_image_size_threshold', '__return_false' );
使用中のテーマのfunctions.phpに上記のコードを追記します。
これだけで画像アップロード時の自動リサイズを停止できます。
フルサイズではオリジナル画像が表示されますので、より高画質な画像をWebサイトに載せることが出来ます。
コード追記後test.jpgをアップロードし、FTPで覗いてみたところ「-scaled」が付いた画像は自動生成されなくなっていました。
オリジナル画像を使わないのであれば、自動リサイズを停止しておくことでサーバー容量の増え方が少しマシになるはずです・w・
まとめ
最後にこの記事のポイントをまとめておきます。
ポイント
- 「-scaled」は2560pxを超える画像に自動付与
- 4000pxなど大きな画像をアップロードすると2560pxに強制リサイズされる
- フルサイズは-scaled付きの画像を使用(オリジナル画像は表示されない)
- オリジナル画像を削除すると自動生成された画像も削除される
- 無効化(2560px超えのオリジナル画像を使用)することも可能
マニアックなところ、Wordpressの画像リサイズや自動生成などの処理はPHPの拡張モジュールであるGDライブラリで行われているっぽいです。