- 2009년부터 Drupal 기반으로 운영되던 JeffGeerling.com이 개인 블로그 효율성을 위해 Hugo 정적 사이트 생성기(SSG) 로 전환됨
- Drupal 6부터 10까지 이어진 다수의 업그레이드와 유지보수 부담이 전환의 주요 계기
- Hugo는 Markdown 기반 작성을 지원해 기존의 복잡한 게시 절차를 단순화하고, 게시·배포 과정을 명령어 한 줄로 처리 가능
- 마이그레이션 과정에서 이미지 링크 오류, URL 손실 등 일부 문제가 발생할 수 있으며, 댓글과 검색 기능은 추후 단계에서 복원 예정
- 개인 개발자에게 간결한 워크플로와 유지보수 효율성을 제공하는 사례로, 정적 사이트 전환의 실질적 장점을 보여줌
Drupal에서 Hugo로의 전환 배경
- 사이트는 2009년부터 Drupal 6으로 시작해 7, 8, 9, 10으로 단계적 업그레이드를 거침
- 10년 이상 직업적으로 사용하던 CMS를 개인 블로그에도 적용해 왔음
- Drupal 7에서 8로의 복잡한 업그레이드 과정 이후, 개인 블로그에 기업용 Digital Experience Platform(DXP) 을 유지하는 데 피로감이 누적됨
- 블로그는 개인 프로젝트와 YouTube 콘텐츠 보조 공간으로 활용되고 있으며, CMS 유지보수보다 글 작성에 집중하기 위해 전환 결정
Hugo 선택 이유
- 과거 취미 사이트를 정적 호스팅으로 이전한 경험이 있으며, 일부는 Jekyll 또는 Hugo로 변환
- Jekyll은 GitHub Pages용으로 적합하지만, Ruby 비전문가로서 Hugo의 간단한 설정과 빠른 속도를 선호
- Hugo는 Markdown을 기본 지원하며, 기존 작성 방식과 자연스럽게 연동됨
마이그레이션 과정과 문제점
- 마이그레이션 작업은 GitHub 이슈 #158에서 진행 중
- 약 3,500개 이상의 게시물과 20년치 데이터로 인해 일부 이미지 손상, 링크 오류, 리디렉션 누락 가능성 존재
- 가능한 한 기존 URL 구조를 유지하거나 리디렉션을 추가하려 노력 중
Markdown 기반 워크플로 개선
- 2020년부터 모든 게시물을 Markdown으로 작성
- 이전에는 Sublime Text에서 Markdown으로 작성 후 HTML로 변환해 Drupal에 수동 업로드
- Drupal에서는 게시물 작성 시 다단계 절차 필요
- 본문 붙여넣기, 이미지 개별 업로드 및 삽입, 게시 날짜 수정, 캐시 초기화 등
- DDoS 대응을 위한 Cloudflare 캐시 관리까지 포함되어 복잡한 절차였음
- Hugo에서는 Markdown 파일 작성 후 hugo && git commit && git push 명령으로 즉시 게시 가능
- Composer, Drush, PHP, MariaDB, Nginx 등 서버 관리 부담이 사라져 유지보수 효율 향상
향후 계획 (TODOs)
-
댓글 기능은 2단계에서 자체 호스팅 정적 댓글 시스템으로 복원 예정
-
사이트 검색 기능은 과거 Apache Solr 기반이었으나, 현재는 중단 상태
- 마이그레이션 초기에는 댓글이 비활성화되어 있으며, 이전 작업에 시간이 소요될 예정
전환의 의미
- Drupal의 복잡한 콘텐츠 작성·관리 구조에서 벗어나, 단순하고 효율적인 정적 사이트 운영 모델로 이동
- 개인 개발자에게 유지보수 부담 감소와 창작 집중 환경을 제공하는 실질적 사례
- Hugo 기반 전환은 개인 블로그 운영의 지속 가능성을 높이는 방향으로 평가됨