1875 WordPressの不具合 (2)

2025年2月18日

前回の不具合から、とりあえず致命的なトラブルからは脱出できたかな?と思ったところですが、まためんどくさそうなことが。

症状

画像をたくさんアップしていたところ、途中から

アップロードしたファイルを wp-content/uploads/2025/02 に移動できませんでした。

というメッセージが。
ここからはブログのテキストは書けるものの、テーマやプラグインの更新は

インストールエラー。ディレクトリを作成できませんでした。

とか言われて断られてしまいます。

初期対応

この手のよくある解決策としてはFTPを使ってパーミッションを変更するわけですが、それではうまくいかず。

キャッシュをクリアしろ、というのもありますが、ブラウザのキャッシュはクリアしても解決せず、サーバ側のキャッシュはというと、クリアするために必要なプラグインをインストールしてなかった。ちなみにサーバはロリポップ!なので、アクセラレータのキャッシュを削除してみたものの、状況は変わらず。そのまま数日放置しても解決せず。詰んだか?

原因究明

数日後、もう一度ディスク容量を見たときに、原因に気づきました。
ファイル数・フォルダ数が上限に達したのです。30万ファイルの上限のうち、299998まで到達してしまったのです。あと2ファイルで終わりです。

ロリポップ!ではファイル数に上限を設けているためです。

さらに、FTPから実際のファイルを見ると

おわかりいただけただろうか。
一つの画像ファイルをアップすると、様々なサイズに縮小されたファイルが10個程度作られるのです。

これでだいたいの原因はわかりました。

対策の方向性

対策として、より上のコースや、他社のレンタルサーバならファイル数の上限を増やすことができます。ただ、ディスク容量に十分余裕があるのにもっと高いコースに移行するというのもちょっと納得がいきません。百歩譲って、ファイル数上限が50万100万とかに増やしたところで、すぐにとは言いませんが数年でまた同じことが起きそうです。さすがに500万とか1000万とかなれば話は変わってきますが、少なくとも個人ブログに使うためのレンタルサーバとしては常識的な費用では収まらない気がします。

むしろなんとかできそうなのは、一つの画像ファイルが何種類にもいちいち増殖すること。
これはWordPressと、テーマとして使っているcocoonの仕業だと。
いや、その目的はわかるんです。で、小さくした画像ファイルを削除しないほうがいいことも。
 WordPressで自動生成される「-scaled」が付いた画像とは?高画質画像の自動リサイズを停止する方法も。 – ソロ学
 WordPress で画像を1枚アップロードしただけなのに、いろんなサイズで表示できるしくみ | 株式会社ベクトル
 Cocoonが自動生成する9つの画像サイズについての解説 | WEBLOGライナー

でも一方で、さすがにどうなの?という話もありますし、
画像が多いサイトはレンタルサーバーロリポップに注意! | たまに役立つ

勝手に画像ファイルを増殖させない方法も紹介されています。
ワードプレスで複数サイズの画像が勝手に生成されるのを停止する方法 | ZIGSTYLEBLOG
Cocoonでサムネイル画像の自動生成を停止して画像がぼやけるのを防ぐ – ある裏庭

増殖した画像ファイルを削除してみよう

無謀にも増殖ファイル全部削除してみる

とはいえ、ファイルをこれ以上増殖させない方法はわかっても、今ある不要なファイルを削除していくのは、気の遠くなる手作業になりそうです。試しに無理やりFTPから wp-content/uploads/2025/02 つまり2025年2月にアップロードされた画像のうち、勝手に生成された画像を削除してみました。

当然、ファイル数は減りました。この状況でcocoonの更新は

更新失敗: ファイルをコピーできませんでした。 cocoonmaster/webfonts/fontawesome5/svgs/brands/steam-symbol.svg

と断られたままですが、プラグインの更新はできましたし、なんならWordPressの更新さえできました。

ところが縮小画像ファイルを削ったためか、肝心のブログページはこのザマです。

ま、そうなる罠。画像再アップロードか?!でもそうしたら結局この先アップロードができなくなるし…。とりあえずここは保留。

さて、
ワードプレスで複数サイズの画像が勝手に生成されるのを停止する方法 | ZIGSTYLEBLOG
にならってWordPressの勝手な画像生成は止められたのですが、その後で画像をアップロードすると6つの小さいファイルができます。10個くらいつくられたファイルが6個に減るのは結構なことではありますが、30万というファイル数の制をかんがえると、しょせんは多少の延命措置程度の話です。この6個のファイルが作られたのはWordPressではなく、cocoonの自動作成ということになります。cocoonの自動作成を止めると画像に不具合が起こるなら、cocoon以外のテーマ、例えば Luxeritas あたりの導入を検討しています。ちょうどcocoonのテーマ更新がエラーになるし。

とりあえず画像サイズに300と500があるのはWordPressで作ったもののようなので、ためしに1861 成田空港・偽ブランド品とワシントン条約にある画像のうち300と500、そして-scaledを消してみたら、画像が表示されなくなりました。
ただこれはコードエディタでブログの編集ページを確認してみると、

<img class="wp-image-32678″ style="width: 300px;" src="https://rikaniga.net/wp-content/uploads/2025/01/IMGP0183-scaled.jpg" alt="">

-scaledがついているファイルを読んでいたので、ここを削除するなり他のサイズを書くなりして画像が見られるいつものページになりました。ただ表示は遅くなったのかもしれません。300と500はいいけど-scaledは削るんじゃない、という結論ですね。

 一方、1862 成田空港・日本折り紙博物館と飛行機の編集ページでも-scaledがついているファイルを読んでいるはずなのですが、ブログとして表示されるページでは画像ファイルがCIMG4607-500×375.jpgみたいなこれまた縮小ファイルを読んでいることがわかりました。うわそうしたら500も消せないじゃん。
 ただ、編集ページで元画像だったら、ブログとして表示されるページも元画像が表示されるようなので、編集ページから-scaledを消しまくるのは一つの方法かもしれません。小さいファイルは別でしょうが。

さて、これから画像のアップロードをどうするか。
このままだとまたすぐに画像のアップロードができなくなってしまいますし。

しかし、WordPress、こういうメンテナンスが面倒だな
私はただ、理科のブログを書きたかっただけなのに…FC2ブログが懐かしいぜ…