0

Choosing a Content Management System (CMS)

It is very hard to choose the correct CMS. There are so many offered now days that to the uneducated, it can be a devastating mine field. After you have chosen a CMS to create your site with, it becomes harder to change latter and could involve a lot of time. This is why it is important to get it right first time.

Type of site

Before you choose which CMS you are going to user, you need to decide what type of site you are creating. Lets run through a few types of websites:

Blog
Blog is short for weblog. A weblog is a journal (or newsletter) that is frequently updated and intended for general public consumption. Blogs generally represent the personality of the author or the Web site.
News
Information the public expects to be factual and accurate. Non-fiction events reported to the public through print or electronic media.
Wiki
A wiki is a web application that allows users to add content, as on an Internet forum, but also allows anyone to edit the content. Wiki also refers to the collaborative software used to create such a website.
Business or commerce
A site to promote a business, service or to sell goods.
Information
A site that contains content that is intended to inform visitors, but not necessarily for commercial purposes; such as: RateMyProfessors.com, Free Internet Lexicon and Encyclopaedia. Most government, educational and non-profit institutions have an informational site.
Personal home page
Run by an individual or a small group (such as a family) that contains information or any content that the individual wishes to include.
Portal
A website that provides a starting point, a gateway, or portal, to other resources on the Internet or an Intranet.

Once you have decided the type of site that you are creating, you can start to look at some of the requirements and features.

Evaluate

Is is important that you try out as many CMS tools as you can so that you get a feel for what you need. Some CMS tools will allow you to do simple things fast, and other will allow you to do more at the sacrifice of speed and usability.

Download all the different CMS tools that you can and see if they can run on a machine similar to your web server.

If you are worried about how secure a CMS is, there is no better way to find out than to create a quick website on a free webhost using the CMS. Just name the CMS "Hack me" and post comments in forums requesting that the website is hacked. If it does get hacked, you know that the CMS was not secure enough for you.

Less is more

One trap that people often fall into when they are choosing a CMS is that they look for the CMS with the most features. The best CMS is in reality the CMS that satisfies your requirements with the least number of features possible. 

More features in a CMS will often bring:

  • Larger code base - The CMS takes longer to move, setup and backup.
  • More bugs - More features and a larger code base generally means that there is more chance of bugs being written into the system.
  • Complexity - The more functions that a CMS offers, the more crowded its administration screens will be.

Requirements

Web server
The most commonly used and recommended web server is Apache. It offers many more features than Microsoft's IIS and is free to download.
Database
The database is an application that is used by the CMS to speed up the website and to keep the information well organised. It is common for Apache webservers to have MySQL and IIS to have MSSQL server.
Operating system
Generally this is defined by the webserver and database, but some CMS tools will only work on Apache installed on Windows.
Programming language or framework
The programming language or platform define what runs your website. Examples are PHP, JSP and Java, ASP.net or Python to name a few.
If you are unsure of which programming language or platform to go with, I would recommend PHP. There are quite a few PHP CMS available compared to any other.
Approximate Cost
The approximate licensing cost of this CMS. Note that there are almost always hard and soft costs beyond licensing costs for any CMS
License
The type of license this CMS is distributed under
Root Access
Is root (or administrator) access required to install this application?
Shell Access
Is shell access required to install this application? In other words, do you need to be able to log in to the machine (other than through FTP) in order to install this application?

Features

Security

Audit Trail
Does the system keep track of who made additions, updates, or deletions?
Captcha
A challenge-response system designed to defeat bots from being able to use user-only features of a system. See http://en.wikipedia.org/wiki/Captcha for more information.
Content Approval
Does the system provide for some level of system-wide content approval?
Email Verification
Does the system send an activation key to users to make sure they've entered a valid email address?
Granular Privileges
Does the system allow read and write privileges on a per page or per content item basis, as well as separate privileges for other system functions?
Kerberos Authentication
Does the system support authentication via Kerberos?
LDAP Authentication
Does the system allow for LDAP-based authentication?
Login History
Does the system keep track of who logged in and when? Such systems also usually keep track of things like what browser the user was using and what IP address they came from, as well as unsuccessful attempts.
NIS Authentication
Does the system support authentication via NIS?
NTLM Authentication
Does the system support authentication via NTLM?
Pluggable Authentication
Does the system allow an administrator to plug in additional authentication schemes (from a vendor or home-grown) beyond the default proprietary authentication scheme and an LDAP authentication mechanism?
Problem Notification
Does the system provide a mechanism for alerting administrators (email, instant messenger, cell phone, etc) when it detects a problem? (Logging does not count.)
Sandbox
Does the system allow for a private area for content managers to try new content ideas without the worry of affecting the rest of the site?
Session Management
Does the system provide some facility for an administrator to see who is logged in, what they are doing, and log them out if necessary?
SMB Authentication
Does the system support authentication via SMB?
SSL Compatible
Can this system be used with an SSL certificate on the web server?
SSL Logins
Can this system be configured to switch to SSL mode (HTTPS) for logins, and then back to normal HTTP after the login? This kind of functionality protects user login information from being sniffed.
SSL Pages
Can this system be configured to switch to SSL mode for certain pages (or sections), and then back to straight HTTP for other pages (or sections)? You may want this if the system is used partially for regular site content and partially to distribute confidential data such as customer invoices or medical records.
Versioning
Does the system provide for some level of system-wide content versioning?

