UrlTracker 9.0.0-beta0005

This is a prerelease version of UrlTracker.
There is a newer version of this package available.
See the version list below for details.
dotnet add package UrlTracker --version 9.0.0-beta0005
                    
NuGet\Install-Package UrlTracker -Version 9.0.0-beta0005
                    
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="UrlTracker" Version="9.0.0-beta0005" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="UrlTracker" Version="9.0.0-beta0005" />
                    
Directory.Packages.props
<PackageReference Include="UrlTracker" />
                    
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 UrlTracker --version 9.0.0-beta0005
                    
#r "nuget: UrlTracker, 9.0.0-beta0005"
                    
#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 UrlTracker@9.0.0-beta0005
                    
#: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=UrlTracker&version=9.0.0-beta0005&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=UrlTracker&version=9.0.0-beta0005&prerelease
                    
Install as a Cake Tool

<h3 align="center"> <img height="100" src="docs/assets/infocaster_nuget_yellow.svg"> </h3>

<h1 align="center"> URL Tracker

Downloads Nuget (with prereleases) GitHub

</h1>

This project is a continuation of the original URL Tracker, created by Kipusoep.

The URL Tracker makes url management easy. Your visitors will no longer be lost on your website as the URL Tracker watches how your website changes. Page moved or renamed? No problem! The URL Tracker knows this and directs your visitors to the right page. Not only does this provide a nice experience for your visitors, it also helps you maintain your rightful spot at the top in Google (and other search engines). The URL Tracker puts you in control by giving you the means to manage your own redirects. It can be as simple as a redirect from a url to an umbraco page, but you can make it as sophisticated as you like using Regular Expressions. The URL Tracker is an essential tool for content editors who want to migrate to a new Umbraco website, so they can guide their users to the right place.

Requirements

The URL Tracker is guaranteed to work with SQL Server databases. The URL Tracker does not work with SQL Compact Edition databases.

Getting Started

The URL Tracker is available via NuGet. Visit the URL Tracker on NuGet for instructions on how to install the URL Tracker package in your website. Once installed, you'll have to actually use it in your request pipeline (Often found in the file Startup.cs). For the best performance, you should insert the UrlTracker as high in the pipeline as possible. The UrlTracker requires an instantiated umbraco context, so make sure it is inserted after the umbraco context is initialized. We recommend that you insert the UrlTracker like this:

app.UseUmbraco()
    .WithMiddleware(u =>
    {
        u.UseBackOffice();
        u.UseWebsite();

        // Insert behind 'UseWebsite' to ensure the existance of an UmbracoContext
        u.UseUrlTracker();
    })

Now build your project and you should be ready to make your visitors happy!

Configuration

The URL Tracker has several configurable properties that can be changed in appsettings.json:

{
    "UrlTracker": {
        "IsDisabled": false,
        "IsTrackingDisabled": false,
        "LoggingEnabled": false,
        "IsNotFoundTrackingDisabled": false,
        "AppendPortNumber": false,
        "HasDomainOnChildNode": false,
        "CacheRegexRedirects": true,
        "InterceptSlidingCacheMinutes": 2880,
        "MaxCachedIntercepts": 5000,
        "EnableInterceptCaching": true
    }
}
  • Is disabled | Set this value to true to completely disable the URL Tracker. The URL Tracker will not intercept any requests nor track any content updates
  • Is tracking disabled | Set this value to true to disable tracking of content changes. The URL Tracker will not automatically create redirects when content is updated
  • Is not found tracking disabled | Set this value to true to disable tracking of Not Found responses.
  • Enable logging | Set this value to true to allow the URL Tracker to write logs to the Umbraco native logger. Most logs from the URL Tracker are written at Debug or Verbose level.
  • Append port number | Set this value to true to add a port number behind the host component of a redirect url. This setting is ignored when the application is hosted on the default port 80.
  • Has domain on child node | Set this value to true if your website has domains configured on pages that are not in the root of the website.
  • Cache regex redirects | Set this value to false to disable caching of regex redirects. By default, all regex redirects are cached in memory to improve performance.
  • Intercept sliding cache minutes | Set this value to the time in minutes that all redirects should be cached. By default, all redirects are cached for 2 days. Set to null to cache indefinitely.
  • Max cached intercepts | Set this value to the amount of intercepts that should be cached by the UrlTracker. This not only includes redirects, but also 200 OK responses, 410 GONE responses and 404 NOT FOUND responses.
  • Enable intercept caching | Set this value to false to completely disable redirect caching.

