【バックヤード】【WordPress】未使用の画像ファイルを一括削除しました

バックヤード

 WordPressでブログを作成していると、使っていないと思われる画像が溜まってしまいます。画像に不要なものが写っていたとかの理由で、記事で使った画像を差し替えることがあります。都度、元の画像を削除すればよいのですが、記事を作成することに集中するとついつい後回しになってしまいます。

 WordPressでは、画像ファイルはメディアライブラリに登録されます。このメディアライブラリに溜まった使用しない不要な画像ファイルを一括削除しようというものです。

 不要な画像ファイルが溜まった時のデメリットを考えてみました。

デメリット
  • レンタルサーバーの容量を無駄に消費する
  • バックアップ時間の増加
  • もしかするとブログの表示スピードへの悪影響あるかも
  • 精神衛生上のストレス

 レンタルサーバーの使用可能容量は300GBもあります。100分の1の3GBしか使っていないので多少の無駄があっても影響はないかな?

 バックアップ時間はどうか?FTPツールを使った場合、30分ほどかかるので容量が減ると時間の節約になります。また、バックアップデータの容量も減るのでストレージの容量も節約できます。

 ブログの表示スピードについては、サーバーがハードディスク(HDD)ならシーク時間が延びるので遅くなるが、SSDになっているので影響は少ないかも。

 一番のデメリットは精神衛生上のストレスか! メディアライブラリはそのままではエクスプローラのようにフォルダ管理ができません。上図のように無数の画像ファイルがべたに表示されます。その中から過去に使った画像を探すのがストレスです。

 不要な画像ファイルを一掃するぞー!

 さて、一掃するぞーと威勢はよいがどうやって不要な画像ファイルを探して削除するのか…

Webを検索し情報を得たり、実際に試してみたりして方法を整理したのでまとめておこうと思います。

どうせ、また2年後に不要な画像ファイルが溜まっているだろうし。(笑)

未使用な画像ファイルを一括削除する方法

 いろいろ調べて、試した結果を纏めます。あくまで試した結果なので不十分さがあるかもしれません。この記事を参考にした結果については責任を負えませんので自己責任でお願いします。(お決まり)

WordPressの機能で削除する方法

 メディアライブラリの絞り込みで「未添付」を指定して絞り込みボタンをクリックすることで、使用されていない一覧が表示されるというWordPressの機能があります。

試したところ、メディアライブラリには4,110個の画像が登録されていました。「未添付」で絞り込むと850個が抽出されました。しかし、すべてが未使用というわけではないことがわかりました。

 上図は「未添付」で絞り込まれた画像ですが、実際は投稿記事で使われていた画像でした。

メディアライブラリの「未添付」による絞り込み画像は使われているケースあり!

なぜ、使用しているのに未添付(未使用)と判断されてしまうのか?

画像をメディアライブラリにアップロードする仕方によるようです。

 投稿画面からブログを書きつつ画像ファイルをドラッグ&ドロップして添付する場合が多いですが、メディアライブラリに画像ファイルをアップロードしておき、投稿画面でメディアライブラリから添付する場合もあります。この後者の仕方で画像を使用すると未添付(未使用)と判断されるとのことです。

 画像ファイルが少ない場合は、「未添付」による絞り込みで画像ファイルを抽出後、1つずつ使用/未使用を判断して削除すれば有効です。

Associate Attachmentプラグインで未使用状態を修復する

 「未添付」で絞り込むのは実に簡単操作なので、捨てがたい機能です。未添付(未使用)状態だが使用されている画像を修復して、未添付(未使用)で絞り込まれないようにすればよいですね。

調べたところ、修復できるプラグインがありました。「Associate Attachment」というプラグインです。

以下に「Associate Attachment」プラグインについて、作成者様サイトの説明を引用させていただきました。

メディアライブラリの画像と投稿を一括で関連付け(「アップロード先」を設定)します。
関連付けは未使用(未添付)の画像が対象です。既存の関連付けは更新しません。
対象の画像は、投稿の記事(コンテンツ)内の画像とアイキャッチ画像のみです。

https://xakuro.com

これを使って修復します。

「Associate Attachment」プラグインをインストールすると、ツール>画像関連付けというメニューが追加されます。

メニューをクリックすると、画像関連付けツールという画面が表示されます。投稿タイプで「投稿」、「固定」を選択して、「関連付け」ボタンをクリックすると実行します。

 進捗状況が水色のプログレス(進捗)バーで表示されて実行されて、ステータスで対象の数と関連付け成功/失敗の数が表示されます。

