There are many different ways to build a website these days. When I first started in this business, you wrote HTML files directly onto a local web server and, if it all looked good, then uploaded these files to the live web server.

Later, the introduction of scripting languages made the need for such a staging server all the greater, because links between pages and menus were (and often still are) hand-coded, and so in danger of becoming broken.
If your clients wanted their site altered, they’d tell you what to change – in electronic form if you were lucky, but more often via a phone call – and you’d have to implement these as soon as you could.
As websites became more strategically vital to businesses, it became desirable for them to be able to update their sites for themselves: this also enabled web houses to support more clients, since they were no longer continually tied up making fiddly little changes.
Giving inexperienced users a copy of an authoring tool such as Dreamweaver was a recipe for disaster
But giving inexperienced users a copy of an authoring tool such as Dreamweaver was a recipe for disaster. Broken links, hugely bloated graphics and random fonts were only the tip of a very nasty iceberg.
Far better to offer a controlled means for users to enter their own content, with menus automatically updated, images resized according to prior settings, and only a limited number of appropriate HTML tags available. Enter the content management system (CMS).
CMS solution
A CMS is a combination of a database that holds all the content, and an engine that generates visible web pages from it according to pre-established settings.
The most popular CMSes were invented by the open source community, using PHP and MySQL, and many commercial web houses have then built their own versions, starting from the open source code.
Some people criticise this way of building websites as a “sausage machine”, where you turn the handle and out comes yet another unremarkable website. In some cases this may be true, but it doesn’t have to be.
For sites with a lot of fast-changing content, such as that of PC Pro, it’s the best solution, as it would be impossible for a small group to maintain such sites without the help of a CMS back-end.
For the small business that wants only a “business card” site to announce its presence, a CMS is overkill. Such cases demand fancy design elements to make them stand out, and are better built using traditional HTML coding – implementing new effects and technologies is far easier if you don’t need to worry about their effect on the other modules of a CMS.
Almost all of the larger ISPs nowadays offer build-your-own-website packages based around customised CMSes, and offer hosting of various CMSes that can be installed with a single click. The route to getting started is easy, but as with most things technological, this is just where the fun starts.
Which CMS?
Most of my work involves building custom web applications using Microsoft technologies, but a while ago my company was asked to quote for a CMS for a new client, and we decided that this should become the new standard within our company for building all such sites.
Accordingly, we put a lot of thought and testing into the task of deciding which CMS to adopt – our main criteria were performance, flexibility and ease of use for the end users when updating their own sites.
We spent some time looking at the .NET solutions available, and while Umbraco has its charms, there were problems between versions and the modules, and support via the forums seemed limited. The other big player in the small arena of .NET-based CMSes is Kentico, which is amazingly flexible, but had two major issues that we felt rendered it unsuitable.
Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.