Rivlo.FriendlyMedia
13.1.0
dotnet add package Rivlo.FriendlyMedia --version 13.1.0
NuGet\Install-Package Rivlo.FriendlyMedia -Version 13.1.0
<PackageReference Include="Rivlo.FriendlyMedia" Version="13.1.0" />
<PackageVersion Include="Rivlo.FriendlyMedia" Version="13.1.0" />
<PackageReference Include="Rivlo.FriendlyMedia" />
paket add Rivlo.FriendlyMedia --version 13.1.0
#r "nuget: Rivlo.FriendlyMedia, 13.1.0"
#:package Rivlo.FriendlyMedia@13.1.0
#addin nuget:?package=Rivlo.FriendlyMedia&version=13.1.0
#tool nuget:?package=Rivlo.FriendlyMedia&version=13.1.0
Friendly Media for Umbraco
Friendly Media is a powerful, editor-friendly tool for managing clean, consistent, human-readable media URLs in Umbraco.
It improves visibility, consistency, and SEO by giving you control over how media files are referenced β without changing how Umbraco stores them.
β¨ Features
- Auto-generated friendly URLs based on media names
- Custom override URLs with validation and conflict checking
- Duplicate detection and visual warnings
- Smart filename change detection
- CSV export for audits and content reviews
- Deep media usage reporting across Block Lists, RTEs, and more (coming soon)
- Dashboard and Media Content App UI for full visibility and control
- Delete Guard prevent editors deleting media which is in use
- Schedule Media File Replacements replace your media files at a set date and time in the future
π§ How it works
Friendly Media doesn't alter your actual media file paths β it maintains a mapping between Umbraco media items and clean, user-facing URLs that can be used in the front end.
This allows you to:
- Keep URLs stable even if media filenames change
- Assign readable slugs for better SEO
- Avoid long, messy URLs with timestamps or GUIDs
π New in 13.1.0 β Scheduled Media Replacement
Friendly Media now supports scheduled file replacement, allowing editors to update media files (such as PDFs or documents) at a specific future date and time β without changing the Friendly URLs.
What it does
- Upload a replacement file for an existing media item
- Choose a future publish date/time
- The file is automatically replaced by a background job
- Friendly URLs remain stable (no broken links)
Why itβs useful
This is ideal for:
- publishing updated documents at a specific time
- preparing content changes in advance
- avoiding last-minute manual updates
- maintaining consistent URLs for external links and SEO
Key behaviour
- Only one scheduled replacement per media item
- Scheduling a new file requires cancelling the existing one first
- Replacement files are stored privately until published
- Editors are warned if a scheduled replacement exists
- Dashboard filtering shows all media items with pending replacements
- Umbraco's generated URL may change depending on the filename of the replacement file
- All Umbraco media file metadata is recalculated (e.g. image dimensions, file bytes)
π Getting Started
1. Install via NuGet
dotnet add package RivloTools.FriendlyMedia
2. Configure routing middleware in Program.cs
app.UseFriendlyMediaMiddleware();
A valid licence file is required for production. A 14 day trial mode is available for evaluation.
π· Backoffice UI
Friendly Media adds a new dashboard to the Media section and a custom tab (content app) to each media item for managing URLs and warnings.
πΌ Licensing
This package requires a valid RivloTools licence file to run in production.
Trial Mode: 14 day trial is automatically enabled on first install
Licensing: Per-domain with optional version-lock
π Documentation
Full documentation, guides, and support: π www.rivlotools.com/products/friendly-media
π Built For
Currently available for Umbraco 10 and 13 with Umbraco 14+ versions coming soon.
π§βπ» Contribute / Feedback
This is a commercial package, but feedback and ideas are welcome: π¬ rivlotools@cssoftware.co.uk
Β© CS Software Ltd Β· Part of the RivloTools suite
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Rivlo.Licensing (>= 13.0.2)
- Rivlo.Licensing.UI (>= 13.0.1)
- Umbraco.Cms.Web.BackOffice (>= 13.0.0 && < 14.0.0)
- Umbraco.Cms.Web.Website (>= 13.0.0 && < 14.0.0)
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 |
|---|---|---|
| 13.1.0 | 236 | 3/30/2026 |
| 13.0.3 | 285 | 10/29/2025 |
| 13.0.2 | 253 | 10/27/2025 |
| 13.0.1 | 194 | 10/17/2025 |
| 13.0.0 | 234 | 9/30/2025 |
| 13.0.0-beta7 | 287 | 8/8/2025 |
| 13.0.0-beta6 | 251 | 8/8/2025 |
| 13.0.0-beta5 | 315 | 8/6/2025 |
| 13.0.0-beta4 | 269 | 8/4/2025 |
| 13.0.0-beta3 | 278 | 8/4/2025 |
| 13.0.0-beta2 | 234 | 8/4/2025 |
| 13.0.0-beta1 | 217 | 8/3/2025 |