No content management system (CMS) is perfect, but these systems can be really helpful for today’s web developer. I have been developing websites and networks since about 1996. About six years ago I began getting into PHP and MySQL to develop sites with interactive content, and more specifically, to build a manuscript management system for the International Studies Quarterly. It was from here that I began building my own content management systems for smaller web projects. I dabbled with ASP and even .Net as alternative platforms, but ultimately I found I have more control with PHP/MySQL. If you like what you see, and you want to see more, please consider visiting one of our sponsors. Each click makes us a few cents.




Enter WordPress and Drupal. The latter officially became an opensource project in 2001, but despite being first to market, it trails behind WordPress in functionality and ease of use. Let’s begin with a comparison of administrative consoles. Drupal’s is boxy, and it feels a little thrown together. As I click around the interface I feel as if I’m waiting for a broken link. I also found myself clicking forward and back several times to navigate my posts. WordPress offers a very refreshing interface, which I feel epitomizes the Web2.0 revolution of the last few years. WordPress is clean and efficient, and it is clearly designed to be easy enough for a neophyte but powerful enough for advanced users.

Aside from administrative consoles, the most important features to me are themes, plugins and PHP/MySQL integration. Both of these systems are community based, and there are scores of freely contributed themes for each. I’ve scoured the internet to find what I consider to be the best themes for each CMS, but I found the selection a little lacking. Admitedly, this is one of the reasons I’ve stayed away from out-of-the-box CMS solutions in the past: without substantial tweaking, you are stuck with a theme that someone else–and probably thousands of people–are using for their sites. One of the appealing things about the internet, after all, is the ability to completely distinguish your website to make it stand out in your market. Anyone who is about to pick a CMS needs to be aware that they will probably start with a theme and then customize it to fit their needs. I found this easiest in WordPress because it separates the CSS style sheets cleanly. With Drupal I would have had to dig into a theme’s folder and edit it in TextPad (my editor of choice), but with WordPress i can just go into the theme editor and make changes in the very nice interface. I changed the header image and the height of the top white bar on this site in about 10 minutes. I’m still trying to figure out exactly how to manage content placement though, and I found this to be an inherent limitation of CMS in general. For instance, I’d like to have blog-type posts on multiple pages, but neither platform supports this at the outset. It will be interesting to see how this pans out for deanhaddock.com.

Plugins are probably the neatest thing about a CMS. Let’s say you have a website that has an FAQ or an instruction manual. And let’s also say for argument’s sake you are using Drupal. You can download and activate a “books” pugin that will let you easily compile your content in a book form, complete with a table of contents and clean forward/back links at the bottom of each page. Or, for instance, if you are using WordPress and you want Google AdSense on your blog, then you can download and install the AdSense plugin and begin monetizing your site in minutes. Plugins are myriad, from quotes-of-the-day to maps to RSS feeds. Both WordPress and Drupal offer much in terms of feature-rich plugins and modules, and you can generally find parallel plugins for any functionality you seek in either platform. I found that plugins were easier to install and configure on WordPress, but only because their administration console is so clean an reliable. I didn’t have any specific issues with Drupal, but it took me a few minutes to figure out how one module can depend upon others that you may also have to install first. One other important difference to note about Drupal is that there is no initial support for rich text editing. I had to search for a WYSIWYG text editor and install it before I could post blog entries without manually editing my HTML. In WordPress, this works very nicely from the beginning.

The most important plugin/module for me, however, is one that integrates my own custom PHP/MySQL code within the CMS. To be frank, I’m a little tired of developing my own content management systems because the end user will always figure out a way to complicate their own data entry. Users will inevitably insert characters into a database that will break a site, so I have to write routines to scrub data and use them on just about every field. This isn’t exactly difficult, but it’s annoying. I’ll still have to scrub the data for forms I write, but all of the content management (pages, posts, links, text, etc.) is taken care of. This is amazing stuff, too! I can simply write PHP code, interface with MySQL, and insert it into a page from a centrally content-managed environment. All I had to do was install the exec-PHP plugin for WordPress. It was working in minutes. And yes, all of this is free and open to the public.

Ultimately Drupal may give you more customizability and control because it’s so bare-bones. If you’re willing to tweak their code, I’m sure you could get a lot of mileage out of it. Additionally, WordPress is really made for blog management, and any attempts to use if for a serious website may come into some difficulties. I’ll be sure to provide updates to document any such obsticles I encounter, but I’m hoping they will be few. I’m sticking with WordPress for now, though. I’m excited to see how it all works out.

Bookmark and Share