Over the years, I've worked with a number of agencies who build websites for companies and I've also worked for a number of companies directly. Each type of organization typically has a different approach to how they architect a website.
In an agency, you'll tend to work with more technically, talented people when it comes to knowing how to build websites, which is understandable as in agencies you get more exposure to different projects etc.. From my experience of working through agencies, inevitably as none of you work directly for the client, the aims of the project are different.
For example, when you're building a new website the main criteria might be to lock the editor down as much as possible to prevent content editors from being able to break the site, which is a good aim.
In a lot of places I've worked, which is fast forwarded on a few years after the main site launch. When you're working with the marketing team and they have a new campaign, the websites had a slight facelift, there are some new blocks. If you've designed your Episerver backend to be inflexible, you often get to a situation, where you have to unpick all the inflexibility originally built in.
I'm not saying one approach is better than the other. As I've written before, when developing a new website or platform, when you make decisions, a few frequent tasks will be to try and guess what feels right for the future.
In Episerver terms, a big part of this guesswork is trying to decide on what should be a page and what should be a block. I've previously written in How To Decide What Should Be A Block that going to block heavy isn't good advice. In general, my advice is to stay more page focused. Since I wrote that article a few years ago, I feel like I missed the other side of the coin.
What Happens If You're Too Rigid In Your Templates?
This point is often overlooked when it comes to building websites. When you're launching a new website, it doesn't really matter too much. Fast forward a few years when that new marketing campaign is coming out, having a too locked down website causes some serious issues.
I recently wrote about The Perils Of Changing Existing Property Types In Your Production Episerver Website the issues you'll encounter if/when that new marketing campaign comes and you need to change an existing property or the homepage because not enough flexibility was designed in for the future. This holds true to being too template heavy.
Make Your God Damn Mind Up... What Should I Do?
From working on too many to remember websites I would now advise to follow these rules:
- On the homepage, be block focused. Changing renaming properties on a live website is risky. Adding a new block into a content area isn't. Block focused homepages are safe
- If you have a content area in a content area... try to rethink your design. I think a good rule of thumb, is content areas are for pages. If you find yourself needing a content area within a block, spend 10 minutes thinking of a new way to tackle the problem, or, lock down the content area so only one or two child blocks can be created
- Try to follow the DRY principle. From experience, if you have, say 4 pages all with the same HTML, you are making a less usable site for content editors. Harder for future developers to maintain and costing a business more money in terms of time to fix things.
- If you find yourself with duplicate HTML, I recommend going with a content area and a block rather than creating multiple pages which all do nearly the same thing. People may counter-argue that the future design might change so it's better to duplicate HTML to cater for the future. I'd personally keep things simple and I always tend to go with the quickest approach, which is abstract the highly-likely to change parts into content areas. The more duplication you can avoid the easier the maintenance team and the future marketers will have.
- Choose configuration overduplication. If you go into a supermarket to buy lunch have you ever found yourself overwhelmed with what to choose as there are too many options on the shelves? Trust me, content editors experience the same thing in Episerver.