Checklist for deploying EPiServer sites

by Andreas Nylin 10. January 2010 20:20

There are many tasks that needs to be performed when a new EPiServer web site is deployed and it's easy to forget something. This is a checklist with some of the most common tasks that needs to be done on most new EPiServer web sites. You can download the list as PDF here.

Updated 2010-01-15. Added info on Google Page Speed, IIS Compression, Scheduled jobs and IIS SEO Toolkit.

Updated 2010-01-28. Apparently auto shrinking causes file system fragmentation which slows down performance so it should never be turned on.

Updated 2010-03-25. Added info on EPiServerLog.config. More detailed descriptions.

Licenses


Order license for EPiServer
Make sure that correct license types have been ordered.

Order licenses for EPiServer modules
Make sure that correct license types have been ordered.


Access rights in EPiServer


Check access rights in the EPiServer page tree
Make sure that Administrators and Editors have the correct access levels. Remove everyone from pages that shouldn’t be accessed by normal users.

Remove test users and groups in EPiServer
Go through the list of users and groups and remove those that shouldn’t have access to the site.

Create users and groups in EPiServer (WebAdmins and WebEditors)
Create required users and groups and set their access rights. Create WebAdmins and WebEditors groups for administrators and editors.


Web.config


Set compilation debug to false
Set the debug attribute of the compilation section to false.

Set attributes for mailsettings section
· host = the mail server that should be used to send mails
· from = set to an address or remove
· port, userName, passWord (for mail server if needed)

Search for ":\" and “\\” and check that all paths are correct
Verify that all file system paths are correct.

Check access rights in web.config
Check the authorization section under each location section and verify that the specified groups are correct.


Episerver.config


Set siteUrl = http://www.acme.com

Set uiUrl = http://www.acme.com/UI/

Set utilUrl = http://www.acme.com/Util/

Set SiteDisplayName = Site name used in title, etc

Verify paths for virtualPath/providers
Verify that all paths are correct in the virtualPath section.

Set predefined image formats for the image editor
This is done in the imageEditor > sizePresets section.

Set uiEditorCssPaths (~/EditorStyles.css)
Verify that the path is correct.

Set attributes for outputcache
· httpCacheExpiration = 01:00:00 (one hour)
· httpCacheVaryByParams = * or parameters (id,epslanguage)
· httpCacheVaryByCustom = remove if not needed

Set stringDelayedLoadThreshold = 50
Lazy load is used if a property that inherits from long string is longer than 50 characters.


ConnectionStrings.config


Verify that the correct databases and users are specified


EPiServerLog.config


Set level value="Off"
Logging should be disabled until it’s needed.


ApplicationInitializing.txt


Create an ApplicationInitializing.txt file in the web root.
The text in the file will be displayed for users if the application is busy during initialization. Example content of the file: "The application is loading. Please wait."


Database


Set Recovery mode = Simple

Set Auto shrink = false
Auto shrink causes file-system level fragmentation, which slows down performance.

Remove testusers
Make sure any testusers are removed.


Robots.txt


Create a robots.txt file in the web root
Specify any paths you want to exclude from search engines, such as: /Util/


Google Analytics


Verify that Google Analytics scripts are included in the page and that the correct key is specified.


Validate Pages


Verify that the pages HTML code validates
http://validator.w3.org

Validate the site with IIS SEO Toolkit http://weblogs.asp.net/scottgu/archive/2009/06/03/iis-search-engine-optimization-toolkit.aspx


Browser Compability


Verify that the page looks ok in these browsers:

Internet explorer 9

Internet explorer 8

Internet explorer 7

Internet explorer 6

Firefox

Google chrome

Safari

Opera


Optimization


Analyze the page with Yslow and Google Page Speed
Analyze all JavaScript and CSS files and make sure they are only loaded when needed.

Make sure that any ScriptManagers has ScriptMode set to Release
Script files will be minified when ScriptMode is set to Release.


Favicon


Verify that a favicon is displayed


Title


Verify that the page title is displayed correct


Images

 

Verify that images can be uploaded

Verify that images are displayed

Verify that automatically resized images are displayed (thumbnails, etc)


Mail



Verify that mails sent from forms are sent and received
Test Xforms and any custom built forms.


Search


Perform test searches and verify that relevant results are shown


Error pages


Add custom error pages in IIS

Verify that error pages are displayed for 404, 500, etc


IIS


Create a separate Application Pool for the site
Every site should run in its own Application pool

Disable IIS logging
Logging should be disabled until it’s needed.

Enable Gzip compression in IIS for static and dynamic content
Blog post about HTTP compression in ASP.NET: http://www.stardeveloper.com/articles/display.html?article=2007110401&page=1
This is good resource on how to setup compression in IIS7: http://technet.microsoft.com/en-us/library/cc771003(WS.10).aspx


EPiServer Admin



Verify that scheduled jobs are active
Setup scheduled jobs to run in an appropriate interval.

Tags:

Development

blog comments powered by Disqus

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Sweden License.


Welcome to the Dropit blog!

Here we, the people that work at Dropit, will write about stuff that interests us. For example web development, especially with .NET and EPiServer - but we'll also talk about other techniques that interest us, marketing on the web, social phenomenons, pop culture, games and software development in general.