2018年11月9日、運用中のサイトのダッシュボードを開いて見たら、WordPressのプラグイン「EWWW Image Optimizer」のバージョンアップがあることが表示されたのでバージョンアップしようとしたところ、従来のようにバージョンアップが進まずに、下記のようなエラーが表示されました。
要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。 次に進むには FTP の接続情報を入力してください。 接続情報が思い出せない場合は、ホスティング担当者に問い合わせてください。
サーバーはロリポップ。
サポート担当へ連絡したら、回答がありました。
回答内容を簡略化して、皆さんにも関係しそうな重要なところだけを引用しますと、
サーバー上のデータを確認いたしましたところファイル数の上限に近い状態。
■サーバー上にアップロードされているファイル数
499,998 / 500,000
ロリポップ!では、「2018年7月18日」より順次プランごとで利用可能なファイル数の上限を設定した。
◇WEBサーバーに設置できるファイル数に上限を設けます - お知らせ
https://lolipop.jp/info/news/6009/
サーバー上より不要なファイルを削除して、ファイル数を上限内まで削減した上で同様のメッセージが表示されるか?
2018年11月10日現在のサーバーのディスクの使用量は、 120GB ( 122,880MB ) のうち 12035.652 MB。
まだ10%程度しか使用していないので、安心して画像を多用した記事を次々と追加していたのがエラー発生の元になったようです。
ファイル数を減らすために記事を削除する訳にはいきませんので、不要な画像を削減することにしました。
その方法は、
●記事の新規追加、更新の時に不要なサイズの画像を自動生成しないようにする
●サーバー内に保存されていて、使用していないサイズの画像を削除する
の2つの方法がありますが、この記事では、●記事の新規追加、更新の時に不要なサイズの画像を自動生成しないようにする方法を、忘れないようにメモ書きしておきます。
なお、既にサーバー内に保存されていて、全く使用していないサイズの不要な画像が星の数ほど存在している筈ですから、これらを削除することが大事で、大変な作業になります。
●サーバー内に保存されていて、使用していないサイズの画像を削除する方法は下記の記事で紹介していますのでご覧下さい。
記事の新規追加、更新の時に不要なサイズの画像を自動生成しないように設定する
WordPress ダッシュボードの「メディア設定」を変更する
WordPressで記事に画像を挿入したら、オリジナルのサイズの画像の他に、何種類かのサイズの画像が自動的に生成されるのは知っていたのですが、何のために使うのかが判らないまま放置していました。
この度の、ファイル数が上限に近い状態に陥っていることから考えてみると、記事に挿入したオリジナルの画像以外は使用することはないことが、遅ればせながら判りました。
既にサーバー内に保存されていて使用していないサイズの画像を削除することは、削除するファイル数によっては大変な作業になるため、今後は、不要なサイズの画像が自動生成されないように設定しておきました。
「ダッシュボード」-「設定」-「メディア」を開く。
「サムネイルのサイズ」、「中サイズ」、「大サイズ」の全てが必要ないので、
全てのサイズの「ピクセル数」を「0」(ゼロ)に変更しました。
この変更により、不要なサイズの画像の自動生成はなくなるはずです。
が、しかし、この設定を変更した後に、記事を新規追加して画像を挿入したら、変更前と同じように、不要なサイズの画像が自動生成されているではありませんか!
下図は、2018年11月12日に新規追加した記事に挿入した画像です。
FTPソフトウエア「FFFTP」により、サーバー内を確認したものです。
赤枠内が自動生成された画像です。
4つの画像を追加しただけで、13個の不要なサイズの画像が自動生成されて、合わせて17個の画像が増加されていました。
これでは、再びファイル数の制限に達するのも、そう遠くないことと思います。
【重要】不要なサイズの画像の自動生成を完全に止めるためには、テーマのファイルも変更する必要がある
ダッシュボードの「メディア設定」を変更したにもかかわらず、不要なサイズの画像が自動生成されるのは、使用しているWordPressの「テーマ」の中のファイルに、自動生成するように書かれていることが判りました。
不要なサイズの画像の自動生成を止めるためには、テーマの中のファイルを変更する必要があります。
私が使用しているテーマは「Simplicity」です。
「Simplicity」に含まれているファイル「functions.php」をエディタで開いてみたら
下図のように4つのサイズのアイキャッチ用画像を生成する記述がありました。
私は「Simplicity」でアイキャッチ用画像を使用していますので、私の場合の、この度の対策は、ダッシュボードの「メディア設定」を変更しただけで終わり、時々、サーバーの様子を見て、必要により「DNUI」を使って未使用画像の削除を行うことにします。
完全に自動生成を止める方法
私が使用している「Simplicity」での例です。・・・上に書いたように、私は実施していません。
「Simplicity」には子テーマがありますので、「simplicity2-child」の中に含まれているファイル「functions.php」をエディタで開いて変更します。
「functions.php」に追加する内容は、
add_theme_support(‘post-thumbnails’);
//サムネイルサイズ
//add_image_size(‘thumb100’, 100, 100, true);
//add_image_size(‘thumb150’, 150, 150, true);
//add_image_size(‘thumb320’, 320, 180, true);
//add_image_size(‘thumb320_raw’, 320, 0, false);
で、「simplicity2-child」の中の「functions.php」は下図のようになります。