このサイトはWordPressで構築している。WordPressではメディアをアップロードすると、複数のサイズのものが自動的に生成される。これは主にパフォーマンスのためだ。なのだが、サイトの性質によってはストレージ容量を圧迫するデメリットのほうが大きいと判断される場合もある。
ということで、自動リサイズを抑制するにはどうしたらよいか、ChatGPT-4に聞いた。
イントロ
WordPressでは、画像をアップロードすると自動的に複数のサイズが生成されます。これはテーマやプラグインがそれぞれ異なるサイズの画像を必要とするためであり、また、レスポンシブデザインを適用するためにも必要です。しかし、これらの自動生成される画像は、一部のユーザーにとっては不必要なディスク容量を占有する可能性があります。
抑制する方法
WordPressの画像生成を抑制する方法はいくつかあります:
- Media Settingsを調整する: WordPressの「Settings」->「Media」から各画像サイズを0pxに設定すると、WordPressはそのサイズの画像を生成しなくなります。
- プラグインを使用する: 「Stop Generating Unnecessary Thumbnails」や「Disable Media Sizes」のようなプラグインを利用すると、自動生成される画像のサイズを制御できます。
- functions.phpにコードを追加する: テーマのfunctions.phpファイルに特定のコードを追加すると、特定の画像サイズの生成を停止できます。ただし、これには開発者スキルが必要であり、テーマの更新時に変更が上書きされる可能性もあります。
しかし、これらの手法を適用する際には注意が必要です。特に、現在使用しているテーマやプラグインが特定の画像サイズを必要としている場合や、レスポンシブデザインを適切に機能させるためには、これらの自動生成される画像が必要な場合があります。
特に、WordPress 4.4以降で追加された「medium_large」サイズは、メディア設定からは設定できませんが、これはモバイルやタブレットなどのデバイスでの表示性能を向上させるために重要です。このサイズを無効にすると、一部のデバイスでの読み込み速度が低下する可能性があります。
(未検証) medium_large を生成しない方法
もし「medium_large」サイズの画像も生成しないようにしたい場合は、先ほどご紹介したfunctions.phpへのコード追加の方法を利用すると良いでしょう。以下のコードをあなたのテーマのfunctions.phpファイルに追加すれば、「medium_large」サイズの画像の生成を停止できます。
add_action( 'init', 'remove_plugin_image_sizes' );
function remove_plugin_image_sizes() {
remove_image_size( 'medium_large' );
}
ただし、これを行うと、一部のレスポンシブデザインの要素がうまく機能しなくなる可能性があるので、注意してください。
WordPressで画像のサイズを確認する方法
WordPressが自動的に生成した画像のサイズを確認するには、主に以下の2つの方法があります。
- FTPクライアントまたはcPanelのファイルマネージャを使用する:
- FTPクライアント(FileZillaなど)またはcPanelのファイルマネージャを使用して、サーバー上のWordPressインストールフォルダにアクセスします。
wp-content/uploadsディレクトリに移動します。このディレクトリには、アップロードされたすべてのメディアファイルが保存されています。- 年と月ごとにフォルダが分けられています。新しく画像をアップロードしたら、対応する年と月のフォルダに移動します。
- アップロードした画像のバリエーションを見ることができます。もし設定した通りに特定のサイズの画像が生成されていなければ、それは成功している証拠です。
- WordPressのメディアライブラリから確認する:
- WordPressのダッシュボードにアクセスして、「メディア」->「ライブラリ」に移動します。
- アップロードした画像をクリックし、「編集」を選択します。
- 「ファイル URL」フィールドを見ると、画像のバリエーションが表示されます。
どちらの方法も手動で確認する方法ですが、直接サーバー上のファイルを調べる方がより確実です。
まとめ
WordPressでの画像サイズ生成は、ディスク容量と表示性能のトレードオフを考慮する必要があります。そのバランスは、サイトの内容、訪問者のデバイスの種類、ホスティング環境などによります。ディスク容量を節約することは重要ですが、それがユーザ体験の悪化を引き起こすならば、ある程度のディスク容量の増加を受け入れることが合理的な選択と言えるでしょう。
寸評
これは僕が実際にChatGPTに相談して、かつその挙動を確認したものだ。したがって内容に嘘はないはず。
結論として、僕はlarge sizeのみ抑制するようにした。というのも、メインであげる画像のsizeがlarge sizeと近かったからである。small sizeとmedium sizeについては、なくても僕の使うテーマでは挙動に問題は見られなかったものの、元画像の1/10程度まで容量が圧縮されるので、たとえ作られても全体の影響はさほどでもないと考えた。一方で、large sizeについては、元画像とあまり変わりがない。なくてもテーマには影響がなかったし、あまり意味がないと考えた。これによって、3割程度の容量を節約できる見込みだ。
ということで、このやりとりはけっこう僕にとって有意義だった。このまとめは、他のユーザにとっても有意義ではなかろうか。以下に質問を書く。
- WordPressでは画像を上げると自動的に複数のサイズでリサイズされて保存されますが、それによる容量がもったいないです。抑制することはできますか。
- メディアの設定による方法がもっとも簡単そうですね。それを実行するにあたって、注意すべきことはありますか。
- 複数のサイズが生成されていないことを実際に確認するには、どうしたらいいですか
- 調べてみたところ、オリジナルサイズ以外に4つのサイズができていたものが、1つまで減っていました。 設定画面ではサムネイルサイズ、ミディアムサイズ、ラージサイズの3つについて設定できました。 どうやら、メディア画面からは残り1つのサイズについては制御できないようですね。
- なるほど。 しかしメディア画面で設定できないようにしているのには、理由があるかもしれません。 また、functions.phpの改修は、今後のメンテナンスを考えるとできれば避けたいところです。 容量が1.5倍ほどになってしまうのは少し痛いですが、これくらいは受容すべきかもしれません。
- ここまでの議論を、記事にまとめてください。
- 確認方法についても、以下にまとめてください。
確認方法をスキップするのは非常によろしくなかったが、指摘すれば書いてくれる。