In one of my previous assignment, I was told, the load time of almost all the pages in the website is higher and was asked to analyze and improve the page load time.
That’s when I remember one of the Sitecore’s OOTB gem -> Sitecore Debugger. Sitecore debugger is available from very early versions – Sitecore 5, I guess (subject to correction). But to date, still there are several developers who are unaware of it’s feature hence this post.
Sitecore debugger when activated, loads the pages in debug mode. This debug mode, loads the page along with information about the load time of the page. By this I mean, it provides us information about the load time of each and every rendering in the page and more. As you know, sitecore renders the page via a pipeline of processors like item resolvers/layout resolvers etc, sitecore debugger provides the time taken by these actions as well.

Now coming back to the case study, When I opened one of the page in debug mode, I was shocked to see that the Header Navigation and Footer Navigation was taking almost 3/4th of the page load time. I was relieved as well. As now it makes sense why the load time of all the pages were high. And if I get to fix the load time of these two renderings then that it would solve the all the pages load time issue.
It was a multi lingual/multi site where the main navigation was rendered by reading all the contents under the content tree where a ‘include in header’ checkbox was enabled. The number items read to display header menu was more whereas the menu items displayed was less than 20. This information was provided in the Sitecore Profile session of the sitecore debugger. Finally, I fixed the performance issue by rewriting the logic. Instead of going through all the content in the content tree, based on the site definition, identified the site root path and processed only the content items under the site root path.
Sitecore debugger can be opened in two ways. One via Desktop Start Button in desktop (this opens the default site in debug mode from homepage)and second via Experience Editor->Debug Mode this opens the current item selected in the content tree.


Now going back to Sitecore Debugger, it provides two main stack of data about the page. Sitecore Profile and a more detailed report – Sitecore Trace. Sitecore Profile provides information about most time taken components – rendering under Hot Spots banner. It also provides high level information about the page. It gives info about Number of items read, Cache hits/misses etc

Sitecore Trace gives a more detailed stack information about the page load events and time taken for each steps. The total time taken along the time taken by individual events.


The profile/trace can be saved to a location in the Webroot or can be downloaded. It gives an XML version of the reported data.


