My move from WordPress to Ghost ...

TLDR - "Switched from WordPress to Ghost and liking it so far. Initial thoughts were to move to static pages using Jekyll, but laziness took over, and I used the Ghost blogging platform instead."

7 Years in WordPress

7 years since I started my blog, 7 long years and hardly any posts to justify its presence. :)

Dreamhost (my previous host) spoilt me from Day One by giving one-click installs, and from that day onwards I stuck on to WordPress.

I lived with slow page loads, slow everything because I didn't have much to write about or so I thought, and I was just using the server space
to test things out, not blog.

Not so recently I shifted from Dreamhost to Digital Ocean, I took the cheapest plan with 512MB Ram and a 20GB SSD.

Again I was spoilt by the choice of a WordPress one-click install.

But after my shift I ran into two issues -

  • All my permalinks were gone (there is a way to set them up on Digital Ocean, but it takes a bit of arm twisting), basically I was being lazy. :)
  • The blog would crash often, by often I mean every 2-3 days.

The Load Impact Test

When you are on a shared hosting, you really don't care about memory usage of your application or anything else for that matter.

These crashes woke me up. It starts to matter when you have a limited amount of RAM, dedicated as it may be, but you don't want any memory hogs (MySQL / the Apache server / whatever else that you have).

A test on Load Impact sent my blog crying for mama. 63 requests / second and me server threw in the towel. 63 requests...really? It just crashed, after which I started getting the database errors.

Okay, before any mysql/php advocates argue, yes 512MB Ram isn't enough, and yes, I didn't add any caching (except whatever cloudflare gives), so no vagrant, no nothing. But still, all my server is "serving" is mostly static content.

Search rankings from zero to negative

I shouldn't even be cribbing about this, but because it's my blog I will. My search rankings were non-existent to begin with, but now with no permalinks I am sure they took a nose-dive into the deep blue sea.

Switching to Ghost

I have almost completed my move from WordPress to Ghost. Things done so far:

  • Complete switch to Ghost
  • Moved my comments from WordPress to Disqus

Some of the pain points I must mention - when I exported the WordPress posts, and imported content to Ghost (using the Ghost json format) and comments to Disqus (using the Wordpress export format) it wrecked havoc on the post.ids.

Ghost did have the wordpress post.ids on import, but after importing used new ids for all posts.

Disqus on the other hand was looking for the post.id to do it's magic. I then had to manually change the post.ids and reimport them into Disqus. Fortunately, I didn't have much content which helped. :D

A quick Load Impact test now shows handling 2225 requests per second, and my server is still up and running. Mostly thanks to nginx and node.js for this.

This isn't a benchmark analysis, so when I have some more time I'll try to actually see how many requests the server handles. For now I am happy, at least its not crashing.

Things pending:

  • Link my Disqus account on the Ghost pages
  • Move some of the image and other media files into the right directories
  • Get email working
  • Fix the layout a bit

Current Stack

With the help of the one-click install - my stack now consists of:
cloudflare + nginx + Ghost + all the Digital Ocean goodness

comments powered by Disqus