もう一度、「未添付」で絞り込みしてみました。すると、850個だったものが740個に減りました。本サイトでは110個の関連付けがされました。850個を一括削除してしまったら大変なことになるところでした。ふっ~。

 740個を完全に削除してよいかというと、そうではありません。サイトのロゴやアイコンなどは未使用(未添付)扱いになっています。

 メディアライブラリを「未添付」でフィルタしたところです。画像ウィジェットやサイトアイコンで使用している画像が未添付として表示されていることがわかります。

残った未使用(未添付)画像を効率的に削除する方法

 さて、未使用(未添付)画像が740枚に絞られましたが、1枚1枚確認するには手間がかかります。少しでも効率よく削除できる方法を考えましたので紹介します。

 メディアライブラリの絞り込みにおいて、「未添付」と「年月」で絞り込みます。この画像では「2023年3月」で絞り込みます。年月で絞り込むことでどの投稿で未使用(未添付)画像があったかが纏まって表示されるというメリットがあります。

その投稿をWebブラウザで表示させると、こういう画像を使っていたと思い出すことができます。その上で未使用(未添付)画像を見比べると削除してよいものかの当たりが付きます。

最後にメディアライブラリの「投稿に添付」という機能を使うことで、削除してよいかの最終判断ができます。

 ここでは「未添付」と「2020年8月」で絞り込んで未使用と思われる画像一覧が表示されます。その1つ目の画像に対して、画像のファイル名「IMG20200809103602-scaled.jpg」をコピーしておきます。[投稿に添付]をクリックして、既存コンテンツに添付の画面を表示します。

 画面の検索窓に「IMG20200809103602-scaled.jpg」をペースト(貼り付け)して[検索]ボタンをクリックします。もし、投稿に使われているとその投稿が表示され、使われてなければ見つかりませんになります。

「IMG20200809103602-scaled.jpg」は、使用されていないことがわかります。すでに「Associate Attachment」プラグインで未添付だった画像を投稿に紐づけ済みです。さらにサイトアイコンなども明確になっていますので、この段階で使われていなければ未使用であるとほぼ確定してよいと判断できます。

 念のため、「IMG20200809103602-scaled.jpg」に対して、[完全に削除する]をクリックして削除してみます。Webブラウザで対象の投稿ページを見て、リンク切れになっていないことを確認します。この時、忘れずにキャッシュをクリアしておくことです。サイト側のキャッシュ削除とブラウザの閲覧履歴の削除をしておきます。

投稿ページに影響ないことが確認できれば、投稿単位でまとめて未使用画像を削除できます。

「年月」単位で未使用画像ファイルの削除手順

 それでは、「年月」単位で纏めて未使用画像を削除していく手順を示します。

①メディアライブラリで「未添付」、「年月(例:2020年5月)」で絞り込みます。

②一覧に表示された画像をざっと確認して、ロゴやサイトアイコン、画像ウィジェットがないことを確認します。

③纏めて削除するなら、ファイルにチェックを付けると一括でチェックできます。
 選択するなら、各画像ファイルにチェックを付けます。

④「完全に削除する」を選択して、[適用]をクリックします。

⑤以下の確認画面が表示されるので、「OK」をクリックして削除します。

これをすべての「年月」で行っていけば完了です。

結果まとめ

最終的な結果は、以下の通りです。

「未添付」ファイル:850個
   ↓
「Associate Attachment」プラグインによる修正後:740個(110個が使用画像)
   ↓
ロゴ、アイコン、画像ウィジェット、GIFを削除除外:28個
   ↓
削除した画像ファイル:712個

 削除した712個の大半は、旧サイトから新サイト(本サイト)に移行したときにそのまま低解像度の画像を持ってきていました。その後、高解像度の画像に置き換えた際に低解像度の画像を削除しなかったためにゴミとして残っていたということがわかりました。原因も判明しすっきりしました。

補足:CocoonテーマとGoogle chromeのキャッシュの削除の方法

 簡単に、ここではCocoonテーマの場合とGoogle chromeブラウザのキャッシュ削除について紹介しておきます。

 Cocoonテーマのキャッシュ削除は、[ダッシュボード]>[Cocoon設定]>[キャッシュ削除]の画面で[すべてのキャッシュを削除]をクリックします。

 Google chromeブラウザでは、[設定]>[プライバシーとセキュリティ]>[閲覧履歴データの削除]画面で[閲覧履歴]と[キャッシュされた画像とファイル]にチェックをつけて[データを削除]をクリックします。

タイトルとURLをコピーしました