Support

Certification Program
Is there a professional certification or degree program for this CMS?
Code Skeletons
Does the system provide code skeletons or code templates to make it easy for new developers to write plugins for it?
Commercial Manuals
Are there books or other commercially available documentation for this CMS?
Commercial Support
Can support be purchased from a commercial organization with trained staff members?
Commercial Training
Can training be purchased from a commercial organization that has dedicated training staff for this CMS?
Developer Community
Is there a free online developer community specifically for this product?
Online Help
Is there an integrated context-sensitive help system built in to the CMS?
Pluggable API
Can the system be extended through an open and documented application programming interface (API)?
Professional Hosting
Is there a vendor supplied professionally tuned hosting environment (application service provider) or has a certified hosting partner program.
Professional Services
Are there commercially available professional services organizations to customize or provide administrative services for this CMS?
Public Forum
Is there a publicly available forum or message board for the system?
Public Mailing List
Is there a publicly available mailing list for the system?
Test Framework
Does the system have an automated test framework that can be used to test the codebase to ensure that it is functioning properly? This sort of framework is sometimes called Unit Tests or Smoke Tests.
Third-Party Developers
Are there third-party developers who manufacture plug-ins for this system?
Users Conference
Is there an annual users conference for this system where it's users can get together, discuss ideas, get training, etc?

Ease of Use

Drag-N-Drop Content
Does the product allow the user to position content in a drag and drop fashion?
Email To Discussion
Can messages be emailed to the system so that they automatically appear in community discussions (forums/message boards)?
Friendly URLs
Does the system have human-readable and search engine friendly URLs? (The alternative is that there are a bunch of symbols and numbers in the URL and the URLs are typically quite long.)
Image Resizing
Is the system capable of allowing users to resize uploaded images so they need not mess around with an external image editor?
Macro Language
Is there a macro language that allows content managers to place powerful functionality (like auto-generated navigation systems) without any programming knowledge?
Mass Upload
Does the system have a way of uploading/importing many images and other files all at once to save time?
Prototyping
Does the system allow the user to create custom default settings for the different kinds of content objects to save them extra clicks when creating those object types. For instance, if there is a particular template they like to use, can they set it as a default?
Server Page Language
Is there a server page language available like PHP, JSP, or ASP for easy one-off functionality?
Spell Checker
Does the system have an integrated spell checker?
Style Wizard
Does the system have a wizard for generating styles/themes/templates or whatever else a look and feel might be called in the system? These wizards would allow the user to step by step choose colors, layouts, logos, etc to create their own look and feel without knowing anything about HTML/CSS.
Subscriptions
Can the user subscribe to various sections of the site and receive notifications on new/updated content? These types of functions are typically found in the news feeds, forums, and blogs.
Template Language
Is there a templating language for powerful layout controls? (Note that templating languages are different from server page languages in that they are not capable of full programmatic functions, and are fully HTML compliant.)
UI Levels
Is there a means of "dumbing down" the publishing interface for less sophisticated publishers while keeping a more sophisticated interface for power users?
Undo
Does the system allow users to "undo" operations if they make a mistake?
WYSIWYG Editor
Is there a web-based rich text editor to allow publishers to create formatted content without knowing HTML, CSS, XML, or XSL?
Zip Archives
Does the system allow a user to upload a zip (or other compressed file) full of static content, which is then published to the site? This sort of feature is used to do web-based mass uploads of static content.

Management

