If you are in the market for a blogging platform, content management system or a complete web platform, you can do far, far worse than choose WordPress.
The WordPress platform is in use at highly respected and trafficked sites such as the New York Times blogs and TechCrunch. This shows that it has the performance, scalability and flexibility needed to do almost any task.
WordPress comes in two major flavours: WordPress, the one blog per instance, and WordPress MU for serving multiple blogs from multiple instances with multiple users. Unless you are considering creating a blogging network or news site, the standard WordPress install should be all you need.
The next decision that needs to be made is whether to host your WordPress instance on WordPress.com or on one's own servers/hosting solution. In this review we will be handling it from a bare-bones server to cover the installation and configuration that is taken care of when choosing WordPress.com or other WordPress-supporting hosting providers. Hosting it on your own servers allows the use of plug-ins, which easily provide features and flexibility, and the option of hacking the PHP and CSS back-end code yourself, which can come in very handy for naughty or not-quite-right themes and plug-ins.
WordPress requires PHP and MySQL with no alternative databases officially supported. WordPress says that this is due to a tight coupling with MySQL to increase performance.
To install WordPress, a MySQL user and database should be created for it, and the latest WordPress version archive extracted into the desired place under your public HTML root directory on your web server.
For Linux users, it's tempting to use your distribution's package management system to handle the installation and configuration. However, this is not a technique that we recommend.
There are a couple of reasons for this. Firstly, at the time of review, WordPress itself was at version 2.8.3, but the version in our Linux distribution's repository was 2.7.1. This means that it is not a simple process to apply security updates in WordPress, which can be easily applied from the WordPress administration pages. Add to this that the distribution will often store files in places differing from the WordPress documentation and forums and can be hard for those new to WordPress to find.
In our experience we attempted to set up from the distribution repository, but the WordPress install page failed to complete its task. Thus it was easier, and in our opinion better, to install from the latest WordPress release. Your hosting company may offer one-click Wordpress set-up via scripts like Fantastico or others.
Once installation is complete, customising WordPress via its dashboard is very simple.
The most striking feature of WordPress is the elegance of the interface. Each field on the blog post editing page is resizable and able to be moved to a position that best suits your work flow.
The rich text editing coupled with the media management options, makes editing easy enough for the novice and sophisticated enough for the power user.
Plug-ins provide the real power and flexibility behind WordPress as a platform. The plain vanilla WordPress environment is good for blogging but not much else, yet add a few plug-ins and you can transform your site into a shopping experience or a spam sending machine.
Far more benign plug-ins are used to incorporate Google Analytics, provide search engine optimisation or Lightbox images for added glamour.
Themes are the other side of the third-party content for WordPress. Why spend your time learning all the ins and outs of Photoshop, CSS and WordPress when chances are that there's a theme that's good enough for you or only needs a little tweak to meet your needs? Obviously, commercial sites will want custom designs, but for the personal blogger without mad design skills, the WordPress theme repository should suffice.
If a plug-in or theme does not do exactly what you wish, then you have the ability to edit the PHP and/or CSS scripts powering the plug-in from within the WordPress administration interface. A handy ability for a quick edit or for people not completely comfortable inside of Vim or Emacs.
One problem with plug-ins, though, is that they do love to put information onto the WordPress dashboard. This makes sense as it is easily accessible since it is the first page one sees after logging in. However, any user is able to view the WordPress dashboard, which means that if you have stats or important stuff on it, there is the chance that other users can see that information.
You are able to crack open the code to make sure the information you want to keep admin-only remains that way, but there's always the chance that your closely guarded stats may slip through.
Similarly, since the vast majority of themes and plug-ins are maintained by third parties, any update to the core WordPress code could break a theme or plug-in. If you are running an abandoned plug-in and the plug-in breaks, and you have no coding skills to fix it, then it's tough luck. However, this is a problem with most content management systems available, especially the free ones, and it is far from being a show stopper to plug-in use; but one should be aware that it can and it will happen.
There is no questioning the power of WordPress's performance, this CMS powers some of the web's most popular sites and should be fine with the majority of tasks you wish to throw at it.
The fact that WordPress's only database option is MySQL can be frustrating if your production environment is centred on Microsoft SQL Server, Oracle or any other database. If you wish to integrate WordPress tightly into your environment and do not wish to use MySQL, then you will need to look at alternative CMS options.
Casting an eye over WordPress in its entirety, there is a reason that it is the leading choice for blogging and website creation. It's flexible, efficient and can satisfy the novice through to the developer that wants to get their hands dirty in code. Coupled with a large supply of themes and plug-ins, it's hard to beat the WordPress ecosystem for a framework to base your next web creation on.