main banner

Content Management

Sitecore Performance

In these days, user experience (UX) is very important. We could have a cool website, but if it is slow, people will go away and never come back to our site. Performance is a main component of UX, so it is imperative that your website is as fast as it can be.

Lately I've been doing a lot of work assessing and improving performance of several websites built on Sitecore. I've seen many reasons why websites perform below par. However, I have observed the following:

  • -Poor judgement on when to use Sitecore Query.
  • -Unnecesary use of recursion in Sitecore Query.
  • -Coding bad practices (Data Binding, bad logic, etc.).
  • -Information Architecture problems (bad template design, bad template inheritance, etc.).
  • -Many Sitecore sites do not use Sitecore's Cache.
  • -Front-End performance issues.

Here are a few tips:

  • -When querying items, consider that Fast Query is faster than Sitecore Query. Lucene is faster than Fast Query, so try to use Lucene for the heavy lifting and use Fast Query for simple queries in which using Lucene would be overkill.
  • -Avoid recursion unless it is absolutely necessary.
  • -Take a close look at how you bind your collections to .Net Controls. I've seen several issues because developers bind data more than once and this is a real performance killer.
  • -Fix your IA. This will be a painful process, but it will pay off in the end.
  • -Take the time to configure and take advantage of Sitecore's Cache. The performance improvement could be huge.
  • -Don't forget to test how your JavaScript, HTML and CSS perform. Make fewer requests if you can and minify and compress static files. Use YSlow and Google Page Speed to help you assess how your front-end is performing.

That's it for now.

Eduardo M.

Born and raised in Mexico City, Eduardo has over 15 years of experience, 6 working with Java, 8 with .NET and 5 with Sitecore and other CMS. He is an Electronic Systems Engineer who enjoys tennis and has written some pretty cool blog entries you should read.