There are a whole bunch of CMSes out there ranging from lightweight micro-blogging platforms to huge enterprise packages.
I don’t want to mention any names here or tell you what to use.
Instead, I’m going give you some important points to consider, so that you can make an educated decision on your own.
And hopefully, not invest a huge amount of time and energy into a CMS you will have to abandon a year or two down the road.
The learning curve
Sadly, many designers pick a CMS on this point alone. Don’t get me wrong, choosing a CMS you can actually figure out is important, but you are investing a lot of time and energy into this piece of software. Potentially, years of your life will be spent working with this CMS. Don’t just go with the easiest one to configure without taking in some other considerations. A one-click install is nice, but should not be a deciding factor.
With that said, how fast you can get up-and-running, and building simple sites is important. Every CMS has a learning curve but some are much steeper than other. Consider how much time you have before making a choice. If you are a student, you might consider taking the plunge and digging into a more difficult to learn but feature-rich CMS, because you have the time available to do it. If you are working and need a CMS solution yesterday, you may be forced to go with something you can get up in running in a few days.
If you are not familiar with the term, by theming I mean creating the skin, the visible part of the front-end of the website. How this is done should be a huge consideration. Remember developers are the people building CMSes and they like to make development easier, sometimes before considering you the designer, and unfortunately, the end user, too. Which means, the way the front-end is put together might have been neglected or made unnecessarily complicated. Some CMSes are much easier to theme than others. Also, how the control panel is set up and how easy it is to use should greatly influence your decision, because you will be spending huge amounts of time working with it.
You need to consider how flexible theming for the CMS is. Are you able to create or import static HTML and CSS or are there a ton of hoops to jump through first? How is the file structure set up and are you required to save separate pieces of your design all over the back-end? A good CMS, once you are proficient with it, will save you time. But there are definitely some CMSes out there where development takes extra time.
How much freedom are you given to build the website you want? Every CMS has some design hurdles you have to jump over. Are you forced to begin with a starter or default template? That can be a big cramp in your design style and it can eat up extra time. Although, some people prefer having templates to start with. Which do you prefer? Do you have to write markup right in the browser or can you use a text editor? Think about how you prefer building static webpages and check to see if you can use the same process or will you be forced to do things differently.
Documentation and resources
A CMS is only as good as its documentation. I’ve played around with a few amazing CMSes that I ended up having to abandon because I got stuck, and realized there wasn’t enough proper documentation to get me out of the jam I was in. So right after looking at the basic specs for a CMS, dig into the documentation. You should be able to start with zero knowledge and build a complete website just from reading the documentation. If it doesn’t look like that is the case, you might want to look into another CMS.
Most CMSes list their features but the documentation is really where you can see exactly what is offered. For example, a CMS will probably offer some sort of shopping cart solution, but what that is exactly, can vary greatly from CMS to CMS. If there are one or two things your CMS must have, be sure to read the documentation about them specifically, and see if they will work for you.
Even the best documentation cannot answer every question you will have. Is there a place to go where people will answer your questions? If there is, how helpful is the community to designers and novices? Some communities can actually be quite hostile or simply ignore beginner’s questions.
If you would like to ask some questions, don’t be that person who gets on the forums or Twitter asking “Is this CMS any good?” Browse around a little bit. Someone has probably already asked the question you have. A good way to gauge the quality of the community is to see what kinds of responses people are getting to their questions, and how many hours/days it takes to get them. Nothing is worse than having a question you cannot answer and not having a resource to turn to.
Another consideration not often thought of is paid support. Do the CMS developers provide support and how much does it cost? If they don’t, are there people in the community that you can trust to get timely support from? Inevitably, there will come a time when you need a custom add-on built or something else comes up that is over your knowledge level. Someone needs to be there to do it for you or walk you through it.
Community also includes the third-party developers. Who and how many people are building add-ons for the CMS? Most CMSes have a central add-on community. Have a look around and see what is available.
Not every website you build will be for yourself. How easy a client can add and edit their own content is very important. Complicated back-ends and lack of features means more development time and more time training clients. One of the most basic and most important features of any CMS is the text editor. Editing site content should be a primary concern for you and the people you will be building websites for. How easy is the WYSIWYG editor to use and goes it write clean markup? Will clients who are not computer savvy be able to use it?
Also, along the same lines is the file upload system. How easy is it to upload images, video, PDFs, et cetera? Many clients don’t have the software or knowledge to edit and resize images, yet need this functionality on their website. Is there built-in image resizing your clients can take advantage of?
The usability of the control panel should be considered as well. You may have to train people to use the system, which can be many hours of work over the years. Is it simple enough your grandmother could use it? Also, how configurable is the control panel? Can you turn off or hide areas the client doesn’t need access to? It is nice to be able to only let clients edit the areas of the site they need to without having to deal with other parts of the control panel that might confuse them, or worse, allow them to break the website.
Clients need to be able to do these basic things:
- Edit existing page content
- Add new pages easily and have the navigation updated automatically
- Add photos, documents and video content
- Give access to the control panel to other employees
They all sound pretty easy but there can actually be a number of problems. Tabular data or heavily styled areas that require HTML and CSS knowledge can be difficult for a client to edit, and some WYSIWYG editors don’t do a very good job here. Some CMSes don’t provide an intuitive way of adding additional pages or easily up-datable navigation. You don’t want to leave these things up to the client if you don’t have to. I like to follow the rule that if a client could break something, they will break it. Some CMSes don’t allow certain file types to be uploaded or have an upload file size limit, which can cause headaches for clients trying to upload large PDFs or PowerPoint presentations.
All things to consider.
Programing knowledge requirements
You chose to be a designer for a reason, right? Some of us might be proficient in a language like PHP but that doesn’t mean we want to spend all of our time doing it. Take a look at the language the CMS is written in and see if it is something you are familiar with and could work in if you had to. Also, see how much scripting is done in the templates. Some CMSes do a really good job of keeping the PHP or whatever language out of the templates, so you can focus just on the HTML and CSS. Other CMSes can have their own templating language to use.
They are all a little bit different and, depending on your comfort level with code, you will have to choose one to live with. Generally, I say don’t go with a CMS where you have to learn a whole new language to get started, unless you really would rather be a developer and not a designer.
How active are the developers?
How good the CMS is now is important, but where it is going in the future is just as important. So find out what the developers are up to. Look at the time it takes for each major release and each dot release to come out. If it has been two years since the last dot release, the CMS might be dead or on hold. There is no perfect CMS but the more the developers are working the better a CMS is going to get. And what may be the best CMS now might not be five years from now. Don’t get stuck with a dying CMS.
Find the bug tracker and see just how long bugs go unfixed. If something is broken on a site you build, clients are going to rely on you to fix it. Telling them the CMS developers haven’t fixed the bug yet, isn’t a very good excuse.
Flexibility and reach
What does the CMS come with out of the box? A CMS with little functionality means you have to rely heavily on 3rd party add-ons. On the other hand a CMS with everything built in may be bloated and difficult to get up and running, especially if you are building a simple website. There needs to be a happy medium between the two. An ideal CMS can be set up quickly without a lot of configuration needing to be done, yet has all the tools required for more complex features.
Just because you are only building simple websites now doesn’t mean you might not be building more complex websites in the future. Think about the types of websites you would like to build or may be asked to build and does the CMS allow for it. How hard is it to add a membership area to the website, multi-language support, or to add a store?
Does it make you better?
Learning how to build website with a CMS is a great thing to know but just how much larger your skill set becomes, can vary. Being able to let clients edit their own content is the central feature of a CMS, but they can offer so much more:
- Membership functionality
- Multi-language support
- Dynamic media galleries
- Multi-site installations
- Integrating blogs and forums
- Easy syndication
To name a few. You probably would not have been able to create this type of work without some development knowledge but a good CMS can make that possible.
After working with a good CMS for a while, you should find that you are able to work at the same speed or even faster than if you were building a static website. A good CMS saves you development time, but should also help improve the way you develop the front-end as well, by creating reusable snippets of content, embedding templates inside each other, and displaying content from the database that you would have had to markup yourself in a static site.
Where are you going?
Think about where you are in your career now, and where you want to be five and ten years from now. The CMS you choose will be with you at least that long. Are you going to be working for a big design firm or do you want to work for yourself? Will you be doing freelance work on the side?
Not every firm uses the same CMS but there are some that are used more regularly. If you really fall in love with one CMS in particular, you can always find the firms that use it, too. Less popular CMSes have less job opportunities but the firms that do use them would be much more inclined to hire you, being proficient with the CMS, over someone who has never touched it before. Using a less popular CMS makes you more of a specialist. Using a popular CMS means you have a broader range of opportunities.
If you plan on freelancing full or part time, you will want a CMS where you are comfortable doing every aspect of development. Typically, your projects will be smaller in scope as well, so a huge CMS with a long setup time might not be the best option.
Every person is different and what CMS works for me might not be the best option for you. So take these points into consideration. Take a look at what CMSes are available, and pick the one that will work best for you.