I’ve been playing around with Ghost this evening, and reached the sober conclusion that it’s not for me. At least not yet. If you’re planning to launch a brand new blog, and you like simplicity and a platform that is very far from being feature bloated, I’d strongly recommend Ghost. But if you’re like me; currently running a WordPress site with 2,000+ (i.e. a shitload) of posts and pages that you want to convert to the Ghost platform, you might want to sit on the fence for a while.
Here are a few good reasons why, most of them related to the process of moving your content from WordPress to Ghost:
There’s no automatic update process
If you’re used to WordPress, you’re also used to the luxury that it’s updating automatically now, fixing critical security vulnerabilities and bugs without you having to hold its hand. Ghost doesn’t do that, you have to manually update the core code yourself. In a world where there is just a matter of time before someone finds a gaping security hole in anything connected to the internet and uses it to butt rape everyone, automatic updates are essential.
Comments are not converted
This should not come as a surprise, since the creators of Ghost seem to think that comments is not an integral part of blogging. While I don’t agree with that sentiment, it’s not a problem that can’t be solved. If you want comments on your site, you have to use a 3rd party service like Disqus. Comments can be transferred to that service from WordPress, so using Disqus for your comments shouldn’t be a major issue unless you – like me – think that comment should be displayed using the same visual design as the rest of the site, and not using Disqus’ lame design.
HTML is not converted correctly to Markdown
This is the fault of the official Ghost exporter plugin for WordPress. Even if the Markdown documentation clearly states that “Markdown formatting syntax is not processed within block-level HTML tags”, the exporter plugin still converts HTML inside of block-level HTML tags (like div-tags) to Markdown. The end result is that any post or page that contained block-level tags with HTML in WordPress will look weird in Ghost since the Markdown inside the block-level tags isn’t parsed. Fancy going through all your content to hunt down Markdown syntax that won’t be displayed correctly? Me neither.
I’ve taken the liberty to open an issue concerning this bug. It remains to be seen if the Ghost developers fix it or not, if they don’t I might take it upon myself to fix it and create a pull request.
Internal links are not automatically updated
Internal linking is a neat trick to get people to stay on your site. Unfortunately, internal links are not updated when your WordPress content is converted. This means that any internal linking you might have done will now result in the 404 page being display to anyone clicking on the links. The converted plugin should be able to automatically fix relative links or absolute links containing the host name of the WordPress blog. Fancy going through all your content to hunt down internal links and update them with correct Ghost IDs? Me neither.
Metadata is not converted
This might not be an issue for most people who want to move from WordPress to Ghost, but it’s a problem for me. Over the years, I’ve used post metadata – extra data about a post – for a lot of things. If I’ve written a review, for instance, the review rating is part of the post metadata, and if the post contains that piece of metadata, I show the rating in the post. It’s also used to tell search engines that the content they are indexing is a review. Without the metadata, a review will look like any other post, which is not ideal for readers or search engines.
Please note that I did my testing with Ghost 0.7.6 and wp-ghost-exporter 0.5.5. Features and functionality that solve the headaches described above might have been added if you read this some time in the (not so distant) future, so you’re mileage might vary – everything above might be fixed in the current versions.
But as of right now, Ghost is not in a state where it will be capable of converting a lot of seasoned WordPress users.