BT.RedirectManager
1.4.0
See the version list below for details.
dotnet add package BT.RedirectManager --version 1.4.0
NuGet\Install-Package BT.RedirectManager -Version 1.4.0
<PackageReference Include="BT.RedirectManager" Version="1.4.0" />
<PackageVersion Include="BT.RedirectManager" Version="1.4.0" />
<PackageReference Include="BT.RedirectManager" />
paket add BT.RedirectManager --version 1.4.0
#r "nuget: BT.RedirectManager, 1.4.0"
#:package BT.RedirectManager@1.4.0
#addin nuget:?package=BT.RedirectManager&version=1.4.0
#tool nuget:?package=BT.RedirectManager&version=1.4.0
BT Redirect Manager
A URL redirect manager plugin for Umbraco CMS 13, 17, and 18. Manage 301, 302, 404, and 410 redirects directly from the Umbraco backoffice with a redesigned modern dashboard, CSV import/export, regex support, domain scoping, hit-count analytics, and a built-in test tool.
Screenshots



Features
- Multiple status codes: 301 (Permanent), 302 (Temporary), 404 (Not Found), and 410 (Gone) — each with a distinct soft-color badge in the dashboard.
- Redesigned backoffice dashboard: Clean, modern UI built with Lit (Umbraco 17/18) and AngularJS (Umbraco 13). Compact status legend, search bar, filters, bulk selection, and tab-based navigation all in one view.
- Domain-scoped redirects: Scope a redirect to a specific hostname for multi-site installs. The same Old URL can point to a different New URL per domain, with domain-specific rules taking precedence over global ones. Leave the Domain field blank to apply a redirect to all domains.
- Regex and exact match: Support for both exact path redirects and regex rules with
$1capture groups. Regex rules are highlighted with a purple pill in the dashboard. - Hit-count analytics: Every redirect tracks how many times it has fired and when it was last hit, plus rolling 7-day and 30-day totals, visible directly in the redirect list — useful for spotting stale redirects to retire or rules that aren't firing when they should.
- 404 log with one-click redirect creation: Genuine 404s are logged automatically with hit count, first seen, and last seen dates. Turn any frequent 404 into a redirect in a single click.
- CSV import/export: Migrate or bulk-edit redirects via CSV files.
- Built-in test tool: Test a path before saving to confirm which redirect rule will match.
- Backoffice-secured API: All redirect-management endpoints require an authenticated Umbraco backoffice session with a valid bearer token.
- Automatic database migration: Tables are created and updated automatically on first run — no manual SQL required.
- Auto-copy App_Plugins: App_Plugins assets are copied to the output directory on build via the included MSBuild targets file.
Installation
dotnet add package BT.RedirectManager
Or via the NuGet Package Manager:
Install-Package BT.RedirectManager
After installation, restart your Umbraco application and open the Redirect Manager dashboard from the Settings section in the backoffice.
Usage
- Navigate to Settings → Redirect Manager in the Umbraco backoffice.
- Click + Add redirect to create a new redirect rule.
- Fill in the Old URL, New URL, status code, and optionally a domain and notes.
- Toggle Active to enable or disable the rule without deleting it.
- Enable Regex match to use regular expression patterns and
$1capture groups in the New URL. - Use the Test button on any row to verify a redirect resolves as expected.
- Switch to the 404 Log tab to review unmatched requests and convert them to redirects with one click.
- Use Export CSV / Import CSV for bulk operations.
Status Codes
| Code | Label | Description |
|---|---|---|
| 301 | Permanent | The resource has permanently moved to the new URL. Browsers and search engines update their records. |
| 302 | Temporary | The resource has temporarily moved. Search engines keep the original URL indexed. |
| 404 | Not Found | Returns a 404 response for the matched URL. Useful for explicitly blocking paths. |
| 410 | Gone | Signals that the resource is permanently gone with no replacement. |
Database
The plugin creates three tables automatically:
RedirectManagerEntries
| Column | Type | Notes |
|---|---|---|
| Id | int PK | Auto-increment |
| OldUrl | nvarchar | Path or regex pattern |
| NewUrl | nvarchar | Target path (nullable for 404/410) |
| Domain | nvarchar | Hostname filter — null/blank applies to all domains |
| Description | nvarchar | Optional notes |
| StatusCode | int | 301, 302, 404, or 410 |
| IsActive | bit | Enable/disable without deleting |
| IsRegex | bit | Treat OldUrl as a regex pattern |
| HitCount | int | Total number of times this rule fired |
| LastHitDate | datetime | Timestamp of the most recent hit |
| CreatedDate | datetime | |
| UpdatedDate | datetime |
RedirectManagerHitDaily
One row per redirect per UTC day, used to compute the 7-day/30-day rolling totals shown in the dashboard. Rows older than 35 days are pruned automatically.
RedirectManagerMissedRequests
Logs genuine 404 responses (path, hit count, first seen, last seen). Entries older than 90 days are cleaned up automatically.
Configuration
No additional configuration required. The plugin works out of the box after installation.
License
MIT
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
| 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 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. |
-
net10.0
- Umbraco.Cms (>= 17.1.0)
- Umbraco.Cms.Infrastructure (>= 17.1.0)
-
net8.0
- Umbraco.Cms (>= 13.9.2)
- Umbraco.Cms.Infrastructure (>= 13.9.2)
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.10.2 | 88 | 8/21/2026 |
| 1.10.1 | 97 | 8/17/2026 |
| 1.10.0 | 91 | 8/17/2026 |
| 1.9.1 | 136 | 7/28/2026 |
| 1.9.0 | 180 | 7/22/2026 |
| 1.8.1 | 124 | 7/13/2026 |
| 1.8.0 | 100 | 7/13/2026 |
| 1.7.0 | 104 | 7/9/2026 |
| 1.6.0 | 108 | 7/9/2026 |
| 1.5.0 | 112 | 7/8/2026 |
| 1.4.0 | 110 | 7/8/2026 |
| 1.3.1 | 123 | 7/2/2026 |
| 1.2.33 | 116 | 7/1/2026 |
| 1.2.32 | 153 | 6/10/2026 |
| 1.2.31 | 126 | 6/10/2026 |