I migrated my blog from Ghost to Hugo. Ghost is awesome but it doesn’t make sense to pay US$5/month just to host and maintain a blog that I hardly update.

The blog used to be a static site powered by Jekyll and Github. However, I find the deployment workflow too much for a simple blog:

  • Create and write a page
  • Generate the site with a comamnd I can’t remember
  • Commit and push to Github

I didn’t have many posts to migrate but I still need to backup all my static contents. My previous mistake was to shift my post without taking care of the images, which made my posts broken.

Here’s what I did to migrate my posts:

  1. Compress all the images in /var/www/ghost/contents/images using tar -zcvf images.tar.gz .

  2. Use scp to download the file from the server.

  3. I couldn’t use ghostToHugo on Mac OS and I’m really lazy to write a script to convert my posts. I took some of my old posts from Jekyll (already in markdown) and created new posts for those that were not on Jekyll.

  4. I have to changed the permalinks such that my posts in Hugo will appear as <url>/<title> instead of <url>/posts/<title>. This is really easy.

Once I’m ready, I signed up a free account over at netlify.com to auto deploy my static sites properly. Then I modified my DNS over at cloudflare.com to point to my new host. Cloudflare makes my life a lot easier since I don’t have to modify anything to support HTTPS.

My site is now officially generated by Hugo. It’s so much faster in terms of page speed.

Best of all? I don’t have to pay for my hosting ☺️