Yet another blog migration.

Yet another blog migration.

This blog started some four years ago on Tumblr, but that didn't last very long. WordPress is popular and praised, so I decided to go with it. Now I'm moving to Ghost. This post talks a bit about what I liked (and didn't like) about all of those technologies.


WordPress might have started as a blogging platform, but later became a CMS as well. That is good if you need a CMS - but a total overkill for my needs. Still, it had many things going for it. One of them was WP Network - the ability to have multiple blogs in a single instance. Since I wanted to blog in both English and Slovak, and I wanted to keep the post separated, that looked like a good idea - I could write into separate blogs, but didn't need two separate accounts and maintain two separate instances.

It turned out to be more difficult to set up than expected. I even had to change hosting providers because of it. (And, among other things, discovered that HostForLife is only good for two things: overcharging you, and ignoring and later closing your support tickets without a reply. Definitely not recommended.)

After all that, everything went well for a time. Tere were plugins to do everything I needed. (Jetpack, for one, is absolutely great.) Sometimes too many, maybe: I wasn't sure what the good format for pictures and galleries was, and the default Media Gallery seems lacking; so I've experimented, and I would've better off just sticking to the plain defaults.

Later I grew really annoyed with the WYSIWYG editor; but lo and behold, Markdown can be added via a plugin! That helped for a while, even though it was far from perfect.

But my patience ran out after the previous post, when I found out that apparently there's NO reasonable way of making WordPress STOP ESCAPING > signs in my CODE LISTINGS. See the > right there? WP couldn't handle that, instead giving me >. I decided right then that I'm not writing any more posts until I've migrated both the blogs.

Searching for alternatives

There were what I naively considered to be only a couple of basic requirements. Most notably:

  • Markdown editing. No more of that annoying, non-portable WYSIWYG business.
  • Some simple way to upload and embed pictures into posts.
  • Preferably a two-column layout: large area for the main content, with a sidebar on the right for things like basic information and most popular posts. (Most of the hits this blog gets, perhaps unsurprisingly, comes from a few technical posts.) My design skills are poor, so I had to find something.
  • Basic statistics. I don't need any advanced tracking; basically, I wanted the "X people have seen this page in the last week.".
  • Preferably not running on PHP. The less PHP I see, the happier I am.
  • A "search" function, obviously.

I've been looking, on and off, for maybe over a year. I always started by checking out Ghost, because I've heard good things about it and finding it doesn't really do what I want (even though things like analytics have been on the roadmap for quite a while now). Then I gooogled some other platforms, liked none, dropped the issue, and repeated the whole process a few months later.

Settling on Ghost

When I decided I REALLY don't want to use WP anymore, I had to choose quickly; so I chose Ghost. It isn't ideal, but it's still worth it.

Maybe there are no analytics, but I can live without those. Or maybe use Google Analytics. It doesn't have search built in, for some horrible reason. I haven't been able to find a layout like I wanted. It took some work to make it run in Azure in a subfolder, too. But even given these constraints and issues, I ended up liking it.

I did end up having two separate blog instances to maintain, one for each language. But the "multiple logins" issue no longer bothers me - for some reason, the "remember me" option never worked for WP, and it does for Ghost, so I ended up thinking about it a lot less.

I'm also dropping comments. There were a few very nice ones on the old blog, but overall, not enough to justify bringing Disqus into the picture. (If you wanted to comment on something, feel free.)

I ended up with the nice, responsive Scrawl theme. I did have to fork and modify it to suit me - I needed fonts that can handle diacritics and wanted better readability, and some other tweaks. But all of the heavy lifting was done by the Scrawl's author. Thanks!

Since Ghost uses SQLite and not MySQL, that's one less dependency and one less cost for me.

Also, it's fast - my loading times dropped from ~4.9 seconds to ~1. And that's on cheaper hardware than the original WP blog. That also goes for the editing experience, which now is fluid, markdowny, and doesn't suck.

So to sum up: while I did have to make many compromises and spend many hours searching for solutions to silly problems, so far I'm satisfied. There are still things to tweak - but this is a good start.