Jekyll에서 Astro로 블로그 이사 완료! (feat. Ruby 탈출기)
2020년 여름, 10년 넘게 운영하던 워드프레스를 무찌르고(?) Jekyll 기반의 정적 사이트로 블로그를 옮겼을 때의 글이 아직 생생합니다. 당시 한 달 넘게 퇴근 후 새벽까지 글 하나하나를 마크다운으로 옮기며 삽질했던 기억이 납니다. 그렇게 정착한 Jekyll은 지난 6년간 제 소중한 기록 저장소가 되어주었습니다.
하지만 시간이 흘러 2026년 지금, 저는 또다시 정든 보금자리를 떠나 새로운 곳으로 이사를 마쳤습니다. 이번 새로운 행선지는 요즘 한창 재미있게 보고 있는 **Astro (v6)**입니다.
💾 또다시 이전을 결심한 이유: Goodbye, Ruby!
사실 Jekyll은 정적 사이트 생성기(SSG)로서 완성형에 가깝고, 운영 중인 블로그(blog.munilive.com)도 별문제 없이 잘 돌아가고 있었습니다. 그럼에도 불구하고 불현듯 마이그레이션을 결심하게 된 가장 결정적인 이유는 아이러니하게도 6년 전과 같습니다. 바로 유지보수의 편의성, 그리고 새로운 기술 스택에 대한 욕심이었습니다.
1. 낯선 Ruby 생태계와의 작별
Jekyll은 Ruby 기반입니다. 저는 평소에 Node.js와 JavaScript/TypeScript 환경에서 주로 작업합니다. 블로그 기능을 조금 수정하거나 플러그인 에러를 잡으려 할 때마다, 제게는 낯선 Ruby 자료를 뒤적거리고 Gem 환경을 맞추는 과정이 은근히 스트레스였습니다. “내가 잘 알고 편하게 다룰 수 있는 Node.js 생태계로 넘어가면 훨씬 즐겁게 유지보수할 수 있지 않을까?”라는 생각이 머릿속을 떠나지 않았습니다.
2. 최신 프레임워크에 대한 호기심 (Astro)
이사할 곳을 고르면서 React 기반의 Next.js나 Gatsby도 고려했지만, 제 선택은 Astro였습니다. 블로그처럼 콘텐츠 중심의 웹사이트에는 Astro의 ‘Islands 아키텍처’가 성능 면에서 압도적이라는 이야기를 많이 들었기에 직접 써보고 싶었습니다. 무엇보다 6년 전 WordPress에서 Jekyll로 넘어왔을 때처럼, 새로운 기술을 배우고 적용해 보는 설렘을 다시 느끼고 싶었습니다. 마침 호스팅 중인 Netlify와의 호환성도 훌륭했고요.
🛠️ 가볍고 빠르게, 기술 스택 환골탈태
이사하는 김에 낡은 도구들을 싹 내다 버리고 최신식으로 들였습니다.
- 프레임워크: Jekyll 4.3 ➡️ Astro v6
- 스타일링: 무거웠던 Bootstrap 5 + SCSS ➡️ Tailwind CSS v3 (드디어 붓스트랩을 벗어났습니다!)
- 패키지 매니저: Bundler (Ruby) ➡️ pnpm (Node.js)
- 검색 & 하이라이팅: jQuery 기반 Lunr.js와 highlight.js를 걷어내고, Vanilla JS Lunr.js와 Astro 내장 Shiki로 교체했습니다. 훨씬 가볍고 빠릅니다.
💦 생각보다 만만치 않았던 이사 과정
단순히 파일만 옮기면 끝날 줄 알았는데, 기존 블로그의 링크(URL)와 댓글, SEO를 그대로 보존하려다 보니 손이 많이 갔습니다.
특히 80개가 넘는 기존 포스트의 URL 형식을 유지하고, 예전 주소로 들어와도 새 주소로 잘 연결되도록 리다이렉트를 처리하는 게 가장 큰 숙제였습니다. 사이드바 로고가 다크 모드에서 안 보인다거나, 코드 블록 색상이 이상하게 꼬이는 소소한 버그들도 하나씩 잡다 보니 시간이 훌쩍 지나가더군요.
제대로 옮겨졌는지 불안해서 결국 전수 조사를 하기로 마음먹었습니다. 로컬 서버와 비교하며 100개가 넘는 주소들이 에러 없이 잘 뜨는지 자동으로 검증하는 스크립트를 직접 짜서 돌려보았고, 다행히 모든 주소가 에러 없이 통과되는 걸 보고 나서야 배포를 마칠 수 있었습니다.
🚀 이사를 마치며
배포를 마치고 리다이렉션 문제까지 깔끔하게 해결하고 나니 숙원 사업을 하나 끝낸 기분입니다. Ruby 생태계를 벗어나 제가 100% 통제할 수 있는 익숙한 개발 환경으로 넘어오니 확실히 마음이 편하네요.
이 기록 또한 누군가의 마이그레이션 삽질에 작은 도움이 되길 바라며, 나중에 다시 보았을 때 또 하나의 즐거운 추억이 되길 바랍니다.
그동안 고생 많았다, Jekyll! 그리고 반갑다, Astro!
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.
Comments
Related Posts
WordPress로 운영하던 블로그를 Jekyll 기반의 정적 웹사이트로 변경한 이유와 과정
10년간 WordPress로 운영하던 블로그를 Jekyll 기반의 정적 웹사이트로 변경한 이유와 그 과정에 대한 글이다.
그누보드 플러그인 SMS4를 이용한 SMS 발송하기 함수
그누보드4 플러그인 SMS4를 이용하여 SMS를 발송하는 발송처리 하는 방법에 대한 설명 및 예제 코드이다.