You've probably read about, or had a web developer talk to you about a CMS, or Content Management System. But what is a CMS, and should you ask for one for your site?
A CMS allows you to change the content of your website's pages from a Control Panel. You can also add new pages, and new menu items. This means that you don't have to learn any code in order to add content to your website.
The best-known CMS is WordPress, which started out as a pure blog program, But has evolved into a sophisticated CMS. It has become the iPhone of the CMS industry, because it has thousands of plug-ins the apps of the CMS world and is by far the most popular. Those apps allow you to easily add functionality to your website, such as forms, email programs, Social Media integration etc. WordPress is a free, open source program. Most web hosts will install it for you for free.
The other major CMS programs include Drupal and Joomla! as free, open source programs, and ExpressionEngine, which is a commercial CMS.
So a CMS would seem to be a panacea for anyone looking to create a website. It is free, in most cases, and you don't have to learn code in order to edit them or add content. But there are a few problems.
First, most WordPress sites look very similar, and not very sophisticated. They allow you to create simple pages, but most civilians have trouble creating anything that looks like a modern sophisticated website. We web developers can create custom web templates for your WordPress site, but over time I found that allowing clients to have control over their websites content tends to end up with the site looking tattered after a few months. A little knowledge is a dangerous thing.
Another problem using a CMS is that the underlying program uses a lot of resources. A major Drupal installation may actually be too large for shared hosting. You might have to get a dedicated server in order to use it with any amount of volume.
Any CMS is a prime target for viruses and hackers. Why design of virus or hack that will affect a few dozen sites, when you can design one for WordPress that will affect millions. The bad guys design their evil bots to go out and hunt for WordPress installations that may not be up-to-date, in order to attack them. A custom site is far less likely to be a target.
Because CMS sites are a target, they are constantly being updated, as security holes are discovered. These updates are sometimes only days apart. If you don't do them, you risk being a target. Additionally, most of the CMS programs have major updates every two or three years. These major updates can sometimes wipe out any customization that you've done to the program. It's also not unusual that these updates might not be completely successful, and could take your site down for a few days.
There is also a fairly steep learning curve with any CMS. WordPress is probably the easiest to learn, and there are far more resources available, such as YouTube videos, e-books and other training materials. You need to have the time available to learn how to use your program, and the time to maintain it.
WordPress has quite a large community of developers who can help you design your site, or assist you if you have problems. Some of the less popular CMS programs, such as Joomla! or Drupal, have far fewer developers available who are familiar with programs. I strongly recommend that you don't use any of the hundreds of obscure CMS programs that are also available. In many cases there are almost no developers who are familiar with those programs, and you could find yourself with an orphan site.
All that being said, I've developed WordPress sites for clients, and they been happy with them. But as I mentioned before, they tend to deteriorate over time. For most of my clients I recommend a custom site, with a custom CMS that I build specifically for their application. This allows the client to make changes to product descriptions or copy, but I design it so that the formatting of the output is standardized, and in keeping with the look and feel of the site. This gives my clients the ability to keep their content fresh, but it doesn't give them the ability to alter the site design, fonts or style of the output.
For example, this blog is my own custom CMS. It allows me to update the content a regular basis, but it maintains the look and feel of my site. Since I'm dealing with my own databases, I can easily do things like show my blog content In my site's footer.
Of course if you're looking for the lowest price way to build a website, a WordPress site installed by your host is probably your best solution. But if you're looking for a website to represent your business, and a site that has a professional look and feel, then please give me a call, and I'll be happy to discuss your options.