WordPress でリンクされていない画像を削除する – Media Cleaner

WordPress でリンクされていない画像を削除する – Media Cleaner

リンクはずれがどれくらいあるか確認する。Broken Link Checkerを使う。

WordPressを運用していると、リンクされていない画像が溜まり、ストレージ容量を圧迫したりする。
まだ空きが十分ある場合は問題ないが、バックアップを取ったりする時、無駄に時間がかかったりするのが問題になったりする。

そんな時、Media Cleanerというプラグインを活用し、普段から不要な画像を削除することにより、快適なサイト運営が可能になるのではと思う。

スキャン結果は慎重に、1枚づつ画像をチェックしてから削除する事をおすすめします。とよくあるが、このMedia Cleanerを使おうと考えた人は多分大量の画像の処理に困った人だと思うので、現実にはチェックしながら削除はあり得ないと思う。

しかし、いきなり全選択の完全削除はやはり問題があるので、最初は10ファイル位を削除してみて、様子を見ながら少しずつ削除していく方法が現実的かなと思う。余裕が必要ということ。

メディアライブラリのバックアップ方法

WordPressのメディアライブラリをワンクリックでバックアップするためのボタンは無いので地道ではあるがFTPを使って手動でダウンロードする。
wp-content の中に uploads フォルダがある。これがメディアライブラリ全体になる。このフォルダをデスクトップなど、必要な場所にダウンロードしておく。
この方法が時間はかかるが、エラーなく確実にダウンロードできる。

2.83GBで約2時間ぐらいだった。私のネットワークのスピードは超遅いので多分もっと早いと思う。

データベースのバックアップ

コアサーバーのphpMyAdminでもエクポートできた。178MBで時間は早かった5分もかかっていない。

UpdraftPlusを使用してデータベースのみをダウンロードするには、まず「今すぐバックアップ」ボタンをクリックして①のようなバックアップファルを表示しておく。
①のデータベースをクリックすると、チョット間があいて②の枠が表示されるので③の「お使いのコンピュータにダウンロード」をクリックしてダウンロードする。

(backup_2026-01-02-1001_Mac_442a906f8a99-db.gz)形式でMacのダウンロードフォルダに保存される。圧縮ファイルで16MB、5分もかからない早い時間だった。

Media Cleanerの設定方法

左サイドメニューから、Meow Appsを選択、オンマウスをして、Media Cleanerをクリック。

以下のウインドウが表示される。

実際に使うには下の方に出てきた、Media Cleanerをクリック。

すると、Media Cleanerの設定画面が表示され、対象のメディアが画像のみの場合は、「images Only」にチェックを入れる。左のContentも同時にチェックが入る。

以下は上の画像の右下のチェックが外れている分「Extra Rules:追加ルール」の翻訳になる。
意味が理解できない。

これで設定は完了、後は右上にある「Access Media Cleaner Dashboard」(メディアクリーナーダッシュボードにアクセスする)をクリック。

すると、以下の画面が表示される。

未使用の画像をスキャン

「Clean Library」になっていることを確認してから「Scan」をクリック。
「Clean Library」以外は全てPro版。

チェックを入れて、I Understandをクリック。

以下が表示される。よく読むことが必要。

⚠️ Safety Checklist

Be ready before you start. Always have a backup of your site (you can use BlogVaultor another backup plugin). Read the tutorial to understand how the plugin works. Remember: deleted files go to the trash first, but if you empty the trash, they are permanently deleted and cannot be recovered.

I have a backup, read the tutorial, and understand the trash system.

Plugin and theme support. Media Cleaner may not fully handle every Builder or Plugin. Only the ones listed in the Parsers section are supported (with some available only in the Pro version). If you’re unsure, please check the Parsers settings for details.

I agree, and I checked the Parsers section.

Accuracy and false positives. No parser can be 100% perfect. WordPress is dynamic, and sometimes files may be flagged even though they are still in use. If you notice this, you can restore them, and we’d appreciate it if you report the case here: Common Issue: False Positives.

I understand and will report any issues.

You are in control. Media Cleaner only scans and suggests. Nothing is removed unless you choose to delete it. With a proper backup, there is no risk — you can always restore. Please don’t leave a bad review if something is missing after you decided to delete it.

I agree, I am responsible for deletions.

If you have already read the above warnings, you can disable this pop-up in the settings.

Cancel

I Understand

⚠️ 安全チェックリスト

