Best Free CMS

By by chris.p |

A website CMS (content management system or systems) is a server program that creates a website without any pages pre-existing on the server. It interacts with a database, and builds the pages on-the-fly when requested by a browser, using text and publishing instructions from the database. Images or other content are added into the resulting pages from the usual folders on the server, and the page layout is based on a template. As there are no pages on the server, there is normally a cache (a ‘memory pool’), so that if a page has been requested recently it can be delivered directly from memory and does not need to be built again. Pages are normally built in a fraction of a second in any case.

Why do I need a CMS ?
All modern, capable websites are dynamic – that is to say, they can change easily as they run off a database not web pages. Page content and even site structure can be changed live online in no time. The older method, HTML web pages, is called static because once built those pages cannot be changed except by re-coding them.

A dynamic site has huge advantages, in fact far too many to list here. The core advantage is that content is separate from structure, and either can be changed rapidly and independently from the other (in other words you can change the site content, or its design and layout, with no effect on the other – in contrast to an HTML site). As far as practical features go, for example the site owner can edit page content live online or even create new pages, with changes going live instantly; site structure can be changed quickly; templates control the page appearance and can be changed rapidly or customized to suit; different managers can be given logins to control different aspects of the site; managers can be given logins to the site software admin and not the server admin; plugins are used to add functionality and features that would have taken days of coding before; and so on. The best-known dynamic sites, ie DB-driven ones, are CMS, forums, ecommerce / shopping carts and wikis. In the past, managing a dynamic site was a specialist job but now the software is much more usable.

Disadvantages? Not many – but like anything, there are pros and cons:

  • A CMS needs decent hosting – but not all hosts actually know what they’re doing.
  • They are not good where every page has a different layout involving complex artwork.
  • A webmaster is definitely needed, to keep an eye on things.
  • Unless you are a CMS expert, you wouldn’t use one for a site of less than 4 pages.

Which is the best CMS ?
In practice the question of ‘best CMS’ is impossible to answer, since all of these programs are designed to work in a particular way for a particular purpose. If you look at the wide range of different types of websites, it becomes obvious that no single application could create websites of all those types. Therefore a CMS is simply a tool for a job; it has to be designed for a fairly narrow range of duties or it won’t work well. Which is the best: a screwdriver, a saw, or a hammer? Obviously, there is no answer to this – it depends on what job you are doing. Content management systems are the same – you have to pick the right one for the job. Therefore, part of the solution is to pick one of the right class.

CMS can be divided into groups, for different roles, so you first need to define your requirements and choose one from a suitable group. There are around 3,000 – so there’s plenty of choice. The standard CMS type is called a ‘brochure CMS’, and is a full-feature online publishing tool. Virtually every CMS handles basic publishing tasks like creating an ordinary website with pages that have text and image content. The difference between them all, though, is how capable they are, what else they can do, and how they do it.