Advertising Management
Does the CMS have a banner or other management system?
Asset Management
Is there a central repository for uploading images and other files so they can be reused through-out the site?
Clipboard
Is there a clipboard system that allows publishers to easily cut and paste content from one area of the site to another?
Content Scheduling
Does the system allow for content to be automatically added or removed from a site based upon date?
Content Staging
Can content be created on one server and easily "pushed" to another server?
Inline Administration
Is content edited directly in the page that it will be placed? (The alternative is that there is a wholly separate interface for managing content.)
Online Administration
Can the system be completely managed through a web browser? (The alternative is that there is some sort of offline client software that must be used to manage at least some components.)
Package Deployment
Can content and applications be packaged so that tedious repetitive publishing functions can be easily deployed time and time again without the repetition?
Sub-sites / Roots
Does the system allow for sub-sites within a site that are self-contained with their own navigation and content hierarchy?
Themes / Skins
Does the system have a mechanism to transport styles, templates, etc between sites so that you can create a theme on one site and then reuse it on many others?
Trash
Is there a trash system to allow administrators or publishers to recover content that has been removed from the site? Note that this is not the same as recovering items from a versioning archive.
Web Statistics
Does the system have built in web site statistics reporting for things such as pages/content items viewed, number of users per time period, etc?
Web-based Style/Template Management
Is there a web-based interface for adding styles and templates to the system for design and layout control?
Web-based Translation Management
Can language translations be managed through and easy web-based interface?
Workflow Engine
Is there a full-fledged workflow system integrated into the CMS that can be used for business process management (or other duties beyond just content approval)?

Interoperability

Content Syndication (RSS)
Can the system export RSS/XML feeds so that the content can be republished on other sites? Note that if it can only syndicate content from one function, such a "news" then it should be labelled as only limited support.
FTP Support
Does the system allow users to upload internal content and/or files via FTP?
UTF-8 Support
Does the system support UTF-8 character encoding to enable multi-lingual sites without the use of separate code pages for each language?
WAI Compliant
Does the system follow the W3C specification for WAI compliance?
WebDAV Support
Does the system allow users to upload internal content and/or files via WebDAV?
XHTML Compliant
Does the system follow the W3C specification for XHTML compliance?

Flexibility

CGI-mode Support
Can the system run in CGI mode for development purposes or on low-end systems?
Content Reuse
Does the system allow content to be mirrored (not copied, but reused) from one location to another on a site?
Extensible User Profiles
Does the system provide a user profiling that can be extended with new profile properties through an administrative interface?
Interface Localization
Is the system localized/internationalized so it can be translated into other languages and take locale preferences like date/time preferences into account?
Metadata
Does the system support the adding of arbitrary metadata properties to all the content objects? The metadata is typically then used for profiling, indexing, or even auxiliary display functions.
Multi-lingual Content
Does the system support the creation of sites with multiple languages?
Multi-lingual Content Integration
Does the system support a multi-lingual version of each content object without republishing the content object. For example, if you create an FAQ in English, then all that needs to be done to display the FAQ in Spanish or another language is to translate the content, not create another page with another FAQ content object. Then depending upon user preferences it either shows one version or the other.
Multi-Site Deployment
Is the system capable of hosting multiple sites from one software deployment? This means you can install the software once and host as many sites as you want. It also means that when it comes time to upgrade you only need to upgrade the software in one place, not for each separate site.
URL Rewriting
Is the system capable of rewriting URL or working with some other URL rewriting mechanism to provide shorter or friendlier URLs?
Wiki Aware
Does the system support wiki or wiki-like functionality? Wiki provides online collaboration functionality as well as a simple text formatting language.

Performance

Advanced Caching
Does the system have advanced caching mechanisms that go beyond simple page caching? For instance, navigation, template, or content object caching?
Database Replication
Can the system take advantage of database replication for better scalability? The system would need to be able to perform reads from slaves and writes to the database master.
Load Balancing
Does the system allow you to put a load balancer in front of it to split the load between multiple servers? This would require that user sessions can be passed between all the nodes transparently.
Page Caching
Does the system have a mechanism for caching the contents of a page so that if it's requested again it can skip most of the work to create the page?
Static Content Export
Does the system have the ability to export it's content as static HTML so it may be served up from regional cache servers, or from static HTML web servers?

Built-in Applications

