A while ago Rick Bruner put out a call asking for reviews of various blogging platforms. I volunteered to do a WordPress one. It is now live here, feel free to have a read.

For kicks and giggles, I also have a copy of the review in my more traditional article format that readers will recognize from, well, the more than 100 sites I’ve written for over the years. I post it here for the enjoyment of my Ensight readers. Feel free to let me know of any errors, comments, whatever in the comments area.

WordPress Review
Jeremy C. Wright

There are, quite literally, hundreds of blogging platforms and packages out there. Choosing the right one for you can be such a daunting task that most people simply pick what is most well known, without necessarily picking based on quality of the software or even longevity of the platform.

Thankfully, WordPress is both well know and deserving of it’s status as the most popular PHP-based blogging platform available.

Who is Jeremy?

In order to give some context to the review I’m about to write, I thought it might be appropriate to give some background in terms of my expertise, blogging experience and what blogging platforms I have used.

In my career I’m an Information Technology guy. I program, I do large system architecture, I look after servers and that kind of thing. As such, I’ve always looked for a piece of software which was both easy to setup and maintain while having the power I needed to customize it in any way I saw fit.

The first piece of blogging software I started using was b2, nearly 2 years ago. I spent 3 months with that blog, and that blogging software before I burnt out. The reasons aren’t important, but basically boiled down to not properly defining the scope of my blog. The software was fairly difficult to work with, but was very easy to customize.

I knew that for my next blogging foray I wanted something more powerful. So, when I started Ensight, along with a group of friends, we decided to go with MovableType. It was easy to setup, had a large community and had a powerful templating component (at least, coming from b2 it did).

I stayed with Ensight, and MovableType for over a year. After a year, I felt it was time for a change. During the year with Ensight I’d made more than 2,000 posts and the blog had nearly 3,500 pages. As a result, every time I had to “rebuild” the site, it would take more than half an hour. I was looking for something as powerful as MovableType, but also with a more dynamic engine. Also, MovableType wasn’t very easy to customize.

Essentially, I wanted the customization of b2 coupled with the power of MovableType.

