Meow Apps

Media Cleaner

WordPress で未使用の画像を
見つけて削除する方法

何年か運用した WordPress のメディアライブラリには、どの記事にも使われていない画像が必ず溜まっています。一枚ずつ確認して消すのは現実的ではありません。

Media Cleaner のスキャン結果一覧
Media Cleaner のスキャン結果一覧

やっかいなのは、WordPress 自身がそれを教えてくれないことです。 メディアライブラリは「アップロードしたもの」の一覧であって、「使われているもの」の一覧ではありません。 どこからも参照されていない画像も、まったく同じように並びます。

なぜ放っておくと困るのか

ひとつはディスク容量です。ただ、それ以上に効いてくるのがバックアップと引っ越しの時間で、 使っていない画像のぶんだけ毎回コピーされます。 サムネイルは 1 枚の画像につき何種類も生成されるため、実際のファイル数は見た目の数倍になります。

手順

  1. 先にバックアップを取ります。 これは省略しないでください。削除は元に戻せます(後述のゴミ箱)が、 バックアップがある状態で作業するのとしないのとでは安心感がまったく違います。
  2. WordPress の管理画面から Media Cleaner をインストールして有効化します。
  3. メディア → Cleaner を開き、スキャンを実行します。 サイトの規模によっては数分かかります。
  4. 結果の一覧を確認します。ここが一番大事な工程です。すぐに削除せず、 心当たりのないものが混ざっていないか目を通してください。
  5. 問題なければ削除します。ファイルはいったんゴミ箱に入るので、 この時点ではまだ復元できます。サイトの表示を確認して、問題がなければゴミ箱を空にします。

誤検出について、正直なところ

「使われていない」の判定は、サイトの中身を読んで参照をたどることで行われます。 つまり、プラグインやテーマが独自の方法で画像を参照していると、見えない場合があります。 ページビルダーやカスタムフィールドを使っているサイトで、これが起きやすくなります。

なので、結果を鵜呑みにせず確認する工程を挟んでください。ゴミ箱があるのはそのためです。 Pro 版は ACF、Elementor、Divi、WPBakery、Avada、Oxygen などの主要なビルダーに対応していて、 さらにサーバー上の /uploads フォルダを直接スキャンして メディアライブラリと突き合わせることもできます。複雑なサイトほど差が出ます。

無料版でどこまでできるか

未使用のメディアの検出、リンク切れエントリーの修復、ゴミ箱を経由した削除まで、 通常のブログであれば無料版で完結します。 Pro 版が必要になるのは、ページビルダーを使っている場合、 ファイルシステム側のスキャンが必要な場合、WP-CLI で自動化したい場合です。

スキャンの設定画面
スキャンの設定画面

無料版は WordPress.org から。 Pro 版と詳しいドキュメント(英語)は meowapps.com にあります。

← ほかのプラグイン