By by chris.p |techsupportalert.com
|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:
Which is the best CMS ?
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
And as this isn’t even the complete list, there are a lot of questions to be asked.
How we will choose a CMS
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 ‘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
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.
|Best 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: http://wordpress.org/showcase/
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:
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:
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…
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 tohttp://validator.w3.org 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
Other contenders in this class are:
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.
Intranets and Extranets
An extranet is where remote locations and sites are connected, as with VPN connectivity. This is an enterprise-class CMS function.
For a full listing of CMS terms and abbreviations go here: CMS terminology.
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:
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: