I was discussing with my colleagues few days back on how best we can structure sitecore items in content tree, so that it adds more value for content authors, whoever is working on the implementation should not get confused with it, and in fact the organization of content tree should help the content authors in understanding the functionality and flow of application.
A well organized sitecore content tree speaks a lot.
I feel we can’t go with a generic approach and follow the same always across all the implementation, and for different clients as well,sometimes the decision is based on techinical feasibility and sometimes it’s more client centric.
Thought of sharing the details here, so that we get more room for discussion and if anyone follows a better way, we will learn something new.
There are two type of content we can think of:
- Page content (actual pages)
- Page related content (any piece of information, which can be shared across different page items, or can be page specific)
Page Content: Page Content in this context are actual pages which are created under home node, following are the examples of page contents:
- About us page
- Contact us
- FAQ page
- Terms and conditions and etc
Page contents are generally stored under home node, and closely matches the structure of the site.
Page related content: when we talk about page related contents, it’s mostly about the information which we display as part of complete page, following are the examples of related content(s):
- Image component (which has only image)
- Generic component (which has couple of fields to enter title and description and another field to add Image)
- Collection of links and etc
Configuring Page related content(s):
This was always a question how best we can structure related contents for a particular page, in order to answer this, there are few things which we need to understand:
- If related content is specific to that page, or it can shared with other pages as well?
- If related content can be shared with other sites also? (only if it’s multi-site)
Under page item:
If the content is specific to page item, then we can structure it under page item as this approach has following advantages:
- Makes sure that sitecore tree is clean and related content is always relative to page item.
- Child items(related items) follows/inherits the same security permission of the page item.
Outside of page item:
This approach is more inclined towards creating/organizing the contents outside of page item, it can be outside of site or it can be in the same site, but outside of home node, this approach has following advantages:
- This helps in content sharing as content created once can be reused in several other page items as well, and not restricted to just one page.
- Aims to match the tree structure closely with the site structure, to make it more readable and content editor friendly.
So, we observed here that there are basically two ways we can follow to structure the contents based on the requirement,but there can be sitecore implementation which can use hybrid approach and can follow combination of above two methods.
Configuring Page Items:
So far we discussed only about related content items that can be used in one complete page, but i think what also should think now, can we create sitecore page items outside home node? then the answer is “Yes” and it’s again based on your strategy how you want to architect it.
We can still create page items outside of home node, and use routing to give it a friendly URL, one of the reason we would do this is making sure we are keeping sitecore as clean as possible, and if we see that the sitecore tree has the potential to grow over the period of time, like products/stores or something similar which is directly mapped with external CRM system or any other 3rd part repository, then it add more sense to create it outside of home node.
We discussed different ways and techniques we can use and follow to structure our sitecore content, but which way to go is more client centric and how they are more comfortable also matter sometimes.
I would say we should consider all above options while structuring sitecore content tree,and should do sitecore feasibility study before coming up with a plan.
These are my views and opinions, if anyone has any other thoughts, then please share it and let’s discuss it more, and make it a healthy discussion,please also leave comment below.
Happy learning 🙂