Content Management Systems (CMS) are very important as your website may be the first salesperson a company interacts with. In this blog, we will specifically discuss Sitecore development best practices for development and architecture. If you didn’t know already, Sitecore Services, a beast when you consider how advanced it is and its capabilities.
It is very important to understand that only a visit to your site is not important, but how much they are engaged is more important. Engagement value helps in understanding the effectiveness of your content. Sitecore is one of the most powerful and most flexible enterprise content management systems available for marketers today! It offers reduced IT expenditure, a streamlined content life-cycle as well as gives content control to the subject matter expert.
Sitecore Development Best Practices!Before starting or working on any application, our main focus should be to understand the application as a whole and not just part of it, believe me, this is a key for the overall success of your Sitecore implementation services, try to get involved and get more and more information about the solution as a whole. Once you have a big picture in mind, it’s easy to work on small features and then for integrations.
There are several categories we can have when we talk about Sitecore development best practices:
- Content structure
Naming ConventionsData templates and fields are generally named in a certain way, making it easy for business users and content authors to identify and understand them in a consistent manner. Ideally, base templates must begin with ‘_content’, and naming conventions must be followed for each template, basis the need.
Folder StructureApart from the above-mentioned point, it is also important to move base templates into a separate folder to clearly identify what is used directly by content items, and what is used for inheritance purposes! In this case, the Helix principles must be adopted. Helix provides a set of guidelines for your Sitecore web services, and improves the efficiency of your projects, reduce costs and time to market.
Template InheritanceIt is significant to review existing inheritance models and create new templates to use as base templates, wherever it’s appropriate. This also helps in avoiding cyclic template inheritance.
Standard ValuesTemplates must feature Standard Values, wherever it’s necessary. For instance, the items must be governed by workflow processes or represent a front-end page with presentation details! It is recommended to set the presentation details on the standard values of data templates.
Insert optionsThere are some items that would benefit from setting ‘Insert Options’ on their templates’ standard values.
Use TokensTokens such as $name reduce the amount of text that a content author is required to enter. Here’s a list of available Sitecore tokens:
- 1. $name: Is replaced with the name of the created item
2. $date: Is replaced with the current date
3. $time: Is replaced with the current time
Content StructureEven though every website has a content tree structure of its own, having a structure that closely mimics that of the website, allows for navigation controls and security rules to be easily created, and simplifies the task of finding items. As standard practice, we would not recommend having more than 100 items under any item node.
Limit the number of versionsItems should not exceed more than 10 versions.
Previewing new itemsPreviewing newly-created content with no data in fields should not cause any server errors.
BucketingAvoid bucketing if the content tree has <100 items. The bucket is an item that stores “hidden” content. As Items are indexed, performance is drastically improved, while loading the site and rendering the content tree.
Limit the number of layoutsSitecore recommends that there is one layout per website, per device
Static bindingComponents that are always the same across the site, such as the header and footer, have to be statically bound to the layouts and sub layouts.
Dynamic bindingConsider modifying components and layouts to include dynamic placeholders, so that components can be added to the page by content authors. This will allow the solution to be more extensible to use new features, including personalization in DMS.
Placeholder SettingsOnce Experience editor is in full use, review the placeholder settings. Consider adding new placeholder settings and limit the components for each placeholder.
Other Sitecore Development Best Practices
Experience EditorFirst of all, check whether the Experience Editor is enabled and configured. Next, investigate why most components are not compatible with the Experience Editor, and last training for content authors is important so that once the Experience Editor has been fully implemented, the staff can utilize its features.
Media AssetsUse database as the storage mechanism for media in general. Thereafter, organize the media assets in business user-friendly ways, and also optimize the image assets as much as possible.
SecurityAll non-implemented membership provider methods should throw unsupported exceptions. Besides, make sure you assign security rights to roles and not users. Create the roles in the Sitecore Domain, instead of a specific domain.
CachingData Caching increases performance by storing copies of data that is accessed frequently from external systems, in a high-performance sub-system. To check the data cache, you can load the hostname/sitecore/admin/cache.aspx on the CM instance. Also, remember the cache size should be between 70-80%.
WorkflowFirst of all, check if the workflow is enabled, and then consider configuring workflow on all content items. This will allow for content to be reviewed, before being published live. Besides, check if the workflow has appropriate security - create appropriate roles for content authors and approvers and assign them access to correct workflow states. Next, minimize the number of states using Email notifications.
Solution ReviewReview code and replace any direct SQL calls with Sitecore API calls. That’s not all - you must remove the commented Code. This primarily means a code that’s no longer required, should be removed from the solution. Besides, check for hard coding and make sure to use Helix principles!
ConclusionIf you consider these Sitecore development best practices, then you will be well on your way to creating super Sitecore Services and Solutions. Once again, we can help you if you are having difficulty creating your solution or need help using certain features to their maximum capability. Contact us, and we will be happy to give you a free consultation tailored to your requirements.
What OdiTek offers
Refer our Skills page:
We had a tough deadline to launch our .Net based application that processes a lot of data, and got very frustrated with our development agency we hired. Fortunately we got Oditek, and they took over seamlessly the product development, launched the app & continued feature development. Just awesome!
They were very attentive to our needs as clients and went out of the way to make sure our projects were taken care of. They were always able to get projects done in the specifications we requested. They are passionate about getting things done; I would definitely recommend them to lead any IT projects.
I worked with OdiTek on few high profile banking application projects. They did a fantastic job with web applications & manual testing on the VAS apps for two leading banks of UK that included rigorous UAT phases. I recommend them for any application development where security matters.
OdiTek is our extended team who works on our key software projects. They are dependable, good in collaboration and technically very much to the level what we expect a global team should be. They had transformed our web applications, CRM and added mobility to existing business platforms here.
It's been more than 4 years now that we are working with OdiTek on our cloud based web product development. It's been amazing working together, they are very competent on designing scalable, high performance apps. Their technical support is outstanding to say the least, even at odd hours.
I am a fan of Team OdiTek since 2014 and have worked on many product development projects together. Specially worth mentioning their deliveries on VAS Banking web application development & manual testing services for Smarta, UK. They are highly skilled & a professional team to work with.
OdiTek has been working on our Integrated Web-scale Mobile Platform i.e. Optimal Health since 2014. They are very professional and takes care of the requirements meticulously. They are technically very sound and sincere in ensuring quality & performance. Wonderful working with them!
You can trust the team, with minimum supervision you get the work done. They are honest, professional & committed to schedule & quality. I had been successfully running 3 business applications designed, developed and maintained by Oditek developers. It’s been a pleasure working with them.
OdiTek has been working in custom software development, including services for test automation. Many of them have worked with me in 2009-10 when I was R&D Manager in NetHawk India. They have great enthusiasm & a passion to excel in bringing customer success. Their work has been very impressive.
It's amazing to see these guys are turning their experience into a global delivery excellence at OdiTek. I am sure their past large scale product development experience will be handy to product companies. I would always recommend Oditek for software development, especially performance-driven solutions.