고스트 CMS 다국어 블로그: 0. Ghost를 선택한 이유

고스트 CMS 다국어 블로그: 0. Ghost를 선택한 이유
💡
영어 블로그와 한국어 블로그를 한 곳에서 운영하고 싶었어

Ghost를 선택한 이유

내가 원하는 조건은 다음과 같았다.

  1. CMS가 있어야 함. github pages는 글을 쓰고 수정하는데 너무 번거로움
  2. 추후 블로그 이전을 대비해 백업이 용이해야 함
  3. 어느 정도는 입맛대로 커스터마이징 가능해야 함
  4. 다국어 기능이 있어야 함. 한국어와 영어로 포스팅하고자 함

Ghost Logos

네이버블로그, 티스토리, velog 등 여러 후보들이 있었지만 이 모든걸 만족시키는건 Ghost CMS였다. Ghost의 경우 직접 호스팅하거나 managed hosting서비스를 이용하면 된다. 셀프호스팅하는경우 $5/month에서도 잘 작동하는걸 확인했다. managed hosting의 경우 서비스마다 가격은 다르지만 약 월 $10선이지만 편리하다.

사실 이번이 나의 세번째 고스트 블로그이다.

  • 첫번째. 무료로 사용하고 싶어서 fly.io free tier에 배포해보았다. 용량이 1GB라 지속가능하지 않았다. 프로필이나 랜딩페이지용도라면 이 방법을 사용해도 괜찮을지도. 만약 fly.io에 배포해보고 싶다면 이 포스팅에 자세한 방법이 나와 있다.
  • 두번째. Vultr $5/month 짜리 인스턴스에서 셀프 호스팅을 했었다. 셀프 호스팅 자체는 어렵지 않다. Digital oceanOffical Ghost droplet을 쓰면 아무것도 몰라도 바로 배포가 가능하다. 셀프호스팅은 어렵지 않았지만 뉴스레터를 사용하려면 Mailgun을 직접 설정해야 했고 인증서 만료 문제 등 여러 가지 자잘한 문제들이 계속 발생했다. 어려운거 아니고 대응하면 되지만 이러한 사소한 것들에 나의 시간이 많이 낭비되었다.
  • 세번째. 이 블로그. 결국 Managed hosting 서비스를 결제했다. 블로그를 하는 이유가 무엇일까? 글을 쓰기 위해서이다. 따라서 핵심은 글쓰기에 집중해야 하며, 그를 위해 Managed hosting서비스가 최적이었다.

Money talks

코딩을 좀 배웠다고 모든 것을 직접 호스팅하고 이것저것 플러그인을 붙여보려고 계획했지만, 오퍼레이션에 드는 리소스가 생각보다 컸고 나에겐 매니지드 서비스가 정답이었다.

다국어 지원 Ghost 블로그 만들기

그러나 Ghost 자체가 다국어 기능을 네이티브로 지원하진 않는다. 다국어를 지원한다는 유료테마를 몇개 구매해봤으나 반쪽짜리 기능이었다. 두 개의 Ghost 블로그를 만들고 각각 언어를 다르게 세팅한뒤에 하나의 도메인으로 묶는 방식이었다 (영어 블로그, 한국어 블로그 각각 만들고 두개를 하나의 도메인으로 묶는 방식). 그렇다면 CMS도 두개를 써야 하잖아? 이 방법이 심히 마음에 들지 않았다. 결국 직접 만들기로 결정했다. 크게 어렵진 않다.

내가 선택한 방식은 다음과 같다

  1. Ghost Core를 건드리지 않고 테마에서 모든 것을 해결한다. 즉 셀프호스팅이 아니더라도 적용할 수 있다
  2. 하나의 Ghost블로그만 있으면 된다. 여러개의 Ghost블로그를 사용하는 방식이 아니다.

누군가는 나와 같은 니즈가 있을거라 생각해 내가 삽질했던 방법을 정리해 본다.

다음 글

고스트 CMS 다국어 블로그: 1. post, page 다국어 처리
Ghost는 특정 post들의 Collection을 만들 수 있다. 지원하고자 하는 언어별 태그를 생성하고 각 태그의 Collection을 만들어서 다국어 블로그 형태로 구현해보자. 1. 지원 언어에 대한 internal tag를 생성한다 2. routes.yaml에 Collection을 설정해준다 3. hbs파일을 수정해준다 나는 영어를 주 언어로, 한국어를 두 번째 언어로 하는 다국어 블로그를 만들고자 한다. 💡이 포스팅