Back to main menu

IT & Engineering

How we moved our engineering blog from WordPress to Ghost

This was posted on September 24, 2014. At Mailgun we recently migrated our blog from WordPress to Ghost. We really like the simplicity, writing experience and speed that Ghost offers.

PUBLISHED ON

PUBLISHED ON

This was posted on September 24, 2014.

At Mailgun, we recently migrated our blog from WordPress to Ghost. We really like the simplicity, writing experience and speed that Ghost offers.

Migrating from one to the other was somewhat straightforward. Here is a brief overview of how it went.

Export to Ghost

The WordPress Ghost plugin make the transition very straightforward and covers 80% of what you need to do; transfer all your content from one platform to the other.

  1. Install the Ghost plugin in WordPress

  2. Run the export

  3. Import into Ghost

This copied over all our content. It does miss a few things, like tags, categories, and authors. We just manually edited these in Ghost once we had decided on our new tags.

CDN and images

When on WordPress we uploaded images directly to the blog, so all the images were located in /wp-content/wp-uploads and in each post they were referenced directly by src=http://blog.mailgun.com/wp-content/wp-uploads…

To get around this we used the W3 Total Cache plugin with Rackspace Cloud Files. This tutorial on Rackspace is a good step by step guide.

  1. Install the W3 Total Cache plugin in WordPress

  2. Configure the plugin by creating a new container in your Rackspace Cloud Files control panel

  3. Go to your media library and run the command to upload all the media to your Rackspace CDN

This assumes you have a Rackspace Cloud account. If not there are other CDNs you can make use of.

Search

Ghost doesn’t come with a search function built-in. There are a couple of possible solutions here.

The solution we went with is Swiftype. Very easy to get up and running, they index your site, give you a script to place on your page and it was good to go. They even have a free plan.

Another solution you could consider is Google Custom Search.

Subscribe to email updates

In WordPress, our users could sign up to get an email notification each time we published a new post. We were using the WordPress Mailgun plugin. We wanted to continue to support this.

The solution we found simple to set up and integrate is Sendicate. They have an RSS to email feature that is simple to use and setup. Integration was a breeze.

Comments

Disqus. Great solution for comments. We were already using Disqus on our WordPress blog so switching these over wasn’t too awkward. The only difference was our URL structure changedslightly, which Disqus relies on for identifying the blog post comments.

Disqus has a couple of migration tools for this. One is to implement your redirects, then Disqus will crawl your new urls and make the necessary changes. We tried this approach but were unsuccessful. So we went the manual way of downloading a CSV file and making the changes to the urls. Bit more effort involved but it worked instantly.

Code syntax highlighting

By including Highlight.js (available on cdnjs) and using a nice theme we were able to style our code snippets automagically.

URL redirects

There were a number of URLs that changed or were removed as a result of switching platforms. This included tags, categories and the format of the actual post urls.

The Ghost team was very helpful when it came to managing this and they made all the necessary changes once we sent through a CSV file with the redirects.

So far so good

We’re using Ghost’s Pro service to host the blog for us. Works really well. Great writing experience compared to WordPress. WordPress is an incredibly powerful framework but because it supports the needs of so many websites and demands, it has grown into a sizable and cluttered tool. And we love writing our posts in Markdown with the visual preview next to it.

Ghost also integrates with Mailgun for sending transactional emails. If you’re considering setting up a Ghost blog yourself check out our MailGhost tool to help configure your Ghost config file.

Helpful resources for Ghost theme developers:

Related readings

Bulk validations: Accurate and fast AF

Cleaning an old email list is one of those must needed chores that nobody really wants to do...

Read More

Mailgun for non-devs: Leveraging an email marketing platform

This guest post comes from Ongage, a front-end email marketing platform that integrates nicely with ESPs like Mailgun and empowers...

Read More

How to improve your email deliverability for the future of email

If your customers aren’t getting your emails, then there’s a good chance that your email program needs some refreshing with these email deliverability tips taken from Email Camp: MessageMania speaker and industry pro, Laura Atkins.

Read More

Popular posts

Email inbox.

Email

5 min

Build Laravel 11 email authentication with Mailgun and Digital Ocean

Read More

Mailgun statistics.

Product

4 min

Sending email using the Mailgun PHP API

Read More

Statistics on deliverability.

Deliverability

5 min

Here’s everything you need to know about DNS blocklists

Read More

See what you can accomplish with the world's best email delivery platform. It's easy to get started.Let's get sending
CTA icon