Tags: CMS12 Optimizely/Episerver

Configuring link validation in Optimizely CMS 12

When Optimizely released version 12 of their CMS, it was not possible to configure how links should be validated. Now it is! 🎉

It's all nicely described in the documentation, but here's a summary.

services.Configure<LinkValidatorOptions>(options => {
          options.ExternalLinkMinimumRequestInterval = TimeSpan.FromSeconds(5);
          options.MaximumRunTime = TimeSpan.Zero;
          options.RecheckInterval = TimeSpan.FromHours(7);
          options.UserAgent = "EPiServer Link Checker";
          options.ProxyAddress = new Uri("http://myproxy.mysite.com");
          options.ProxyUser = "myUserName";
          options.ProxyPassword = "secretPassword";
          options.ProxyDomain = ".mysite.com";
          options.InternalLinkValidation = ValidationType.Api;
          options.ExcludePatterns.Add(".*doc");
          options.ExcludePatterns.Add(".*pdf");
      });

The default values for each setting can be found in the configuring cms section. What's not mentioned in the documentation is the most important setting - ExternalLinkErrorThreshold!

Grafisk brukergrensesnitt, applikasjon

If you have not seen the above error message – consider yourself very lucky! If you have seen it, you'd probably want to ramp up the setting below.

services.Configure<LinkValidatorOptions>(options => {
          options.ExternalLinkErrorThreshold = 1000;
      }); 

If you want to use IncludePatterns instead of ExcludePatterns, check out my old (but still valid) blog post about the horrors of the Episerver Link Validation job.

Found this post helpful? Help keep this blog ad-free by buying me a coffee! ☕