About four years ago, I made a decision to start a blog.  I researched the various CMS solutions available back in the day, and I chose to use Drupal.  That was a huge mistake, and today I finally fixed it!

Drupal is one of the most bloated pieces of software I have ever used.  To be fair, it is mostly targeted at large collaborative websites where many authors contribute content under multiple topics and categories, and using it for a single author blog is probably over-kill, but I never managed to get it to work the way I wanted, despite trying really hard.

The major grievance that I have with Drupal is that even though it is a gigantic piece of software, to get something useful you still need to install and configure a whole lot of modules.  Even for things like a working WYSIWYG editor, managing comments, having pretty URLs, etc., which should come bundled with any decent CMS software.  The other major pain point is that even once you get the original setup working, it is extremely difficult to keep all the pieces working together as you install security updates.  And that is, if you can install the update without ruining your entire installation.  The update process that Drupal uses (at least in Drupal 6.x which is what I used) is extremely painful.  It involves disabling all of your modules, backing up portions of your installation directory, removing the existing installation (as in, rm -rf), unzip the new version, put things back into place, edit the config files and try to merge the new options with your own customizations by hand, then re-enabling the modules, and go through the upgrade process for each one of them (in most cases you won't even know if the module does indeed need any upgrades for a given version – but you still have to try anyway), and then hope that everything has worked.  And in practice, 2 times out of every 3 upgrades I have ever performed, things did go wrong, so I had to go back and restore the backups of the database and try again.  This caused each Drupal upgrade to take several hours of my time, and in many cases it took me a week to figure out all the small things that were broken after the upgrade and try to fix them after the fact (sometimes by searching for solutions on the web, and other times by actually debugging the code in question.)

I have been running an experimental instance of WordPress for a while now, and today I finally completed the process of switching over my Drupal based blogs, and so far I am extremely happy with how well-designed WordPress is, and how everything works out of the box.  I have only needed to install three WordPress plugins so far (Jetpack, which brings the wordpress.com additional goodies over to your custom installation, and is extremely well designed, a Sitemap plugin which gives you the sitemap.xml files that search engines seem to love, and redirection, which I used to keep some of the links on my old blog working in the new blog as well).  I also enabled the Akismet plugin which comes pre-installed to fight comment spam.  For the curious, I used the SQL script found here as a basis for the conversion.  I had to modify it fairly heavily to fix some of the things that did not work, and to fix some things which were specific to my Drupal installation.  You can find my script here in case it's useful.

I hope that this change would encourage me to blog more often.  One of the reasons that I blogged infrequently in the past was the extremely unpleasant experience that I had to go through each time I wanted to write a new post.  User experience matters a lot!