When creating a multi-lingual site in Sitefinity it isn't just a matter of adding a language and creating the alternative content. To be truly multi-lingual there are many design considerations you need to consider. As a developer, one of your first considerations is how to set up multiple URLs so that your site will render in different languages.
Recently I had a need to perform some actions after a user had logged out of Sitefinity. Checking the Sitefinity Event Hub list of events I noticed that this event didn't exist. I decided to go looking to see if I could find a way to handle the event and to my surprise I found an undocumented feature.
I started this post as a talk on how to improve the development experience when creating Sitefinity sites. But it has now turned into more of a on going list of performance improvements and checks for both development and production. The suggestions are in no particular order and I haven't added images and long explanations so as to keep the ideas in one place. Some of these may or may not be appropriate for your site and environment but all should be considered when looking at improving your production or development environments. I encourage you to let me know any others that you believe are helpful.
Sitefinity supports MVC through widgets and the Feather framework. We get the freedom to place views where we wish and through MVC conventions, Sitefinity will go through and find them them for us. With that look up process there are some look-ups that we may never utilise such as widgets built on web forms engine so why bother looking for it.
It's not uncommon to add a global.ascx file to a project. By default, it adds a series of empty methods which you can use but are often left empty. Recently I came across an error on my site which was new to me, hard to reproduce yet fixed with a page refresh.