Types of CMS
Here are some of the types or groupings you could start with:

  • Free or commercial
  • Lightweight (‘micro-CMS’); standard (‘brochure CMS’); enterprise-class CMS
  • Server type: LAMP ((PHP – MySQL, the normal type of server); or IIS (ASP – .NET – Microsoft SQL Server – the MS proprietary route)
  • SQL database or flat-file DB type
  • Pre-defined templates or grow-your-own
  • Basic text and image publishing, or rich media capability
  • Community use, or one-person publisher
  • Single ownership structure, or sections owned by different groups
  • Remote installation, or on local machine only
  • Normal shared hosting, or dedicated server only
  • Good ecommerce support / basic / none required

And as this isn’t even the complete list, there are a lot of questions to be asked.

How we will choose a CMS
Because the situation is complex we’ve taken a few short cuts. We’re going to assume that you require a free / open-source program; a normal LAMP server compatible CMS (since this is the vast majority); that you will be using the usual MySQL database (again, the most popular choice); that you will be installing it over the web, on your shared hosting account, as is normal; and that ecommerce is a subsidiary function that may or may not be required, so we won’t prioritise for it.

That cuts the choice down to a sensible number. We can now look at some CMS software that would suit some simple and obvious profiles:

  • a new user who needs quick ‘n easy publishing
  • a user who needs a capable brochure CMS*
  • a user who needs to have the CMS compartmentalized for different user groups

* A ‘brochure CMS’ is the standard type that publishes content of various sorts in various ways: a full-feature publishing tool, which is an ordinary CMS.

This done, we’ll pick three to suit those profiles. There is no ‘top pick’ here because we’re looking at some website CMS (aka WCMS) for different uses, so they are each right for their user profile. However, our three chosen CMS applications are my top picks in their class.

CMS security note
All dynamic sites of this type (those that use databases) have many more attack vectors than an HTML website, the older type with web pages. This has some very important consequences:

1. A CMS is not a fit-and-forget solution, like a fridge or TV. It’s more like a commercial truck, it needs someone to run a maintenance sked. A CMS needs a webmaster to handle upgrades and other security issues. You cannot install a CMS and leave it, unlike an HTML site, unless you don’t care about the consequences.

2. Hosting – ie the quality of it – is a thousand times more important than with an HTML site. You pay the hosts for security above all else. If you cut costs here and end up with a less than competent host, your site can be exploited.

3. You should be especially careful with a new CMS or a new version of a CMS, since it is inevitable that there will be security issues that will need fast action from the webmaster.

A good WordPress templateBest Lightweight CMS

WordPress is the leader in the micro-cms class for good reason: it’s easy to install, use, and extend. If you simply need to get your pages online fast, then WP is the one.

Up till recently there were a lot of arguments about whether this blog app was a CMS or not, and in the past the answer had to be no. But it’s made huge strides and is now equally useful as a blog tool or a simple publishing tool, ie a micro-cms. With around the same sort of numbers of templates and plugins as Joomla (several thousand of each), it is much more usable for the beginner than Joomla, almost as customisable – and far, far simpler.

The install is dead easy, by FTP as per normal with these webapps, or even by using the Fantastico script installer that many hosts offer in your server control panel. This is the easiest option and should be taken if offered, even for experts. Just remember to choose to install it to the webroot, ie not in a directory, as it’s the most efficient way (unless you have other webapps on the server, such as a forum or wiki – then you have to decide on some install options).

WP is a standard PHP-MySQL webapp that runs on a LAMP server – the normal type of server. Any shared hosting will probably suit, and even some free webhosts will work fine with this.

You can run on the default template but most choose a new one, and there are plenty of free choices. Make your choice mainly on the layout (page overall shape), not the colours, as they can be altered. A widgetised template is best, meaning that it will accept the WP modules, which display additional content items as in all CMS. This refers to the menus and content blocks that can be seen around the page on a typical website.

You’ll need the right set-up and plugins but there isn’t space to go into that here, but this applies to all CMS in any case – and it means you must do your research and find more info. For a site showcase, with some nifty tempates, see:

SEO, i.e. popularity and/or commercial success prospects, is good with WP. A lot depends on the template though, as some are poor and both wreck the code validation and introduce junk scripting and other sins. There are sufficient plugins for a good SEO solution.

Keep in mind that WP is a micro-CMS that is used for fast set-ups, or by new users, or for simple publishing jobs. It is not a full-feature CMS and trying to use WP for this profile is a mistake. It will never do what a real CMS does although it can be forced into trying it, with a great deal of work, which is usually unsuccessful. The huge advantage of WP is it is lightning fast to get your content online; trying to do more with it than that can result in tears. It is not a competitor to Joomla or Drupal.

WordPress is so good now that it doesn’t have many challengers for the best new user / lightweight CMS slot, but here are a selection:

  • SkyBlueCanvas CMS (a lightweight flat-file CMS)
  • CMS-MadeSimple (a lightweight roll-your-own template CMS)
  • Movable Type (also a blog / cms crossover)

Joomla - rich media specialistBest Brochure CMS

Joomla is the #1 rich media publishing tool. It’s so good that there are no commercial challengers that come close – for example, there are about 100 plugins just for streaming media (YouTube vids etc).

It is also the most flexible CMS around, and can be repurposed for a multitude of jobs – for example as a directory site, or an ecommerce CMS.

It’s a standard PHP-MySQL app for shared hosting – though it is more sensitive to incorrect server settings than most other server software. It’s not a certainty that you can run Joomla on just any hosting, because of this.

In the past, Joomla did not have core ACL and therefore Drupal was a better choice for any job that required different editors for different pages or sections. Joomla’s ACL does have some issues, and is in no way granular, so if you know that full-feature ACL will be a requirement for your site, Drupal is still a better choice.

Everything in Joomla is done with plugins (of which there are around 10,000 or more, split between the various cms versions), so it’s crucial to know which does what. The core application is strictly a framework on which to hang the vast range of free and commercial plugins that is unchallenged in capability in web applications. Because of Joomla’s flexibility, it can be turned into an almost unrecognisable application: an ecommerce store, a video site, an online magazine, a file repository, a directory, and so on – ad infinitum it almost seems.

There are some plugin issues for several reasons. These include the facts that Joomla has more than any other CMS; you can completely change the function and appearance of the CMS with them; and it is easier than most to extend, so lots and lots of people write plugins – some of whom have never heard of basic developer skills such as validating your pagecode as the first step, or taking care of security issues.

This means there are some bad plugins out there. They are insecure; they wreck the pagecode validation; they interfere with other plugins. So you must choose wisely. Check the security section at Joomla central; install plugins in a logical sequence; validate the pagecode after installing each one; and check compatibility with other plugins each time. If you find you’ve installed a bad one, uninstall it and try a better one. Some users install a large number of major plugins that alter core functionality, and then find their technical knowledge is insufficient for them to be able to resolve the issues. If you go this route you need to be aware that a highly extended, complex WCMS may not be able to have issues resolved by an ordinary webmaster – but this applies to all capable CMS. It’s simply that Joomla makes it all so easy that people can go too far and get caught out. Large numbers of major plugins plus very high traffic are probably not a brilliant idea – this profile requires another approach.

Joomla handles high traffic well – there are numerous sites with 1 million visits plus and two terabytes of data bandwidth per month. However, high page numbers is another question, as the admin structure is not designed for this. At around 10,000 pages, things start to get interesting; the strong area is between around 50 and 1,000 pages.

Templates are another very strong feature. There is an unbeatable choice, running to many thousands. They are very easy to customize and a different one can be used on every page if you wish, though that is not a normal choice. Joomla templating is probably the best in CMS – very easy to change, to customise, to experiment with.

Documentation is very good, as this is one of the largest webapp projects in existence. There are numerous books, PDFs and web guides. There have been tens of millions of downloads of this software. The forum on the central website has thousands of psots per posts per day and about 100 different labguage sections.

There are several concurrent version series of Joomla and this needs some explanation:

  • The 1.0 series is now obsolete and not supported. There are, of course, several million 1.0 sites out there that will never be upgraded. As long as basic security precautions are taken, they should be OK to leave as-is. This was a very simple CMS, so security issues are not a major worry – as long as the plugins were good and the hosting is good (as with any CMS).
  • The next series, the 1.5 series, was the most completely supported version until recently, when the 2.5 series passed it in terms of support. Even so it is technically obsolete and only security patches will be issued, no developments or new plugins will be created. The last version was 1.5.22 and if you are running J1.5, that’s the version you should use, as all previous versions have exploits. Luckily the superb template system allows replacement of the steam-age tables with a clean divs + CSS layout.
  • The 1.6 version was a temporary series, although not seen as such at the time; it proved to have numerous bugs and was quickly buried. If you have a J1.6 website you are advised to upgrade to 2.5 as soon as possible since the 1.6 version is not seen as safe or supportable. It is probably the most ‘dead’ version of Joomla. Its existence is not even admitted to on the Joomla site, which creates numerous serious issues when trying to upgrade. The great benefit of this version was that it introduced ACL to Joomla which is something that users had begged for over the last several years.
  • The 1.7 version was a quick patch solution for the problems in 1.6. It would be wise to upgrade to the 2.5 version.
  • At Q2 2013 we have Joomla 2.5, with version 2.5.11 current at the latest upgrade of this article. Joomla is now a fully-matured CMS with core functionality that enables it to punch far above its weight. It’s not really a beginner’s CMS any longer, unless you use it in basic mode – which is fine, of course.All that is left to do is get rid of the old table-based code layout scheme (which was obsolete in 2003 and is therefore way past its sell-by date), and Joomla will be top class in all departments.

Joomla is either a complex CMS that is fairly easy to use; or a basic CMS that can be extended later on if you need it; or perhaps, for newcomers, a very complicated way to run a website. All these are accurate, depending on your viewpoint. If you are new to CMS, I would certainly advise you to get a Joomla-using friend to hold your hand for the first few days, as there is a serious risk of being overwhelmed. Even developers who are new to CMS can’t work out how to go about finding templates and hacking them, or using the multi-language capabilities, or SEO fine-tuning – and these are among Joomla’s strong points. So, if you are new to CMS, or even just new to Joomla, then your task will be much easier if you have help.

Joomla will handle very high traffic. One instance on one very basic dedicated server with 1GB of RAM will handle over 30,000 visits per day, depending on the CMS set-up (more plugins, of greater complexity, will of course slow it down, and mean you need to go to multi-server earlier). Extending the server (more RAM is the critical factor) will get you up to maybe 60k visits per day or more on one box. Over this number, you go to a load-balancing solution, and then of course you can handle any traffic you want. In theory it is possible to get 100k visits per day on one box but this requires a top-in-class tech admin.

You might, if lucky, be able to handle up to 5,000 visits a day, for any type of site, on shared hosting of high quality, but over that you go to a dedicated server. My advice is to miss out VPS hosting (often used as a step-up between shared and dedicated hosting), as there are a multitude of issues – it’s hard to find a good service with enough RAM that doesn’t cost as much as a dedibox, so you might as well go straight to that as soon as your shared hosting CMS site starts to crack up under load. The funds should be there, by then.

There are plenty of Joomla sites with over 1 million visits per month (33,000 a day), and some that burn 2 terabytes of bandwidth a month. That’s high traffic. However, high traffic + high page numbers + many plugins can be troublesome, as every major plugin added will slow the site down. As it’s so easy to add them in Joomla, this often affects large, busy sites. It just means you have to go to load-balancing earlier. A basic Joomla site is very clean and fast, server-wise – but as it’s so easy to add plugins, there are few basic Joomla sites…

The new 2.5 series has the security issues expected with any new version, so keep it patched in a timely manner. Keep in mind that version 1.7 onward has some ACL, allowing you to give specific editing rights to specific individuals.

It’s worth mentioning this as all aspects of site popularity depend on this, whether you have a community site or a commercial one.

Joomla has always been the #1 CMS for SEO as it has always been easy to fix the issues with plugins, plus the native page code is very clean (all dynamic apps have SEO issues, the problem is how easy it is to fix them). All pages validate and should continue to do so whatever plugins or templates are used (if not, reject them). This means: go to and check your pages, especially the front page as it is the shopwindow for your site.

Code is clean, and the latest versions allow the template to override some core features to improve them (with vector-based code, for example). A huge range of SEO plugins allow you to do whatever you could possibly want.

Potential  is superb – though out of the box, things are very basic – but this is Joomla. Everything is done with plugins. Directly after install, you can maybe publish text and images, but not much else. Seeing as this is the most feature-capable and the most flexible CMS on the planet, that should give you a few clues: you need the right plugins. Choose well and you have a CMS that will place at Google #1 globally with no trouble at all, which is why Joomla is so popular for commercial web projects.

The latest versions incorporate some of the code from Yannick Gaultier’s sh404 plugin, so that now SEF URLS are possible without any plugin or htaccess file script. Note: they are not perhaps perfect, but the best Joomla core URLs seen yet by far – they have an /index.php/ in the middle. However, I have proved with a 6-year project that (a) perfect code is important to SEO, and (b) an index.php in the middle of the URL is of no consequence (the test site has hardly any links, has an index.php in the URLs, and beats 100 million other pages on tough keywords). Quality is a key issue in my view, in every area, and Joomla pagecode is good.

Full-feature CMS vs micro-CMS
A valid question to ask is: “What exactly is the difference between a CMS and a micro-CMS?”. The simple answer is that a ‘real’ CMS will do anything and look good doing it, and it won’t take too much work to set it up (for an expert). The capability obviously varies between apps but a full-feature CMS allows you to: have a menu called whatever you like, anywhere on the page, with any items on it, in any order, styled however you want; to have completely different content, menus or modules (content display blocks) on any page; to show different content on any page to any user depending on your chosen parameters such as IP (country), time of day, browser language, usergroup, recent activity, etc. – and so on and so forth – and to do it well and without torturing a developer to get it 🙂

Other contenders in this class are:

  • Mambo – this CMS was the one Joomla forked from – it’s very similar to Joomla 1.0
  • Typo3 – a popular alternative
  • e107 – another mid-range CMS that functions well as a portal

None of these are anywhere near as capable as Joomla but may have better functionality in a particular area, such as ACL or high page numbers.
CMS terminology
Here is a good place to bring in some other terms used in the world of CMS:

Intranets and Extranets
These are older terms not used widely among tech staff now, but still popular as they convey the meaning well to most people. An ‘intranet’ is what we would mainly call a portal site now – a site that has distinct sections, and these sections may in some cases be on other domains. The classic example is the BBC website. Joomla is a fine portal CMS but should not be used as an enterprise portal where more functionality than good visual publishing is needed, since it does not have core enterprise functions such as versioning. These can be plugged in of course but the results are not as solid is if they are in the core, as with Drupal for example.

An extranet is where remote locations and sites are connected, as with VPN connectivity. This is an enterprise-class CMS function.

To be ‘scalable’ means that a CMS can be extended in size, in all dimensions: traffic, page numbers, and functionality; and that it is still easily-managed and still solid even when scaled up in this way. It may also imply that some arrangements for extension on this scale exist in the core. Joomla is not scalable in the true sense since it will certainly handle high traffic, but high page numbers are not easily managed. The app’s strong area is up to 1,000 pages.

For a full listing of CMS terms and abbreviations go here: CMS terminology.

Warner Bros Drupal websiteBest CMS with ACL

Drupal is my choice for a CMS when you need good ACL (access control levels/lists, ie multiple user groups) and a rock-solid CMS. It’s true that eZpublish and Plone are stronger in the ACL area (and several others), but the server restrictions or cost implications rule them out for inclusion here. Drupal will supply all normal requirements in the ACL area and most other small/medium enterprise functions such as versioning.

Its strong points are the ACL capability, stability, scalability, and solid reputation for trouble-free performance. As a standard PHP CMS, it can be installed remotely on any LAMP server (the most common type). It is highly extensible, and a variety of distros are also available that package sets of modules and install a typical site profile such as an online magazine or a college site.

The negatives aren’t really negatives at all – they are simply areas where others perform better. Here, we have the relatively low number of plugins, including templates, that restricts both appearance and functionality to a certain extent. Next comes the very basic backend admin, which contributes to some usability issues in this area. Finally, and probably the biggest negative, the way that ACL capability has made many backend admin functions obtuse.

However, these are simply areas in which others do better – and no other CMS in this class does them all better or we’d be looking at that instead. Drupal is the #1 choice in PHP-normal CMS with ACL and that handles business tasks well.

It handles high page numbers better than Joomla as the structure is better for this. High traffic is handled of course, but this is a hosting issue in reality. Keep in mind that this type of CMS is basically a PHP script, and there’s not much stopping one of those from churning out tons of pages a second – if the load-balancing arrangements can support it.

Multimedia capability depends on plugins, and they aren’t present in sufficient numbers to allow wide and complete support; but Drupal has enough to do the usual jobs. There is a recurring quality factor in this project that means instead of lots of plugins and some being of low quality, there are less – but the quality is overall of a high standard. For example, three bridges are available for the vBulletin forum.

Content categorisation is stronger in Drupal than for most CMS, due to the useful and interesting taxonomy. Using this function allows the stratification of content according to user-defined terms and classes. If the normal 3-level CMS content structure doesn’t suit you (section / category / item), then Drupal will allow other methods. It also has built-in SEF URLs, which is a major strong point, especially as that removes the usual CMS issue of multiple addresses for the same page.

Drupal is a fine business CMS, and a good small-enterprise CMS – but probably not a large enterprise-class CM system. That is because although it has good ACL and versioning, the other components necessary for this appellation are not present or good enough: workflows, audit trails etc. For this profile you could plug it in, or perhaps more likely, go to an extended eZpublish solution or Alfresco – and unless you are a CMS developer, costs will be appreciable.

Documentation is good, with PDFs and books aplenty. Because of the widespread commercial use of Drupal, things are well organised here.

SEO potential is good (now). In the past, with session IDs and all that palaver, things weren’t so good. However, nothing moves faster than CMS projects right now, so what is true one year is completely wrong the next – just check forum posts on these subjects and you’ll see that clearly enough; statements people made last year are well outdated now. Drupal is a good choice for an SEO-friendly CMS – not as good as Joomla, for practical reasons mainly, since in theory it’s actually better.

Drupal is a strong, straightforward CMS with good ACL. It isn’t easy to use, though, since as soon as you add ACL into the mix, admin usability tends to go out of the window. At present its capabilities lie in the provision of a robust CMS with multi-group page and section ownerships; the useful taxonomy capabilities; and the general air of quality surrounding everything in this project. This is not a second-rate product, it is of the first quality. It scales really well, and is rock solid with high page numbers and heavy loads. With a top-class server admin you can get over 100k visits per day out of just one dedicated server – we do.

In the future, the existence of more plugins will allow better functionality. We like Drupal a lot – it’s what we run Gizmo’s Freeware on. With over 100,000 visitors a day now, and rising steadily, we need a solid solution. If I have one major criticism of Drupal, it’s the templating system, which is notably poor compared to Joomla.

Other CMS in this class are:

  • eZpublish
  • Plone

Both these are more capable as an enterprise-class CMS than Drupal but are more expensive to run, as they won’t live happily on a standard shared LAMP server – eZpublish because it doesn’t use the normal form of PHP acceleration, and Plone because it uses Zope as middleware, ie as an application server. On a dedicated server, these apps need someone who really knows what they are doing.

Related Products and Links
You might want to check out these articles / sites too:
– our stub article on the Best Enterprise-Class CMS
– a good comparison matrix site
– big site, comprehensive resources
– simple explanations thru major, critical reviews – no whitewash
– a long-established site, good resources, but boilerplate software reviews though

This entry was posted in Computer science and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s