Why does the leaning tower of Pisa lean?
There are probably hundreds of websites with the exact details on why the tower leans, but it will basically boil down to this: the foundations failed.
Foundations are important for any structure. Without the right foundation, the structure will not perform as expected. It could start to tilt, it could collapse and it certainly won’t last as long as intended. Fixing or correcting the foundation will incur a massive cost, in both time and money. The structure will require support while the foundations are being fixed, which could make the structure unusable while the repairs are being performed. The structure may even need to be altered to fit within the new foundations. All extra work and costs for something that could have been avoided at the very beginning.
Getting the foundation correct initially for a structure is vital, and the same is true for websites. The first question you should ask yourself when designing a Content Managed Site is:
Is the CMS Application right for the job?
At bit10 we realise that one CMS package can not meet the needs of every website. That’s why we have chosen two of the best on the market, Sitecore and Umbraco. I will be concentrating on Umbraco for this article, but the basic concepts can be employed in any CMS package.
Umbraco provides a solid environment for creating a Content Managed System (CMS). It is flexible enough to allow any size website to be created upon it (from a couple of pages, to thousands), its easy to use and efficient at creating websites.
But choosing the right CMS package is only the first of the foundations required for a website. The second is the actual structure, how it will physically link together.
All sites have a landing page, commonly called Home. They will then be followed by a number of other pages, which may have a number of subsequent pages, which may lead to more. This layout is called a sitemap. Therefore the layout for Umbraco nodes should closely represent the sitemap.
Some items can be kept outside of the main tree. These are usually support elements to the main site. For example, the site may have an advert banner at the top of the page. These adverts could be used on a number of pages throughout the site, but need to be in a single location to enable greater management. Not only will this reduce development time, it also encourages re-use.
Each node in the tree is defined by a document type. This provides the application with details on what this node should do. For example, if we state that a node is a content page, we can say that it will have a certain presentation (via templates and CSS), will only allow certain other document types to be created under it (structure restrictions) and behave in a specified manner (via macros). If the document type does not match the needs exactly, then a new one can be easily generated.
Umbraco is flexible enough to allow new nodes to be added to the tree. These alterations will be incorporated into the main site upon publishing. So, if a new main content page was added, then this would appear on the main navigation (unless it is being specifically hidden from navigation items).
What makes a good website structure?
I personally do not believe that there is a hard and fast rule to this. I simply believe that common sense should be employed. If your top level of pages is in excess of 20, then you most certainly have too many. Try to rearrange them so they can appear as sub pages. As a general rule of thumb, I like to keep top level pages to single figures (between 1 and 9). Sub pages can be a little more flexible, but if the list becomes too long your users may get bored with trying to locate what they are after, and may try another site. Common sense applies to these and all subsequent pages.
The question I always ask myself is – Am I happy with what I am doing? If I have to drill down 10 layers of pages to get the content I want, then no, I am not happy. It could be that we have broken the tree too much and could reduce the number of levels needed.
The site structure doesn’t need any special tools or software. Pen and paper can be used, but could get messy very quickly. Create what you think your site will look like structurally, and get others to access it (the best people would be actual potential users of the new site). Make any alterations based on their feedback, and get their feedback.
This post has explained the importance of site architecture, but it is only the tip of the iceberg. There are a number of other areas that need to be considered, such as:
- Search Engine Optimisation
- Design and Aesthetics
- Media and Document Libraries
To me, foundation and structure form the architecture of a site. If it is not done right at the initial stages of development, then the site will not meet the client’s expectations.