3 min read

워드프레스에서 Ghost로 이전하기

몇 년동안 홈페이지 블로그에 워드프레스를 주욱 이용해 왔다.

워드프레스는 2003년 이후로 매우 오랜 기간동안 안정적으로 개발이 지속되어 왔다. 많은 사람들이 사용하고 안정적이며 플러그인 설치하여 다양한 기능을 제공하지만, 그만큼 관리부담이 큰 것도 사실이다. 오래 전에 워드프레스는 블로그 플랫폼에서 컨텐츠 관리 시스템(CMS)으로 넘어갔다고 봐야 할 것이다. 단지 생각나는 단편을 조금씩 깨작거리고 자료 정리하는 등의 목적으로 쓰기에 워드프레스는 알맞지 않다. 못 쓸 것은 아니지만, 설정도 많이 필요하고 테마도 가져다붙여야 하고. 뭔가 무겁고 아쉽다. 좀 가벼운거 없을까.

Jekyll이라고 markdown에서 블로그 식으로 문서를 자동 생성해주는 플랫폼이 존재한다. Github Pages에서 이를 지원하여 많은 사람들이 Jekyll을 사용한다. 컴퓨터 앞에 앉아서 markdown 파일을 진득하게 작성하고, 내용을 리뷰한 뒤, 커밋-푸시하면 Github Pages에서 자동으로 빌드하여 웹사이트를 만들어서 보여주게 된다. 다만 markdown 파일을 직접 수정해야 하므로, 파일시스템 접근 권한이 필요하다. 모바일 환경에서는 써먹기가 좀 곤란하다는 것이다.

좀 더 찾아보고 Ghost 플랫폼을 찾았다. 이건 markdown을 사용하긴 하는데, 직접 파일을 만지지는 않으며 기존 블로그 서비스처럼 웹 관리 페이지에서 글을 직접 작성할 수 있다. 오호 생각보다 괜찮네? 게다가 다른 기능이 거의 없고 그냥 글 작성에 집중되어 있다. 이게 딱 내가 바라는 수준이다.

그리하여 블로그 플랫폼을 Ghost로 이전하였다. 이전절차도 생각보다 복잡하지 않다. Tistory에서 워드프레스로 이전하면서 학을 떼 본 경험을 생각해보면, 워드프레스에서 Ghost로 이전하는 것은 거의 물 흐르듯 자연스럽게 이전이 가능하다. 워드프레스에 내보내기 플러그인을 설치하고, 내보내기를 수행하면 작성한 글들이 하나의 JSON 파일로 저장된다. 이미지 등 첨부파일 경로는 year/month/filename.ext 규격을 똑같이 사용하므로 그냥 통째로 복사하고, JSON파일에서 일괄로 경로를 수정하면 된다. 워드프레스 전용 태그만 수작업으로 정리하고, 마지막으로 Ghost에서 JSON 파일을 불러오기 하면 profit.

다만 Ghost에서 slug 지원이 좀 어색하기 때문에 수정이 좀 많이 필요하다. 글 제목을 한글로 작성한 경우, 워드프레스에서는 기본 slug로 글 제목을 URLencode하여 사용한다. 그런데 이를 Ghost로 가져오면, URLencode에서 % 문자가 모두 삭제되어, 결국 글 제목을 hexstring으로 쓴 것이 slug가 된다. 대참사다. Ghost에서는 무슨 라이브러리를 사용하는지, 한글을 소리나는 대로 표기하여 slug를 만들어내기 때문이다. 물론 수동지정도 가능하므로, 일일이 바꿔주면 되긴 하지만... 여튼 이 부분은 수정이 필요하지 않을까.