DEV Community

Cover image for Multilingual Ghost CMS Blog: 0. Why I Chose Ghost
Sanghun Kang
Sanghun Kang

Posted on Originally published at sanghunkang.com

Multilingual Ghost CMS Blog: 0. Why I Chose Ghost

💡 I wanted to run my English blog and Korean blog in one place

Why I Chose Ghost

The requirements I wanted were as follows.

  1. It had to have a CMS. GitHub Pages was far too cumbersome for writing and editing posts.
  2. It had to be easy to back up in case I moved the blog later.
  3. It had to be customizable to some extent according to my preferences.
  4. It had to support multiple languages. I wanted to post in both Korean and English.

Ghost Logos

There were several candidates, such as Naver Blog, Tistory, and Velog, but the only one that satisfied all of these was Ghost CMS. With Ghost, you can either host it yourself or use a managed hosting service. In the case of self-hosting, I confirmed that it runs well even at $5/month. For managed hosting, the price varies by service, but it is around $10/month and convenient.

In fact, this is my third Ghost blog.

  • First. I wanted to use it for free, so I tried deploying it on the fly.io free tier. Since the storage was 1GB, it was not sustainable. If it is for a profile or landing page, this method might still be fine. If you want to try deploying on fly.io, this post explains the process in detail.
  • Second. I self-hosted it on a Vultr $5/month instance. Self-hosting itself is not difficult. If you use DigitalOcean's Official Ghost Droplet, you can deploy it right away even if you do not know anything. Self-hosting was not difficult, but to use the newsletter feature I had to configure Mailgun myself, and various small issues kept coming up, such as certificate expiration. None of it was particularly hard, and I could deal with it, but a lot of my time was wasted on these minor things.
  • Third. This blog. In the end, I paid for a managed hosting service. Why do I run a blog? To write. So the key is to focus on writing, and for that, a managed hosting service was the best option.

Money talks

After learning a bit of coding, I planned to host everything myself and try attaching all sorts of plugins, but the resources required for operations were greater than I expected, and for me, a managed service was the right answer.

Building a Multilingual Ghost Blog

However, Ghost itself does not natively support multilingual features. I bought several paid themes that claimed to support multiple languages, but they only offered half-baked functionality. Their approach was to create two Ghost blogs, set each one to a different language, and then tie them together under a single domain (in other words, making a separate English blog and Korean blog and combining them under one domain). But then you have to use two CMSs as well, right? I really did not like that approach. In the end, I decided to build it myself. It is not particularly difficult.

The approach I chose is as follows.

  1. I solve everything in the theme without touching Ghost Core. In other words, it can be applied even if you are not self-hosting.
  2. You only need one Ghost blog. This is not a method that uses multiple Ghost blogs.

I figured someone out there might have the same needs as me, so I decided to organize the trial-and-error process I went through.

Next post

Multilingual Ghost CMS Blog: 1. Making Posts and Pages Multilingual

Ghost can create a Collection of specific posts. Let's create tags for each language we want to support and make a Collection for each one to build a multilingual blog.

Multilingual Ghost CMS Blog: 1. Making Posts and Pages Multilingual

Originally published by Sanghun Kang on Sanghun's Blog.

Top comments (0)