Blog
Does the system have a blog or web log? (See slashdot.org for an example.)
Chat
Does the system have an application for real-time online chat?
Classifieds
Does the system have a classifieds application?
Contact Management
Does the system have a contact management or rolodex type of application?
Data Entry
Does the system have an application for creating arbitrary data entry applications?
Database Reports
Does the system have an application for creating database reports?
Discussion / Forum
Does the system have a message board?
Document Management
Does the system have an application for managing offline document storage and versioning?
Events Calendar
Does the system have an application for tracking events and displaying events calendars?
Events Management
Does the system have a way to create events and allow users to sign up for those events.
Expense Reports
Does the system have an application for tracking employee expense reports?
FAQ Management
Does the system have an application to organize frequently asked questions?
File Distribution
Does the system have an application for distributing files including privileges for who is allowed to view/download those files?
Graphs and Charts
Does the system have an application that will allow the user to generate graphs and charts based upon some data set (SQL, text file, xml file, etc)?
Groupware
Does the system have email and calendaring (group scheduling) applications?
Guest Book
Does the system have a guest book or graffiti application?
Help Desk / Bug Reporting
Does the system have an application for trouble ticketing or bug reporting?
HTTP Proxy
Does the system have a mechanism to proxy or mirror HTML and other content and applications from other web servers?
In/Out Board
An intranet application that allows staff to post their status. In the building. Out for the day, be back tomorrow. Etc.
Job Postings
Does the system have a mechanism for posting job listings?
Link Management
Does the system have an application to manage links?
Mail Form
Does the CMS have an application for creating customizable ?contact us? type forms?
Matrix
Does the system have a matrix application similar to what you see here on CMS Matrix?
My Page / Dashboard
Does the CMS have a dashboard application (sometimes called a portal)? (See my.yahoo.com for an example.)
Newsletter
Does the system have the ability to allow users to add/delete themselves to/from a list so that they can be sent email from the system on various topics?
Photo Gallery
Does the system have an application for displaying a thumbnail / image repository?
Polls
Does the system have an application for conducting simple single question polls?
Product Management
Does the system have an application for displaying organized product information?
Project Tracking
Does the system have an application for managing project tasks?
Search Engine
Does the system have an integrated search engine that can index the managed content and allow the user to search the indexed content?
Site Map
Can the system generate a tree showing all of the pages in the system dynamically so it doesn't have to be maintained separately by the content managers?
Stock Quotes
Does the system have an application for displaying stock ticker information?
Surveys
Does the CMS have an application for conducting complex multi-question surveys?
Syndicated Content (RSS)
Does the CMS have an application for retrieving and displaying RDF/RSS/XML syndicated content?
Tests / Quizzes
Does the system have an application for administering tests and quizzes?
Time Tracking
Does the system have an application for tracking employee time for payroll or billing purposes?
User Contributions
Does the CMS have a system for allowing a user community to contribute stories and other content to the site?
Weather
Does the system have a weather information system?
Web Services Front End
Does the system have an application for directly interfacing with arbitrary web services such as the Google API and the various available methods from X-Methods, and then creating a templated user interface without coding?

Commerce

Affiliate Tracking
Does the system have an affiliate tracking or referrals system for tracking partner sites that link in to the site?
Inventory Management
Does the system provide the site owner a way to manage inventory levels (quantities of product on hand)?
Pluggable Payments
Does the system allow the site owner to plug in new payment gateways so they may use whatever payment processing mechanism (PayPal, PayFlowPro, 2checkout, iTransact, Authorize.net, etc) they choose?
Pluggable Shipping
Does the system allow the site owner to plug in their own shipping calculator so that they can charge based upon their needs (weight, price, UPS, USPS, FedEx, etc)?
Pluggable Tax
Does the system allow the site owner to plug in new tax calculators?
Point of Sale
Does the system tie into (or have built in) a point of sale system to enable site owners to run a brick and mortar store from the same inventory?
Shopping Cart
Does the system have a mechanism for allowing the user to create a list of adhoc items to purchase, and then purchase all of them at once?
Subscriptions
Does the system have a way manage timed subscriptions that are tied into the commerce function? This requires recurring billing, billing cancellation, etc.
Wish Lists
Does the system allow users to create wish lists?

Custom solution

If you do not find that functionality that you want in a pre-made CMS, you could always create or have one created for you. Although the cost of developing such a system is high, it will be worth it as it means that your site is more unique.

A full CMS would take over a year to develop and will have constant security updates to keep the website secure.

Nukes

There is a group of CMS for portals that typically have "Nuke" in their name and are very common. Nukes work by putting content into blocks and putting the blocks on the page. They all seem to look essentially the same (Header and 3-column main body).

CMS list

If you would like a list of most available CMS, have a look at the Wikipedia site. They list many CMS, including many fee ones that run on a variety of platforms and programming languages.

Another website that is worth checking out is CMS Matrix. This site allows you to compare the functionality of CMS tools so that you can find one that suits your needs.

by 1.1K

Remember to vote! Voting helps everyone find the best posts

Tags: None