Contributing

The URL Tracker is open for contributions. If you want to contribute to the source code, please check out our guide to contributing.
Many people have already contributed to this awesome project:

<a href="https://github.com/Infocaster/UrlTracker/graphs/contributors"> <img src="https://contrib.rocks/image?repo=Infocaster/UrlTracker" /> </a>

Made with contributors-img.


Credits

Credits from the original developer:

  • InfoCaster | Being able to combine 'work' with package development and thanks to colleagues for inspiration.
  • Richard Soeteman | Richard came up with the idea for a package which keeps track of URLs of umbraco nodes.
  • The uComponents project | For inspiring me to create a single-assembly package solution. <a href="https://infocaster.net"> <img align="right" height="200" src="docs/assets/Infocaster_Corner.png"> </a>
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on UrlTracker:

Package Downloads
Etch.uSyncLegacy.UrlRedirects.InfoCaster

Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
13.3.0 4,362 5/6/2025
13.3.0-beta0001 225 4/17/2025
13.2.0 16,684 10/4/2024
13.2.0-beta0001 146 9/10/2024
13.2.0-alpha0009 233 8/16/2024
13.2.0-alpha0008 1,981 6/19/2024
13.2.0-alpha0007 158 6/14/2024
13.2.0-alpha0006 194 6/14/2024
13.2.0-alpha0005 138 6/13/2024
13.2.0-alpha0004 266 6/6/2024
13.2.0-alpha0003 278 5/28/2024
13.2.0-alpha0002 162 5/24/2024
13.2.0-alpha0001 168 5/24/2024
13.1.0 26,303 4/11/2024
13.1.0-beta0003 147 3/12/2024
13.1.0-beta0002 157 2/16/2024
13.1.0-beta0001 187 2/16/2024
13.0.1-beta0001 153 1/16/2024
13.0.0 12,330 12/14/2023
13.0.0-beta0001 164 12/13/2023
12.0.4-beta0001 177 1/16/2024
12.0.3 4,319 12/11/2023
12.0.2 3,096 10/27/2023
12.0.0 5,747 7/4/2023
11.2.0 2,433 12/12/2023
11.1.2 368 10/27/2023
11.1.0 3,051 8/2/2023
11.1.0-beta0001 201 7/24/2023
11.0.1 10,279 12/7/2022
11.0.1-beta0001 248 12/7/2022
11.0.0 1,965 12/1/2022
11.0.0-beta0002 255 11/22/2022
11.0.0-beta0001 283 10/23/2022
10.5.0-alpha0009 265 8/16/2024
10.5.0-alpha0008 148 6/14/2024
10.5.0-alpha0007 128 6/14/2024
10.5.0-alpha0005 152 6/6/2024
10.5.0-alpha0004 131 6/3/2024
10.5.0-alpha0003 133 5/28/2024
10.5.0-alpha0002 151 5/24/2024
10.5.0-alpha0001 137 5/24/2024
10.5.0-alpha-6 168 6/13/2024
10.4.0 3,286 4/11/2024
10.4.0-beta0002 176 3/12/2024
10.4.0-beta0001 159 2/16/2024
10.3.5 2,739 2/14/2024
10.3.5-beta0001 175 1/16/2024
10.3.4-beta0002 169 1/12/2024
10.3.4-beta0001 168 1/8/2024
10.3.3 2,841 12/12/2023
10.3.2-beta0001 289 12/1/2023
10.3.1 1,899 10/27/2023
10.3.1-beta0001 196 10/17/2023
10.3.0 35,005 5/26/2023
10.3.0-beta0002 255 5/19/2023
10.3.0-beta0001 248 5/16/2023
10.2.1 15,696 12/7/2022
10.2.1-beta0001 231 12/7/2022
10.2.0 6,143 10/19/2022
10.2.0-beta0002 348 10/8/2022
10.2.0-beta0001 275 10/8/2022
10.1.1 2,570 9/15/2022
10.1.1-beta0001 1,346 8/30/2022
10.1.0 3,999 8/13/2022
10.1.0-beta0003 292 8/12/2022
10.1.0-beta0002 338 8/11/2022
10.1.0-beta0001 299 8/9/2022
10.0.2 6,961 7/20/2022
10.0.2-beta0001 317 7/7/2022
10.0.1 789 7/2/2022
10.0.0 1,525 6/16/2022
10.0.0-beta0002 301 6/13/2022
10.0.0-beta0001 317 5/14/2022
9.1.2 923 12/7/2022
9.1.2-beta0001 294 12/7/2022
9.1.1 885 9/17/2022
9.1.0 722 8/18/2022
9.1.0-beta0001 302 8/13/2022
9.1.0-alpha0002 314 6/14/2022
9.0.2 1,662 7/2/2022
9.0.2-beta0003 313 7/1/2022
9.0.2-beta0002 264 7/1/2022
9.0.2-beta0001 277 6/24/2022
9.0.1 865 6/15/2022
9.0.1-beta0002 299 6/11/2022
9.0.1-beta0001 310 6/8/2022
9.0.0 3,401 4/26/2022
9.0.0-beta0007 269 4/25/2022
9.0.0-beta0006 327 4/18/2022
9.0.0-beta0005 303 4/13/2022
9.0.0-beta0004 339 3/31/2022
9.0.0-beta0003 371 3/25/2022
5.2.4 4,924 4/11/2024
5.2.4-beta0001 207 3/20/2024
5.2.3 7,894 1/18/2023
5.2.3-beta0001 767 1/17/2023
5.2.2 718 11/28/2022
5.2.1 2,248 9/17/2022
5.2.1-beta0001 271 9/16/2022
5.2.0 677 9/6/2022
5.2.0-beta0001 279 8/18/2022
5.1.0 942 8/2/2022
5.1.0-beta0002 267 8/2/2022
5.1.0-beta0001 311 7/4/2022
5.0.2-beta0002 295 7/4/2022
5.0.2-beta0001 631 5/5/2022
5.0.0 2,299 4/27/2022
5.0.0-beta0013 331 4/26/2022
5.0.0-beta0012 311 4/18/2022
5.0.0-beta0011 301 4/17/2022
5.0.0-beta0009 289 3/31/2022
5.0.0-beta0008 301 3/11/2022
5.0.0-beta0007 310 2/7/2022
5.0.0-beta0006 320 2/4/2022
5.0.0-beta0004 311 2/3/2022
4.1.132 6,735 1/19/2022
4.0.242 1,079 11/12/2021
4.0.240 6,075 6/25/2021
3.15.0 346,927 1/29/2018
3.14.1 14,068 11/11/2017
3.14.0 1,980 11/6/2017
3.14.0-beta2 2,006 9/27/2017
3.14.0-beta 1,531 9/26/2017
3.13.1 10,898 9/5/2017
3.13.0 1,750 9/5/2017
3.12.43 41,891 10/12/2016
3.11.0 25,729 2/26/2016
3.10.0 3,395 1/4/2016
3.9.1 6,015 7/9/2015
3.9.0 1,754 7/9/2015
3.8.0 3,291 5/22/2015
3.7.0 1,913 5/1/2015
3.6.1 1,762 3/21/2015
3.6.0 1,526 3/21/2015
3.5.0 1,815 2/20/2015
3.4.0 2,346 1/28/2015
3.3.0 2,820 12/19/2014

First release for Umbraco 9