Enter WordPress. WordPress had always been the “other” blogging platform for all of us MovableType users. It was the second most popular platform out there for folk who had their own website hosting account (ie: weren’t looking at services like Blogger and TypePad.

In addition, I’ve used a dozen more platforms (Drupal, Blogger, etc) when guest blogging or helping others troubleshoot issues with their blogs. While I don’t necessarily consider myself an expert on every blogging platform, I am just about as much of a Blogger as you can get, for good or for bad.

What is WordPress?

Obviously I didn’t simply jump at WordPress. I wanted to evaluate it’s feature set, requirements and see what it was capable of first.

So, what is WordPress?

WordPress is a blogging system built on PHP (the scripting language), mySQL (the database) and is licensed under the GPL. It is free software supported by a large and vibrant community of users who are quick to help out however they are able.

WordPress requires that you do have website hosting of some kind in order to set it up, as you will need your own database and the ability to upload your own files without worrying about what others will be doing, so to speak.

Why Choose WordPress?

Ultimately the choice of blogging software will always come down to a few fundamental questions: Are you looking for a hosted solution? Are you looking for a PHP or Perl-based product (or some other platform specifically, like ASP.NET)? What other features are looking for (comment spam protection, multiple authors, multiple blogs, photo gallery, etc)?

WordPress is designed for those who are not looking for a hosted solution, who are looking for a PHP based solution and who want certain well architected, yet foundational features: standards compliance, dynamic templates, a fully fledged comment system (including anti-spam protection), ease of plugin installation and more. If these are the types of things that are important to you, WordPress may just be the perfect fit.

Beyond that, I chose WordPress because it was one of the few other tools that let me import my MovableType blog quickly and easily while keeping just about everything (including links, with some work) active and valid. Also, because it was PHP-based, I am able to modify it either with existing scripts or by myself (do so at your own risk, though).

My final reason for choosing WordPress was because I knew the develoeprs would stick around. They’ve been doing blogging software since 2001 and are a large part of the blogging community and have been able to create a fantastic product used by thousands upon thousands of bloggers.

Key Features

Before I go any further, I want to enumerate some of the key WordPress features, in order to help you determine if this is the right solution for you.

Standards Oriented: The WordPress developers are committed to standards in all their forms. From the W3C’s markup requirements to Trackback and Pingback. In addition, the WordPress developers have chosen to develop common API’s and an easy to use plugin architecture to allow others to work closely with the software without having to jump through any needless hoops.

Dynamic templates: I touched on this earlier. Essentially, having a dynamic templating system means that when you hit “save” on your blog post, it is live. When you make a change to the core templates driving your blog, it is live. No waiting around. No fussing. And definitely not mussing. Mussing is such a pain, and the WordPress developers have definitely made the templating system muss free.

Integrated Blogrolls and Linklists: WordPress comes with a full Link Management system. Create multiple blogrolls or linklists quickly and easily.

Easy installation and upgrades: To be honest, WordPress’s 5 minute installation isn’t 5 minutes. It’s about 7. But still, the installation is faster and simpler than any other platform I’ve ever used. I’ll touch on this a bit more in a minute, though, as I feel it deserves some more detailed information.

Easy Importing: One of the biggest reasons for WordPress’s growth, besides WordPress itself, is that the development team have created importers for every major blogging platform out there, including Movable Type, Textpattern, Greymatter, Blogger, b2 and many others. If you are using a different platform, chances are someone from the community has either written an importer or they may even help write one for you.

Multiple authors: WordPress is built around the concept of multiple authors. While it does only allow one blog (technically) it is geared towards unlimited authors in unlimited categories, which is always a nice thing.

Ease of publishing: WordPress includes both Blog by Email functionality as well as several bookmarklets for you to quickly make blog posts based on what you find interesting. In fact, between WordPress’s easy to use input screen, blogging by Email and the bookmarklets I’ve found it to be the easiest non-hosted product yet.

Archive Customization: Your archive URL’s can be fully customized. In fact, the options are sometimes quite staggering. Any combination of categories, authors, post ID’s and date parts (year, month, day, date, minute and second). For example, an Archive Format of: /archives/%year%/%monthnum%/%day%/%postname%/ would give you a URL of /archives/2003/05/23/my-cheese-sandwich/.

Archive Rewrites: In addition, once you have figured out how you want your archives to look, WordPress gives you all of the .htaccess configuration information you will need (if your host supports it), so that your URL’s will appear to be real files, which means search engines will index them more quickly and effectively.

Installing & Getting Up to Speed

[ note to Rick: Do you want screenshots of the installation process? ]

WordPress bills itself as having the simplest installation on the planet: The 5-Minute Installation. To be honest, I’ve found it generally takes me 7 minutes, but then I can be kind of slow. Either way, here is the entirety of the installation instructions:

1. Make sure your host meets the requirements. Also, have a database ready with proper username and password.
2. Unzip the package you downloaded.
3. Open up wp-config-sample.php and fill in your database details. Save and rename the file to wp-config.php.
4. Upload all the files to your webhost
5. Run the installation file. Relative to where you uploaded the files, it’ll be in wp-admin/install.php.

Yep. That’s it. 5 steps.

Beyond that, you will need to login to WordPress, change your password and get acclimatized to the environment. However, the WordPress introduction and Wiki provide a lot of help in this area.

In addition, if you are stuck, the WordPress Support Forums are always buzzing. If you need a hand, that’s often the best place to look. As a suggestion, though, you may want to try the Search feature before you post your question as it’s likely that any installation issue you are running into has been encountered, and solved before.

Ultimately WordPress is designed to be simple enough for the casual blogger, but to have the flexibility even the most experienced blogger would need. Up to speed quickly, but lots you can do after you are comfortable.

Templates

As I mentioned before, WordPress’s templating system is one of it’s strongest suits, at least for my needs. Essentially, there is one core template, contained in the index.php file. Every page takes it’s design from that main one. That doesn’t mean every page needs to look the same.

Each element of the template is modular. So, in order to remove the calendar, you simply remove the “< ?php get_calendar(); ?>” code from your index.php file. Ditto with monthly archives (< ?php wp_get_archives('type=monthly'); ?>). Keeping the design modular allows for a very flexible presentation layer.

Plugins

WordPress’s plugin system is incredibly simple: upload the plugin, login to your WordPress Control Panel, Navigate to the Plugins section and click Activate for the plugin you have just uploaded. Done. And if it doesn’t work as you’d hope, Deactivate it.

If the plugin is for design changes, you may need to add a line of modular text (like the Calendar module I showed you in the Templates section), but for all other plugins, code changes are kept to an absolute minimum (which generally means you don’t have to do anything but Upload and Activate).

How many Plugins are there, and how do you find them? Your first stop should always be the Plugin page at the WordPress Wiki. It contains a list of more than a hundred plugins ranging from Per-Post Styles to the popular Auto Shutoff Comments Plugin. There are also plugins for photo galleries and a whole suite of other nifty blog tools.

If these aren’t enough, there are also “pure code” plugins, known in the WordPress community as Hacks. These will range from the mundane to the … Odd (World Kit comes to mind).

Authors

As I mentioned earlier, WordPress is designed as a multi-author system. In fact, in WordPress users are the “same” as Authors. The only difference is the permission level of each user. In order to post as an author, a user must have a permission level (on a scale of 1 to 10) of at least 2 (for more information on the permissions system, see here. The higher the user’s level, the more permissions they have.

While this may seem overly complex, it makes perfect sense from a community standpoint. Because the way login details are remember in WordPress is by users becoming Members of your blog, all you have to do to make a regular reader an Author (if only for a day) is to increase their permission level. For me this has come in handy when I’ve been having issues with my blog and needed a little help. Instead of setting up a new user account, picking a password and emailing someone their details, all I had to do was increase their current permission level and then decrease it when they were done.

Simple, and effective.

As far as blogs and authors go, though, WordPress is currently weak (current version being 1.2) in 3 areas:

1. You can only have 1 blog per WordPress installation. While many bloggers have simply installated multiple copies of WordPress, the ability of other platforms like Blogger, Drupal and MovableType to administer several blogs from one interface is powerful and missed.
2. Once a user has “Post” permissions (at level 2), they can post anything to anywhere. There are no moderation queues and there are no “locked” categories.
3. There is no “notify users of new posts” functionality built into the platform. There are several hacks and plugins that do accomplish this task, but it is the community’s hope that this functionality will be built in to future releases, since it is available as part of several Approved WordPress Plugins & Hacks.

Comments & Comment Spam

Another one of WordPress’s weak areas is the area of comment spam. While the Comment system itself is very capable and fully fledged (a full members system, users can subscribe to a comment feed or get notification of new comments through a plugin), the comment spam protection is very basic.

WordPress’s anti-spam system is based primarily on a Moderation Queue. This moderation queue is designed so that any comment which doesn’t match the criteria you specify doesn’t get shown until you approve it. You can choose to either approve every comment, or allow comments through as long as they contain a name and email address and don’t match a word in your Blacklist. In addition, if a comment contains more than a specified number of links it can be placed automatically in the queue (as spam often contains more than 5 links).

The issues with this system are twofold. First, there is no large, central list of words spammers are using like there is with MT-Blacklist. Second, because every comment goes into a queue, you do need to ‘manually’ delete all of the comments in the queue.

That said, there are a couple of hacks and plugins to make life easier including WP-Blacklist (an attempt at duplicating the MT-Blacklist functionality for WordPress) and some easier comment spam moderation techniques. However there isn’t yet a single technique, like MovableType’s MT-Blacklist which is both overwhelmingly effective and incredibly popular, though several people are making inroads.

Corporate blogging

While WordPress’s suitability for corporate blogging will vary depending on a given company’s requirements, there are a few features which I believe it is lacking, based on my experience with corporate blogging:

1. Individual categories or subsets of content cannot be locked away from certain readers (without hacking the system, which is quite possible since you could ensure that only users of a specific Privilege level saw certain content)
2. Users cannot be forced to save every entry in Draft format for later approval by an editor or manager
3. There are no built in metrics to guage how effective the blogging platform is being for the company

However, that isn’t to say WordPress isn’t appropriate. Because it is such an open platform and is so easy to use, it is entirely possible companies may try it and find out that it fits perfectly, with some minor modifications (which are easy, given WordPress’s open architecture).

What’s the Verdict?

Obviously I’m biased I chose WordPress and I feel like I would never look back. While I’ve had issues, the amazing developers and fantastic support community have always been there to help me when I’ve needed it. For me that has been extremely important. I never expect software to be perfect, but when the community helps me get it as close to perfect as I need it to be, that to me is a good sign.

Again, WordPress is open, flexible, dynamic and completely customizable. The template, posting, plugin and link management systems are world class. With some slight polishing of user permissions and comment spam blocking, WordPress could easily become the choice of just about every blogger out there. If these are the kinds of things you are looking for, WordPress is definitely for you.