Installing the Mogul SEO Manager

Improving your website's SEO will be a top priority for any marketing department. One of Episerver's strengths is, that as a platform, it allows you to completely customise your website to meet your company's business needs. This approach has one downside which is the majority of SEO and performance-based tweaks are up to you to implement. How long you want to spend re-inventing the wheel is your decision, if your deadline is pretty tight and you don't want to re-invent the wheel, there are a few third-party add-ons that you can integrate into your project to cut down on the amount of custom development required, one of these plug-ins is the Mogul SEO Manager. In today's guide I'm going to quickly cover my experience installing the SEO manager.

What is Moguls SEO Manager?

SEO Manager helps you improve your website search engine optimization, which improves your searchability and Google ranking. SEO manager is a commercial product with a license for a single site around £3,000. This post is not a review of the product (that might come later) but a simple installation guide, so it's up to you to decide if the license fee is worth it. When I have to evaluate a product's effectiveness I usually get the cost of the products, then estimate how long it would take me to implement similar functionality in-house. £3,000 may roughly translate into a week's worth of development time so this can be a good saving.

Installing Mogul SEO Manager

There are several ways to install the plug-in, the add-on store, via Nuget or manually. In today's guide I'm going to install SEO manager via the add-on store. First, log into your Episerver backend and go to the 'Addon' tab: episerver_mogul_seo_manager_1 Go to the third-party add-ons and find the latest version of SEO manager and click 'install'. episerver_mogul_seo_manager_2 Before the plug-in will work, you will need to restart Episerver, You can do this using the 'RESTART' button which should now have miraculously appeared at the top of the admin screen.


To get a trial license, navigate to the Download SEO Manager page and request a trial license. episerver_mogul_seo_manager_3 You should get an email with your trial license included. You need to copy this file into your website's webroot.

Installation Issues

After I reset Episerver and tried to reload my website I received this error: episerver_mogul_seo_manager_4
Server Error in '/' Application.

StructureMap Exception Code:  202
No Default Instance defined for PluginFamily Mogul.SeoManager.Logic.Core.IContentService, Mogul.SeoManager, Version=, Culture=neutral, PublicKeyToken=null

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: StructureMap.StructureMapException: StructureMap Exception Code:  202
No Default Instance defined for PluginFamily Mogul.SeoManager.Logic.Core.IContentService, Mogul.SeoManager, Version=, Culture=neutral, PublicKeyToken=null
After getting in contact with Mogul's support (which replied very quickly, less than 2 hours), they said the version of the SEO manager was trying to install via the add-on store, only works with version 9+, my version was 8.4. The plug-in will install regardless of the version you are using, so this is definitely something to be aware of before you click the 'Add' button... Make sure you use the correct version of the plug-in with the CMS version you are using. To figure out which version of the plugin you should be using, I would suggest looking at Mogul's documentation. After trashing my sample site, I upgraded it to 9.0.1 and then tried re-installing the SEO manager. After resetting Episerver, I ran into this error: episerver_mogul_seo_manager_5 to install it on my sample site, I trashed it, and upgraded the site to 9.0.1. After re-installing the manager the second time around, I got this error:
No default Instance is registered and cannot be automatically determined for type 'Mogul.SeoManager.Logic.Core.IContentService'

There is no configuration specified for Mogul.SeoManager.Logic.Core.IContentService

1.) new SeoManagerMultiplexingRouteHandler(*Default of IContentLoader*, *Default of IPermanentLinkMapper*, *Default of TemplateResolver*, *Default of UpdateCurrentLanguage*, *Default of IContentService*, *Default of LocalizationService*, *Default of LanguageResolver*)
2.) Mogul.SeoManager.Logic.Core.Routing.SeoManagerMultiplexingRouteHandler
3.) Instance of System.Web.Routing.IRouteHandler (Mogul.SeoManager.Logic.Core.Routing.SeoManagerMultiplexingRouteHandler)
4.) Container.GetInstance(System.Web.Routing.IRouteHandler)
This issue was down to some custom code on my site that dealt with custom routing on my website. As the SEO manager adds its own custom route handlers to deal with the re-directs, my own custom module that dealt with routing broke. To fix it I needed to add a ModuleDependency to 'EPiServer.Web.InitializationModule' so my custom code wasn't fired until the SEO manager dependencies had been initialised. To make my custom Initialization Module get called after the Mogul's dependency, I changed my code to include the [ModuleDependency(typeof(EPiServer.Web.InitializationModule))] attribute, like this:
    public class DataInitialization : IInitializableModule
After this small fix my website loaded again. Now, to test if the plug-in had installed, log into the backend and go to the 'aDMIN' episerver_mogul_seo_manager_6 In the 'Tools' section, you should see an entry 'SEO Manager' entry. Open it up, click the big 'Enable SEO Manager' and you're good to go!

submit to reddit

Jon D Jones

Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge

Back to top