Storage.HealthChecks 1.3.1

dotnet add package Storage.HealthChecks --version 1.3.1
                    
NuGet\Install-Package Storage.HealthChecks -Version 1.3.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Storage.HealthChecks" Version="1.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Storage.HealthChecks" Version="1.3.1" />
                    
Directory.Packages.props
<PackageReference Include="Storage.HealthChecks" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Storage.HealthChecks --version 1.3.1
                    
#r "nuget: Storage.HealthChecks, 1.3.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Storage.HealthChecks@1.3.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Storage.HealthChecks&version=1.3.1
                    
Install as a Cake Addin
#tool nuget:?package=Storage.HealthChecks&version=1.3.1
                    
Install as a Cake Tool

Package Icon

Storage Health Checks for Umbraco

A collection of health checks for Umbraco CMS that help you monitor and maintain your media storage. These checks identify potential issues with media files, helping you keep your Umbraco installation clean and efficient.

Requirements

  • Umbraco CMS 17.0 or later
  • .NET 10.0 or later

Installation

Install the NuGet package:

dotnet add package Storage.HealthChecks

That's it! The health checks will automatically appear in the Umbraco backoffice under Settings → Health Check → Media Storage.

Note: The package uses an Umbraco Composer to auto-register the configuration. No code changes are required in your Program.cs.

Health Checks

Duplicate Media Items

Identifies duplicate media files based on filename and file size. Helps you find files that have been uploaded multiple times, wasting storage space.

Status: Info
What it checks:

  • Groups media items by filename and file size
  • Identifies groups with more than one file
  • Calculates wasted storage space from duplicates

See example


Large Media Items

Finds media files that exceed a configurable size threshold (default: 5 MB). Large files can slow down page load times and consume excessive storage.

Status: Info
What it checks:

  • Scans all media items for files larger than the configured threshold
  • Reports total excess storage used
  • Lists files sorted by size (largest first)

See example


Missing Media Files

Detects media items in the database that are missing their physical files on disk. This is a critical issue that can cause broken images on your website.

Status: Error
What it checks:

  • Compares database entries with physical files
  • Identifies media items where the file no longer exists
  • Common causes: failed migrations, disk issues, manual file deletion

See example


Orphaned Media Files

Finds physical files in the /media folder that have no corresponding database entry. These files take up space but are not managed by Umbraco.

Status: Warning
What it checks:

  • Scans physical media folder
  • Compares with database entries
  • Identifies files that can be safely removed

See example


Unused Media Items

Identifies media items that have no tracked references from any Umbraco content. These may be candidates for deletion.

Status: Warning
What it checks:

  • Uses Umbraco's tracked references service
  • Finds media not used in any content properties
  • Note: May still be used via hardcoded URLs in templates

See example


Disallowed Media File Extensions

Detects physical media files whose extensions are listed in Umbraco's DisallowedUploadedFileExtensions setting. These files may pose a security risk and should be reviewed.

Status: Warning
What it checks:

  • Scans all physical files in the configured media storage
  • Compares each file's extension against ContentSettings.DisallowedUploadedFileExtensions
  • Reports files that bypassed Umbraco's upload validation
  • Common causes: direct FTP/blob uploads, older configs that permitted the extension, custom upload endpoints, migrations

See example


Configuration

Ignore Lists

You can configure an ignore list for the Unused Media and Large Media health checks by specifying media item GUIDs. Add the following to your appsettings.json:

{
  "StorageHealthChecks": {
    "IgnoredMediaIds": [
      "00000000-0000-0000-0000-000000000000",
      "11111111-1111-1111-1111-111111111111"
    ],
    "LargeMediaThresholdMB": 5.0
  }
}
Configuration Options
Option Type Description
IgnoredMediaIds Guid[] Array of media item GUIDs to ignore
LargeMediaThresholdMB double Maximum file size in MB before considered "large" (default: 5.0)
DisallowedExtensionsScanMaxFiles int Maximum number of files to scan for disallowed extensions before aborting (default: 50,000)
DisallowedExtensionsScanTimeBudgetSeconds int Time budget in seconds for the disallowed extensions scan before aborting (default: 5)

Localization

Localization is currently not supported. All health check messages are displayed in English only.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.3.1 185 3/9/2026
1.3.0 378 2/26/2026
1.2.2 413 2/25/2026
1.2.0 119 2/23/2026
1.1.0 125 2/9/2026
1.0.4 121 2/9/2026
1.0.3 123 2/9/2026
1.0.2 115 2/9/2026
1.0.1 115 2/9/2026
1.0.0 120 2/9/2026