Avoiding CMS horror stories
When a client thinks of a web developer being this dorky person that sits in front of the computer all day coding I usually give a smirk and small chuckle. I don't consider myself dorky or nerdy. I am just a regular person working for a living and raising a family and chances are you are too. There is so many disastrous stories about development that I could get into but I'm going to save that for another time.
About 7 to 10 years ago I made a list of content management systems that I would like to learn. The list was not so long, just 6 items. I had already done development in Joomla, Drupal and Wordpress and I was seeking to broaden the horizons and learn something else. I felt the CMS I was using at the time constantly needed to be customized. If I didn't build a static site for a client I would default to Wordpress.
Content Management Systems have gone a long way since they were made popular over 15 years ago. Now more features are implemented into them such as UX design. As I see it, there are two different types: CMS's for non-developers and CMS's for developers. Wix and Squarespace are CMS's for non-developers. The CMS's for non-developers are usually easier to use however may not be customizable and support will cost you. Wordpress doesn't cost anything however the caveat is if you want it to do anything interesting you either need to know how to develop a wordpress site or download some plugins to do some of the heavy lifting for you. Wordpress is more developer friendly than Wix or Squarespace.
Where to start
When you are in the process of discovery and understanding how the client is thinking, you should also be thinking of the higher level items to be considered in development.
- How is the information going to be displayed on the page?
- Think about the different structures and design patterns that could be used
- How are the pages linking together?
- How is the navigation structure going to work?
At this point, just think about the structures and architecture that will be involved and any problems that need to be resolved. I know its easy to jump the gun and say you are going to use your favorite CMS but you really need to think of the client on this one.
Select a CMS with good support
The first place I look to see if a CMS vendor has good support is the documentation pages. If they are organized well and answers most questions that can come up then most likely they offer good service time when problems arise.
Avoid building an in-house solution
your team deserves it
While it is tempting to build an in-house solution there are fallbacks as well. If the in-house solution can only be supported by one employee or a group of people with a "specialized" skill then it may not be the right CMS for you. Albeit, with that said not all in-house solutions are bad either.
Be sure there is access to other API's or services
plugin and integration support
What good is a CMS if there is lack luster support for first-party or third-party plugins.
Aim for growth
Always try to select a CMS that is capable to be scaled to hundreds if not thousands of users at a time. This is probably the most important aspect if you are aiming for a high traffic site.