Take the community feedback survey now.

Per Nergård (MVP)
Sep 5, 2017
  5665
(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
Optimizely CMS platform bug in ErrorsController (EPiServer.CMS.Core 12.22.9 fix)

While checking  Application Insights earlier this year, I stumbled upon a strange exception in my Optimizely site. At first, I thought it might be ...

David Drouin-Prince | Nov 9, 2025 |

Avoid Using OnStatusChanged in Optimizely CMS – It Can Impact Database Performance

Beware of Overusing OnStatusChanged in Optimizely CMS Scheduled Jobs Optimizely CMS allows you to create scheduled jobs — a powerful feature often...

David Drouin-Prince | Nov 9, 2025 |

Optimizely CMS - Learning by Doing: EP06 - Create Header, Footer, Menu & Component/View for Blocks

  Episode 6  is Live!! The latest installment of my  Learning by Doing: Build Series  on  Optimizely CMS 12  is now available on YouTube! This vide...

Ratish | Nov 4, 2025 |

Going Headless: 3 Ways to Store Custom Data in Optimizely Graph

Welcome to another installment of my  Going Headless  series. Previously, we covered: Going Headless: Making the Right Architectural Choices Going...

Michał Mitas | Nov 3, 2025

A day in the life of an Optimizely OMVP - What's New in Optimizely CMS: A Comprehensive Recap of 2025 Updates

Hello and welcome to another instalment of a day in the life of an Optimizely OMVP. On the back of the presentation I gave in the October 2025 happ...

Graham Carr | Nov 3, 2025

Optimizely CMS Mixed Auth - Okta + ASP.NET Identity

Configuring mixed authentication and authorization in Optimizely CMS using Okta and ASP.NET Identity.

Damian Smutek | Oct 27, 2025 |