始める前に準備を整えてください。必ずサイトのバックアップを作成してください(BlogVault などのバックアッププラグインを使用できます)。プラグインの動作を理解するためにチュートリアルをお読みください。削除されたファイルはまずゴミ箱に移動しますが、ゴミ箱を空にすると完全に削除され、復元できなくなりますのでご注意ください。

バックアップを作成し、チュートリアルを読み、ゴミ箱システムも理解しています。
プラグインとテーマのサポート。Media Cleaner はすべてのビルダーまたはプラグインを完全に処理できるとは限りません。「パーサー」セクションに記載されているもののみがサポートされています(一部は Pro 版でのみ利用可能です)。不明な場合は、「パーサー」設定で詳細をご確認ください。

同意します。「パーサー」セクションも確認しました。
精度と誤検知。100%完璧なパーサーは存在しません。WordPress は動的であるため、ファイルが使用中であってもフラグが付けられる場合があります。このような問題に気付いた場合は、復元できます。また、よくある問題:誤検知についてはこちらでご報告いただければ幸いです。

理解しました。問題が発生した場合は報告します。
管理はお客様次第です。メディアクリーナーはスキャンと提案のみを行います。お客様が削除を選択しない限り、何も削除されません。適切なバックアップがあればリスクはありません。いつでも復元できます。削除後に何かが消えてしまっても、悪いレビューを残さないでください。

同意します。削除の責任は私にあります。
上記の警告を既にお読みになった場合は、設定でこのポップアップを無効にできます。

キャンセル

理解しました

スキャンが開始される。約10分位かかった。
STEP 2/4が4/4になるまで繰り返される。左の枠内にかかった時間が表示されている。

スキャン結果が表示される。
下の画像で左上にIssues(2252)と出ているところがあるが。これが使っていない画像をスキャンした結果の数を示していることになる。

There are 2252 issues with your files(ファイルには2252件の問題があります)となっている。

Issues:問題」はウェブサイトのコンテンツで使われていないと判断されたメディアファイルを指し、これらのファイルは安全に削除できるよう一時的な「Trash:ゴミ箱」へ移動させることがきる。

下の3行目にもIssues(2252)、Trash(0)となっているのが分かると思うが、これは問題のファイルが2252あるが、まだゴミ箱に何も入っていないことを意味している。

ファイルの後に方に「Not found in content:コンテンツ内に見つかりません」つまりコンテンツ内でリンクされていない未使用画像ということになる。

すぐに削除しない

「Not found in content」と表示されたファイルをすぐに完全削除せず、まずはサイト上の表示に問題がないかを確認。
もし余裕があるなら、Media Cleanerのゴミ箱機能(Trash)に一度移動させ、サイトを数日間注意深くチェックして、画像が表示されなくなったり、機能が損なわれたりしていないか確認することが大事。

問題がないことを確認できたら完全に削除し、もし誤検出であれば、そのファイルを無視リストに追加して次回以降のスキャンで除外されるように設定できるらしい、まだやっていない。

リンク切れの画像を個別に確認する方法

個別に削除をしたい場合は、左側のチェック欄にチェックを付けてクリックする。

検索結果画面のサムネイル画像の左側①に、チェックボックスが用意されています。
消したいファイルだけにチェックを入れると、②「Delete 1 entries」という赤いボタンが表示(1となっている部分は選択した画像の数)。
このボタンをクリックすると、選択した画像のみをゴミ箱に移動することができる。

Media Cleanerは、ファイルを即座に完全に削除するのではなく、一時的に「ゴミ箱」へ移動させる機能がある。

①【Origin】はアップロードした画像のID番号、
③【Title&Path】は④画像のタイトル属性と、⑤ファイル名。④をクリックするとその画像の情報が表示されるが、本当にリンクが切れているかどうかはそこではわからない。

ちなみに画像のファイル名の後ろについている⑥「(+4 files)」、これは、WordPressでは画像をアップロードすると、複数サイズの画像が自動生成されるので、そのファイルの数を指している。
つまり、「アップロードした画像と同じ画像の4枚の別サイズファイルがある」ことを表している。

「Issues」は「このプラグインでリンク切れとして検出されたファイル数」。
「Trash」は「ゴミ箱に入っているファイル数」、上では0になっているのでまだゴミ箱に何も入っていない状態であるということがわかる。

2つのファイルにチェックを入れてDelete 2 entriesをクリックしてゴミ箱に入れる。

