This is an overview of website content management systems (aka CMS), written by a web programmer who has been making them for 10+ years. I'll tell you what they are, what they should include, how a CMS relates to ecommerce, how a CMS can be search engine friendly, and user friendly, and what you should expect to pay extra for. I'll then discuss the types of CMS available, and review and recommend a couple (one of which will be admittedly biased).
A website content management system (usually shortened to just "CMS") allows you to change the text and images on your website easily - by visiting a page somewhere, entering your user name and password to log in, clicking a link or two, typing something and pressing Save - as in the example on the right. It is a system to let you manage the content of your website.
A CMS means you won't need to ring your web designer and pay £50/hour to change the price or description of your biggest selling product. Altermatively, you won't need to personally grapple with things like FTP, HTML or Dreamweaver.
With a CMS, much of the information in your site will probably be stored in a database somewhere, instead of in unchanging files. So CMS websites are also database-driven instead of static. Those are a couple of other terms you may hear about while researching CMSs.
CMSs are powerful, so they must also have some method of authentication - meaning that you have to login somewhere - with your email address or username and a fairly complicated password - in order to use it.
At a minimum, your CMS should allow you to change the title, text and one or two images of each web page which makes up your website.
When changing the text, your CMS should let you do some minimal formatting, such as making things bold or big or centred. This is done using an HTML editor, also known as a WYSIWYG editor, which stands for "What You See Is What You Get".
It would be nice if your CMS also let you add new pages, and easily add, edit and delete things from your navigation menu. Other useful features are having multiple images per page, automatically optimising each page for search engines, and automatically creating Google site maps.
More advanced CMSs would let you create a list of members and let you specify who can access which pages. Or perhaps allow visitors to comment on pages, and have an approvals process for those comments.
An ecommerce site is a website which sells products. Ecommerce sites almost always have some kind shopping basket listing all the products a customer wants to buy (see the example on the left). Usually ecommerce sites also gather customer information (the checkout stage) and then send the customer off to a payment provider (like PayPal, SagePay or WorldPay) to take payment.
So ecommerce is a type of website, while a CMS is a way of managing a website. Therefore an ecommerce site can have CMS too. In fact, they usually do, as once you've paid all that money for an ecommerce site, it is a shame not to have an easy way to manage it.
If your ecommerce site has a CMS, you should be able to change all the web pages as above, and also the name, description, category, price and one image for each product, and be able to add new products.
It would be nice if your ecommerce CMS also let you recategorise products, put one product in multiple categories and have product options (like colours and sizes for clothes).
A more advanced CMS could also offer bulk discounting, voucher codes, selling downloadable files, multiple product options which affect the price of the product and even stock management.
Aside from just managing your products, a CMS on an ecommerce site might also maintain a list of your customers and orders and include some reporting or statistical summaries of your sales.
SEO stands for search engine optimisation. It is the (sometimes black) art of making your website appear at the top when sometimes searches for one of your products in a search engine like Google.
For example, if you sell towels, you would like your website to be on the first page when a potential customer types in "towels" or "towel" or "blue towel" or "luxury towel".
Ultimately, Google is very good at figuring out if your site is actually a good site about towels. So if you don't have valuable towel information and products, you're unlikely to ever do well when someone searches for "towels". But if you do, then your CMS should do everything possible to automatically promote your site and products and push you up the search engine rankings.
The sorts of things an SEO friendly CMS can do is to put your product's name in the page title, main header and URL. The URL is the address of a web page and is displayed at the top of your web browser. For example, this page's URL is http://www.stockashop.co.uk/pages/what-is-a-website-cms/6023.
We (me and the company I work for) are attempting to optimise this page for the phrase "website CMS" so hopefully when someone types that into Google, they'll find us. That's why "website cms" appears in the URL, and if you view the HTML source for this page (right click in one of the margins), you will find this page title repeated within the <title> and <h1> tags and a few times in the text. We could have just tried to optimise for the keyword "CMS". However, the term CMS is highly competitive and it might take months or years to reach the first page, but we'll do better for the less popular phrase "website CMS". See the Google Keywords Tool to find out which keywords and phrases are more popular.
You'll also notice the number 6023 in the URL for this page. That helps our CMS find the page in the database. The technical name for how this happens is "URL redirection". This also means that if we change the page title to something else like http://www.stockashop.co.uk/pages/what-a-great-cms/6023, it will still get found.
Less SEO friendly CMSs would have URLs like http://www.lessfriendly.com/index.php?pageid=6023. It is surprising how many big online retailers still have things like this. Can you guess what this product will be?
This sort of "redirect" is a very important feature of an SEO friendly CMS. There are other features too - like having the <h1> and page content appear first in the HTML (when you view the source).
A really search engine friendly CMS will also periodically submit a "site map" (a specially formatted list containing the titles and URLs of all your web pages) to Google so it knows all about your site. And it will also create a spreadsheet of all your products for Google Merchant Center (previously GoogleBase, and before that Froogle - it is Google's product listing and comparison service).
Many CMSs look completely different from the website they are managing. Whereas the website might be slickly and professionally done by highly skilled web designers, the CMS is probably put together by highly skilled programmers, who often aren't as interested in design or usability.
The programmer is given a list of requirements (such as "the client must be able to upload a small and a big picture for each product") and they create a system which can do it. But they often don't consider that the person using the CMS may not be very technical, and will have trouble getting around the CMS and figuring out exactly where the images should go to make them appear on the product page.
And when the website owner has added the image, they want to see what it looks like. So they go to their bookmarks, find their site, navigate to the product, and see that it looks great. But they notice a small typo in the 3rd paragraph. So they go back to their bookmarks, find their CMS, login, go to the product list, find the product, click "edit", correct the typo, "click save", then go back to their bookmarks, find their site, find the product, and notice another typo.
A user friendly CMS should meet all the technical requirements but also be very easy to understand and use. It should take a minimal (if any) amount of training for a relatively non-technical person to figure out. For example, when they save the product in the CMS, they should be taken to the product on their site so they can view it. And if they want to make another change, there should be an "edit this product" button somewhere on the page, enabling them to go back (as in the example at the top of this page).
Furthermore, a user friendly CMS should not include lots of features which you will never use but only serve to confuse you. This can be the case with off-the-shelf CMSs like Joomla. They cater for every possible situation, and its very rare that a website will need all those features. A user friendly CMS should only present the shop owners with the features they need.
Even the most comprehensive CMS will still have some elements that it can't change. These are usually layout and graphical things - such as background colours, fonts, header images and the position of your navigation menu. You will probably have to pay a web designer to do this.
For these sorts of customisations, difficult things are often easy for a web designer. And things which seem easy are often very hard.
For example, if your CMS does not let you change your website's navigation menu, then adding and reorganising your menu would also have to be done by a web designer. However, this sort of thing is usually quite easy, as even non-CMS sites usually run from a template of some sort, and so the change only needs to be made in one place. Even if you website has 100 or 1000 pages, this should only take a few minutes or a couple hours at most.
On the other hand, adding a new column of text to just some of your pages might be quite costly, as the designer needs to consider how this will affect the layout of the pages, how to apply it to just some of your pages, and how they can incorporate it into your website's CMS.
These are a lot of CMSs out there. They broadly divide into installable CMSs and hosted solutions. Installable CMSs divide into open source and commercial ones.
However you acquire your website, you will have to pay some company a monthly fee to "host" it (basically to keep it on their powerful servers). From around £10/month you can get an empty entry level hosting account which includes a database. Then you can download and install a CMS. Some CMSs are easier than others to install, so you may need a programmer's help depending on your technical expertise.
Open Source CMSs
Many installable CMSs are "open source", meaning that they are made and maintained by a coordinated community of programmers. They are free to download and install, and there are usually forums available if you need help. Manuals can be sketchy, and you may have to pay for more official technical support. Extra features are often provided as plugins. The reliability and quality of these plugins varies, but as long as someone somewhere has already conceived of a feature you are looking for, they can be very useful. Examples of popular open source CMSs are Joomla, Drupal, Wordpress and (the ecommerce focused) OSCommerce and ZenCart.
There are also commercial installable CMSs, which you can pay for and also buy a technical support contract. These tend to be more focused on a specific industry or technical challenge. For example, Actinic sells a range of ecommerce focused software which you install on your home computer, and it then communicates with your hosting account to set up your website.
Rather than downloading and installing a CMS, you can also get one pre-installed with your hosting package, such as 1and1's MyBusiness Site and 123Reg's online shop. These don't cost much more than an empty hosting account (as it costs the hosting company very little to give you the software), but you will have less flexibility than open source software, and the pleasure of dealing with a big call centre when you need help.
While researching CMSs, you might also come across programming "frameworks", such as Cake and Ruby on Rails. These are a set of very advanced tools for building websites and CMSs, but are not CMSs themselves. You would mainly consider these if you had a very specific requirement and a capable programmer.
These reviews and recommendations are based on personal experience, so please read other reviews before making a decision. We have only reviewed CMSs we have directly worked with.
Wordpress is a very good installable open source CMS for non-ecommerce sites. It was created to make blogging easy, but it includes many of the features of a CMS as described above. It is also search engine friendly and relatively user friendly. It also has many plugins available (including ecommerce ones). On the downside, it is not incredibly secure (people keep figuring out how to hack it).
You can also sign up for a Wordpress blog at wordpress.com and essentially get a free hosted solution. You'll have less flexibility than if you installed it yourself, but fewer worries about security, and it's free. (Though you do have to pay a small amount, $10-15/year to use your own domain name.)
Joomla and Drupal are more heavy duty. They include lots of features out of the box, but can be a steep learning curve for site administrators and especially web developers. OSCommerce is an ecommerce solution, but takes a lot of work if the default configuration and look does not closely match your needs.
Stockashop is our own ecommerce CMS. It is a hosted solution, but provided by a small, friendly and accessible company. It includes all the features mentioned above, with a real focus on user-friendliness, so that managing your website is as easy as browsing your website. They are also very SEO friendly and we are always improving and upgrading the software. Currently we are looking at how to reduce "shopping cart abandonment", where customers add something to their basket but don't complete the purchase. We like to help you to improve your sales, after all that's the objective of a good ecommerce website.
We hope you have found this article useful. Please contact us if you have any comments or questions relating to anything above.