DotNetNuke Optimizations

Please follow the steps below in order to optimize your DNN application and improve your speed:

Host -> Host Settings Changes

  1. Appearance

In this section, uncheck the "Show Copyright Credits" box

  1. Advanced -> Authentication Settings

In this section, uncheck "Enabled" for any provider that will not be used in the portal, typically the LiveId and OpenId providers

  1. Advanced -> Performance Settings

In this section, change the "Module Caching Method" to Memory.  The "Performance Setting" to Heavy Caching.

  1. Advanced -> Other Settings

In this section, change the "Scheduler Mode" to Timer.  Enable the "Event Log Buffer" and disable the "Auto-Sync File System" option

  1. Host -> Scheduler Changes

In this section, change the "Search Engine Scheduler" task to run typically once every 12/24 hours.  This reduces a big load on the server.

  1. Other Changes

Regular Purging of Event Log

By default the DNN site logs whatever is happening with your DNN. This information is actually stored in your MSSQL database. This considerably increases the size of the database and thus slowing down the site. You need to delete the log files and the exceptions once you think your DNN site is loading slowly. This applies to all versions of DNN. You can access the logs under the Admin settings and then the log viewer under that.

The best policy is to clean the EventLog on a regular basis. Large Event Log table can become a very troublesome hindrance on the performance side of a site.

The following articles/tutorials provides information on managing these logs through DNN’s settings and features:

  1. Make sure debug is disabled for your ASP.NET site by setting in your web.config file

  2. Enable Client Side caching

The following article gives a very good idea on how to enable client side caching for DNN

The easiest way is with a small web.config file in the folder.  The location may specify a file – the cache headers are applied to that file only. The location may specify ‘.’ – The cache headers are applied to any file in that folder.

Such a web.config file looks like this...


all files in Resources\Libraries\
all files in js\
all files in Resources\Shared\Scripts\
all files in Resources\Shared\Components\

You can use a powershell script to create the caching for you. You can find it at: