See ya, WordPress - Hello, Ghost

I've been running this website for seven years now, and when I set it up, I decided to use WordPress for its initial setup. I had used WordPress for some internal work projects so I was already familiar with the software, making it easier to set up on my own little VPS. This has worked well for all those years, especially for a small, humble website like this one.

However, after a few years, I had been noticing a few issues with using WordPress. First off, my HTTP server of preference is Nginx. This is mostly due to having a smaller VPS - the smallest / cheapest VPS my original VPS provider, Slicehost, had available back then was 256 MB of RAM - and Nginx running a lot better on such limited hardware. But it's also because I really came to enjoy the simplified configuration of Nginx. There was one exception when it came to simplicity, however, which brings me to my second issue.

WordPress runs on PHP, which unfortunately requires more work to get up and running on an Nginx instance. After learning too much about FastCGI and spending way too much time to get something fragile up and running, I decided never to touch this installation again. It made it really difficult to upgrade anything in my VPS, from the OS to any of my software that kept the website up and running.

A few weeks ago I saw an article about Ghost. This caught my attention immediately - their tagline is "Just a blogging platform". And this is what I wanted, a simple to use tool that was in active development that would make is dead simple for me to update and maintain my blog. So I decided to give it a trial run on another server and I really liked what I saw. It was super-simple to install (provided that you have Node.js installed in your server, which I did) and the admin tools are super-simple. I also dug around the code and found is very easy to modify any existing templates, which I found a little difficult and annoying whenever I wanted to do this on WordPress.

Migrating my existing WordPress blog was pretty straightforward. To deal with any images that were in my posts, I opened a Cloudinary account and installed the Cloudinary WordPress plugin to move all my images to their service. Then I installed the Ghost WordPress plugin and exported all my data over. That was all it took. There's a few more steps I had to take to get everything set up for using Nginx, but I'll write down a more detailed overview about the migration some other day.

It's only been a day, but I'm really enjoying Ghost. I look forward to any updates the team comes up with, as well as contributing to the project as well.