The Sitecore Implementation Best Practices focus on the development process around the data
templates and renderings as well as around the general serialization and deployment practices.
- The data templates should have a Standard Values item.
- The data templates and the Standard Values items should have specified icons for themselves.
- The insert options should be set up on Standard Values where they are needed vs on the
- The field name and the item template should have a proper naming convention and if you are
creating any common template, please start with _ as a prefix for the name for examples
- The rendering should either be a Controller Rendering or a View Rendering or a JSON
- Experience Editor should be supported. This can either be inline editing or managed with
surfacing the fields with a WebEdit Frame.
- When the Data Source items are used, the rendering should be setup in a way that it
restricts the item by data templates, paths where the items can be associated or created.
- Icons should also be added to renderings to assist with the content editor experience.
- Try adding a thumbnail in the rendering so it will be helpful in EE.
- Rendering Parameters should be avoided for general content editing experience. They should
be used as are deemed necessary.
- Rendering parameters can also be used to pass information to component rendering code. Make
sure to only use them for settings and not content.
Before developing new functionality or rendering,
check if there is already a module created for that.
- Make sure all the fields in the component are editable.
- Use the EditFrame control for editing complex item
fields. FieldRenderer control can only
render simple field types such as an Image or a Link, however, fields like Multilist or
TreeListEx will require an EditFrame control to make them editable from the Experience
- Ensure that there is proper support for the Experience Editor by configuring the Sitecore
placeholder settings. The placeholder settings will allow specifications such as the areas
that are available for editing and where the certain components can be used.
- In the Placeholder, if it is configured properly, it allows you to control the field values.
This is important in the Experience Editor.
- If you have a large data to get, then use SOLR only. If you are using the GetChildern()
method, it will load the page performance for you.
- Use the proper SOLR query and factes for filtering.
- Sitecore also provides a default master and web index but if you want to search specific
blogs/news/events/ etc then please create new custom indexes.
- Now, implement the “Switch on rebuild” strategy with SOLR. This practise will help you in
making sure that the website search is not affected when there is a full re-index being
performed. By default, Sitecore will drop the entire index first in such a case and start
gradually rebuilding it. If the website implementation is relying on the search indexes, the
user experience can also get negatively impacted to the point of a site outage.
Serialization and Deployment:
- The data templates and the renderings should be serialized by the TDS/Unicorn and should
never be promoted through the Sitecore packages. Some exceptions can of course be made.
- If there is a need for the Sitecore package for deployment, then that package should be
referred to and tested by another developer. There should also be instructions given so that
the deployment can be consistent. That package should not change once it has started moving
through the DEV otherwise the DEV should be refreshed to prove out the next package.
In the cases of deprecation of a legacy rendering, the developer should provide a Sitecore
package to update the content and also provide instructions for the sandbox environments for all
the developers. The breaking of the sandbox for the ongoing development should be avoided.