trash(ゴミ箱)が2になっているのがわかるので2つのファイルがゴミ箱に入ったことになる。

つまり、Issues(2250)、Trash(2)は、問題ある画像が2250でゴミ箱に2つが入っている。

この状態はまだ完全にファイルは削除されていないが、サイトで必要な画像をゴミ箱に移動しているなら、既に表示されない状態になっている、もしサイトを開いて問題があるなら、すぐに復元すると元に戻すことができる。

このTrash(2)をクリックすると、その内容が表示される。

Trashゴミ箱の中に入っているファイルを元に戻す

ここで一旦、元に戻す方法を練習する。

チェックを入れると、先ほどまで「Scan」となっていたボタンが「Unselect All:全て選択しない」、
Recover 2 entries:2つのエントリを回復」になっている。

つまり、「Recover 2 entries」をクリックするとゴミ箱から戻すことができることになる。

「Unselect All」は「選択を全て解除する」という意味でチェックを外すことができるが、下の全選択のチェックを外した方がわかりやすいかなと思う。

Issuesをクリックするとゴミ箱から戻ったファイルを確認することができ、Trashが「0」になっているのでゴミ箱には何も入っていないことが分かる。

最終的に完全にファイルを削除する

ゴミ箱の中のファイルを①でチェックを入れる、②をクリックすると完全に削除することができる。
これをやらないとサイトの容量は減らない。

サイドの②の「Delete Permanently 2 enters(完全に2つを削除)」をクリックすると、もしリンクされていた場合はサイトで表示されなくるので、その前のゴミ箱に入っている状態で確認する必要がある。

問題はどこにこの画像があるかがわからないので全てのサイトを確認する必要がある。

Delete Permanently 2 enters(完全に2つを削除)」をクリックした状態が下の画像になるTrashが「0」になって、その中に入っていた画像のサムネイルも無くなっているのがわかる。

この状態になると、元に戻すことができない状態になっている。

注意! ここで一つ気になることがある。上の画像でIssues(2025)、Trash(0)になっているがIssues(2025)がDelete Permanently 2 entersをクリックして完全削除したにも関わらず、削除前と同じ2025になっているのが気に掛かる。本来なら完全削除したなら2023になるはずだか?
ひょっとしたら勘違いしているかも。後日分かったら訂正します。

検索結果で出たファイルを一度に全て削除する方法

検索結果の画面右側に、「Delete All」という赤いボタンがあります(下記画像参照)。
このボタンをクリックするだけです。

全てのファイル数が9060ファイルで、その内2250のリンク切れのファイルを削除した、時間的には8分程。

下の画像で、まだTrash(2250)となっているのが分かると思うが、これはゴミ箱に入った状態で、完全に削除はされていないので、余計な画像が削除されていないかこの時点でサイトを確認すること。
もし間違って削除した状態なら表示されなくなっているので分かる。

完全に削除するために以下のTrash(2250)をクリック。

以下のところにチェックを入れて全てを選択する。

下の画像の「Delete Permanently 10 enters(完全に10 削除)」をクリック。
削除するのをやめる場合は「Recover 10 entries」で戻すことができる。

この削除はデフォルトで10となっているので、もう一度残りのTrashをクリックしてこれが「0」になるまで削除を繰り返すことになる。

一度に全ての完全に削除するには、右上の「Empty Trash:ゴミ箱を空にする」をクリックすると早い。

以下のウインドウが出るのでOKをクリックで完全削除になる。

上の画像の翻訳

ネットワークのスピードが遅いと以下の画像のようにエラーになる場合がある。
しばらくすると自動的に再開するので何もしないで待つと良い。右上の「Auto Rotry In」が「0」になると再開されるようだ。

Advanced Settings:詳細設定

一度に読み込むメディアエントリの数とか、色んな設定がここで変更することができる。
デフォルトのままでも問題ないと思う。

Media Cleanerで作業した後の確認

使っていない画像を削除した後は、サイトに問題が発生していないか、リンク切れやレイアウトの崩れがないかをチェックする。

リンク切れのチェックをする

Broken Link Checkerなどのプラグインを使えば、サイト内のリンク切れを自動的に検出し、修正が必要な箇所を一覧表示できる。

目視での確認

ツールを使ったチェックに加え、目視での確認も重要。
すべてのページを確認することが大事ではあるが、難しい場合は、重要なページだけでも最低限チェックすること。