Santa

Let’s Talk

We would love to hear from you. Want to know more about
our services or have any questions? Say Hi!

Sitecore Implementation Best Practices

November 4, 2022
Sitecore Implementation Best Practices
Keyur Garala
Keyur Garala
Sitecore Certified Solutions Architect
sitecore-implementation-best-practices

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.

Data Templates:
  1. The data templates should have a Standard Values item.
  2. The data templates and the Standard Values items should have specified icons for themselves.
  3. The insert options should be set up on Standard Values where they are needed vs on the content items.
  4. 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 _pageContent.
Renderings:
  1. The rendering should either be a Controller Rendering or a View Rendering or a JSON Rendering.
  2. Experience Editor should be supported. This can either be inline editing or managed with surfacing the fields with a WebEdit Frame.
  3. 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.
  4. Icons should also be added to renderings to assist with the content editor experience.
  5. Try adding a thumbnail in the rendering so it will be helpful in EE.
  6. Rendering Parameters should be avoided for general content editing experience. They should be used as are deemed necessary.
  7. Rendering parameters can also be used to pass information to component rendering code. Make sure to only use them for settings and not content.
  8. Before developing new functionality or rendering, check if there is already a module created for that.
Experience Editor:
  1. Make sure all the fields in the component are editable.
  2. 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 Editor.
PlaceHolder
  1. 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.
  2. In the Placeholder, if it is configured properly, it allows you to control the field values. This is important in the Experience Editor.

Search/Solr

  1. 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.
  2. Use the proper SOLR query and factes for filtering.
  3. 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.
  4. 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:
  1. 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.
  2. 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.


YOU MAY ALSO LIKE