Per Nergård (MVP)
Sep 5, 2017
  5970
(6 votes)

Plugin for deleting unreferenced media

Sometimes you need to synch a dev-environment with production database and media and the blob-storage is huge with likely a lot of unreferenced media or perphaps want to clean up a test-environment.

To help in those two scenarios I threw togheter a small plugin that lets you delete all or just selected unreferenced media. Really nothing to say about the code than it can be found over at my Gist.

It looks like this:

Image cleaner.jpg

Sep 05, 2017

Comments

valdis
valdis Sep 6, 2017 08:44 AM

where you were couple weeks ago? when we had ~ 1TB of unreferenced media ?? :) great plugin

Per Nergård (MVP)
Per Nergård (MVP) Sep 6, 2017 09:13 AM

Valdis: Thanks. Actually did this before the vacations but haven't got around blogging for quite a while. Been thinking about doing a scheduled job version for a more hardcore approach to keeping the assets folder clean :)

Per Nergård (MVP)
Per Nergård (MVP) Sep 6, 2017 03:06 PM

Gosso: I googled before I made the plugin but not good enough. But my version has cherry picking of files. :)

Luc Gosso (MVP)
Luc Gosso (MVP) Sep 6, 2017 03:56 PM

Also check out the mega super awesome amazing DownloadIfMissingFileBlogProvider for dev and staging environment.

with that addon you can

  • ... delete all blobs - and it takes care of downloading the images/documents you need
  • ... use diskspace to other things... It only downloads the blobs you're using
  • ... go home earlier, since you'll never ever need to download the blob-directory anymore.

Try it =)

Per Nergård (MVP)
Per Nergård (MVP) Sep 6, 2017 04:16 PM

I agree that your DownloadIfMissingFileBlogProvider is the best thing since slice bread. :)

valdis
valdis Sep 7, 2017 05:59 PM

I guys will leave you there :D

Johan Book
Johan Book Feb 17, 2018 10:31 AM

I just wrote a quick script to remove blobs that have no entry in CMS, then I found this post :D

To Per's defence, his version does indeed go one extra step by checking what's actually referenced, and not only what exists in CMS. The DownloadIfMissing plugin looks awesome, but if you can't use it for some reason you'll need to do a combination of both approaches to slim it to the maxx. Thanks Per!

Per Nergård (MVP)
Per Nergård (MVP) Feb 26, 2018 11:44 PM

Glad you found it usefull.

Please login to comment.
Latest blogs
Searchable settings page

In my current project which has been actively developed for quite some time we have a big classig settings page. Unfortunately the placement and...

Per Nergård (MVP) | Apr 6, 2026

Forcing Lowercase URLs in Optimizely CMS During Auto-Translation

Learn how to fix uppercase and punctuation issues in Optimizely CMS 12 URL segments caused by LanguageManager auto-translation using a custom...

Stuart | Apr 2, 2026 |

Stott Robots Handler v7 for Optimizely CMS 13

Stott Robots Handler version 7 is now available for  Optimizely PaaS CMS 13 . This is includes updates to support the switch from a Site based...

Mark Stott | Apr 2, 2026

Automating Block Translations in Optimizely

Stop manual block-by-block translations. Learn how to use the TranslateOrCopyContentAreaChildrenBlockForTypes config to automate Optimizely CMS...

Stuart | Apr 1, 2026 |