5 min read

I Switched to Ghost from Wordpress

I switched over to the Ghost.org blogging platform from Wordpress over the weekend and it was surprisingly painless. I have been planning the move all month long and finally decided to work out some time to do it. I had already imported my posts earlier in the month so I spent my time focusing on the theme and reformatting my posts.

I relied on the following links to get the job done:

Why I Switched to Ghost

I wasn't necessarily unhappy with Wordpress. I have been self-hosting Wordpress on MediaTemple since I started the site. I never had any trouble upgrading or extending functionality with new themes and plugins. In fact, those are the things that I loved most about Wordpress.

What I didn't like about Wordpress was posting. I hated the built in editor so I explored writing my posts in other tools such as Text Wrangler, Word, and then finally settling on Ulysses.

When it came to posting I would export from Ulysses and then copy+paste my post into Wordpress, tweak the markup, inject my code examples using a syntax highlighter plugin, edit, and then publish. This workfow never really felt right. It was tedious and I felt I spent more time shuffling my text around than actually writing.

I wanted something much simpler and I found that with Ghost. But it does come with some big trade-offs that I decided I could live with and as the Ghost Platform matures I will be ready to take advantage of the more advanced features.

Hosting

I could have hosted Ghost myself but decided I wasn't really gaining much from managing my own server. In the end all self-hosting got me was a bigger bill at the end of the month and monitoring on my part to make sure my site was still up and had the latest Wordpress updates.

It's going to be much cheaper and less of a headache to just host my site on Ghost.org and focus on writing.

Switching from HTML to Markdown

The most tedious part of the transition was converting my posts over to markdown. It is a bit self-imposed however, since I didn't need to convert everything over to markdown but since I had to go in and update posts containing code to support my new syntax highlighting solution I figured I would anyway.

Also, it makes me feel better knowing everything is formatted correctly that way I don't get any surprises when updating theme templates. There were places in some of my previous posts that had some markup that specifically reformatted content to get around something a template was doing. So it was nice to be able to go in and clean some of that stuff up.

Most of what I needed to do was to reformat lists, reformat links, move images, reformat code snippets, and get rid of a bunch of paragraph tags. I made it a point not to go in and re-edit the text of my older posts.

Comments

Moving my comments over to Ghost was extremely trivial because I use Disqus for my commenting system. Since I wasn't changing the format of the links to each article I could easily just add Disqus to my template and all my comments showed up.

I relied on this article on Christoh Voigt's blog to make the transition.

Compromising to Use Ghost

Ghost isn't perfect. It's still young and has some growing pains to go through before it matures, but it delivers on my ultimate requirement; making it easier and faster for me to write.

After reviewing the type of posts that I typically write and how most people found and interacted with articles on my site I decided I could live with the compromises I am making to use Ghost.

In the following sections I get into a few more details on the compromises I made.

Site Theme

Wordpress has themes for just about everything imaginable. In fact, there are so many I could spend days just looking through demo after demo of 3rd party free and premium themes trying to decide on one that would be right for my site (and I have).

I have limited time to write and so sacraficing writing time to search for a theme was not working for me. The reason I spent so much time switching my themes is that I would always find something along the way that I didn't like.

I often would think about creating my own theme but honestly the task is daunting. Even when starting with a base framework there was still a lot of work that needed to be done and I never had the time to work on it.

While Ghost doesn't have a big marketplace for themes, it is much simpler to create your own theme. Part of it is because Ghost's feature set is very limited so there is less for you to have to account for. The other part of it is because it uses a very easy to use templating system called Handlebars.

I was able to download a free theme coded by JollyGoodThemes and customize it to fit my needs in a matter of hours. I consider it a bit of a hold over until I can custom write my own theme but for the most part I am happy with the results.

Syntax Highlighting

Most of what I write about are tutorials for developing solutions on the Salesforce.com platform. This means a lot of code. Ghost does highlight anything with a <Code> tag but does so in a very general way and doesn't really support formatting for multiple languages the way I would like. Wordpress has Crayon which is my favorite highlighter of all time but since it isn't an option I went to my second favorite highlighter Prism.

This meant that I had to go through all of my posts and modify the tags for each post containing code. It was worth it though, because I found some cases on some older posts where the tags where really messed and the code was likely not rendering correctly.

Tagging

Ghost is fairly limited in the way you can organize your content. For instance, in Wordpress you can use categories and tags to organize your posts, presenting your readers with the ability to discover more content by clicking on a category or tag. Currently this isn't an option in Ghost but it should be coming in a future release.

For now I am going to spend some time organizing the tags for each post. Previously, I just kind of tossed every keyword I could think of into the tags area and I really want to limit them more to better organize related posts.

Searching

Ghost doesn't support searching. You can modify a template to use Google to search your site but it isn't really ideal given you are essentially embeding Google search results on your page.

I am torn between implementing search or not. It is nice to have and I have used it myself every so often to find something I have written but I have also done the same thing directly from Google. For now, I will leave the site without a search feature and will likely wait till Ghost offers something.


Overall I am really happy with the transition that I made. While I did have to make a lot of compromises and did lose some functionality it wasn't anything that really impacted my goals for the site.

I am still able to write the type of tutorials that I want to write and I can now do so in my preferred way. The templating system is super easy and when I do decide to update the theme I feel it won't be as daunting a task as it would be on Wordpress.