여러 블로그 도구를 고민하다가 Cloudflare로 직접 만들기로 한 이유
티스토리와 네이버 블로그를 써본 경험을 바탕으로 여러 블로그 도구를 비교하고, 최종적으로 WordPress와 Cloudflare 사이에서 어떤 기준으로 선택했는지 정리합니다.
목차
이번에는 개인 개발 블로그를 다시 만들면서 고민했던 내용을 정리해보려고 합니다.
예전에는 티스토리와 네이버 블로그를 꽤 오래 썼습니다. 알고리즘 문제풀이, iOS 개발, 간단한 설치 기록, 게임 기록까지 이것저것 올렸고, 지금 다시 봐도 그때 적어둔 글들이 나름 쓸모가 있습니다.
가끔은 글보다 그때 적어둔 혼잣말이 더 생생합니다. "아, 이때도 미래의 내가 다시 볼 거라고 믿고 주석을 열심히 달았구나" 싶은 느낌이랄까요. 미래의 저는 실제로 봤습니다. (고맙다 과거의 나..ㅎㅎ)
그런데 시간이 지나고 보니 아쉬운 점도 있었습니다.
글은 남아 있지만, 내가 원하는 구조로 관리하기는 어렵다는 점입니다. 글 원본을 Markdown으로 관리하기도 애매하고, 한국어/영어 버전을 같이 운영하기도 번거롭고, 나중에 앱 운영 기록이나 자동화 작업과 연결하기에도 한계가 있었습니다.
무엇보다 예전 글을 다시 찾다 보면 "오, 나 이거 했었네"와 "근데 왜 이렇게 해놨지"가 동시에 옵니다. 개발자라면 익숙한 감정일 겁니다. 과거의 내가 남긴 코드와 글은 가끔 참고자료이면서 동시에 미스터리 소설입니다.
이왕 다시 정리할 거면, 이번에는 나중의 제가 덜 고생하는 구조로 만들고 싶었습니다.
그래서 이번에는 새 블로그를 만들면서 기준을 조금 다르게 잡았습니다.
단순히 "글을 올릴 수 있는 공간"이 아니라, 앞으로 앱 개발 기록, Cloudflare 운영 기록, 자동화 작업, 비용 관리까지 같이 쌓아둘 수 있는 개인 기술 기록 저장소에 가깝게 만들고 싶었습니다.
그래서 기준을 먼저 잡았습니다.
- 월 고정비는 최대한 낮게 유지할 것. 중요합니다.
(돈이 없..ㅠ) - 기존 도메인인
koujiapps.com아래에서 운영할 것 - 글 원본은 Markdown으로 남길 것
- 한국어/영어 글을 같이 발행할 수 있을 것
- 댓글, 조회수, 관리자 기능은 필요한 만큼만 직접 붙일 것
- 보안상 민감한 영역은 공개 블로그와 분리할 것
이 기준을 놓고 보니 선택지가 꽤 많았습니다.
후보로 봤던 블로그 도구들
처음부터 Cloudflare로 직접 만들겠다고 정한 건 아니었습니다. 일단 쓸 수 있는 선택지를 쭉 봤습니다.
블로그 도구 쇼핑을 한 셈입니다. 장바구니에 넣었다가, 가격 보고 빼고, 기능 보고 다시 넣고, 운영 생각하다가 또 빼는 그런 과정이었습니다. 쇼핑은 즐거운데 결제창은 늘 현실적입니다.
| 도구 | 좋은 점 | 아쉬운 점 | 제 판단 |
|---|---|---|---|
| 네이버 블로그 | 국내 검색과 접근성이 좋음 | 원본/자동화 관리가 애매함 | 기존 글 보관용에 적합 |
| 티스토리 | 개발 블로그 느낌을 내기 좋음 | 장기 자동화와 다국어 관리가 불편함 | 유지하되 새 메인은 아님 |
| Medium | 읽기 경험이 좋음 | 내 도메인/데이터 흐름 제어가 약함 | 외부 발행 채널에 가까움 |
| 정적 블로그 | Markdown 관리와 비용이 좋음 | 댓글/조회수/관리자 기능을 따로 붙여야 함 | 기본 구조로는 좋음 |
| WordPress | CMS 기능이 이미 완성됨 | 플랜/서버/운영 부담이 생김 | 편하지만 고정비 고민 |
| Cloudflare | 기존 인프라와 비용 관리에 유리함 | 필요한 기능을 직접 조합해야 함 | 이번 선택지로 가장 현실적 |
네이버 블로그
국내 검색 유입이나 접근성은 좋습니다. 예전에 써둔 글도 있고, 한국 사용자에게는 익숙합니다.
다만 개발 블로그 원본을 체계적으로 관리하거나, 내 사이트와 자연스럽게 연결하거나, 발행 자동화를 안정적으로 붙이기에는 아쉬움이 있었습니다. 개인 기록용으로는 괜찮지만, 앞으로의 메인 기술 블로그로 쓰기에는 조금 답답했습니다.
티스토리
티스토리는 네이버 블로그보다 개발 블로그 느낌을 내기 좋고, 예전부터 기술 글을 올리기에도 무난했습니다. 기존 글도 티스토리에 일부 옮겨둔 상태라서 계속 유지할 가치는 있습니다.
다만 새 글을 장기적으로 자동화하고, 한국어/영어 버전을 같이 관리하고, 이미지 저장 정책까지 직접 통제하려면 결국 별도 운영 구조가 필요하다고 봤습니다.
Medium
Medium은 긴 글을 읽기 좋게 보여주는 장점이 있습니다. 디자인이나 글 가독성은 확실히 편합니다.
하지만 내 도메인 아래에서 블로그를 운영하고, 댓글/조회수/이미지/발행 흐름을 내가 원하는 방식으로 제어하는 목적에는 조금 맞지 않았습니다. 글을 올리는 플랫폼으로는 좋지만, 내 개발 기록 저장소로 쓰기에는 제약이 있습니다.
읽는 공간으로는 좋은데, 제 살림살이를 전부 들고 들어가서 오래 살 집으로 보기에는 조금 애매했습니다.
Velog 같은 개발자 블로그 플랫폼
개발 글을 빠르게 쓰고 공유하기에는 좋습니다. Markdown 기반이라 글쓰기 진입 장벽도 낮고, 개발자 독자층과도 잘 맞습니다.
다만 내 도메인, 내 저장소, 내 배포 흐름을 중심으로 오래 가져가려는 목적과는 조금 다릅니다. 커뮤니티 플랫폼에 글을 올리는 것과, 내 사이트 안에 블로그 시스템을 갖는 것은 운영 방향이 다릅니다.
GitHub Pages나 정적 블로그
Jekyll, Hugo, Astro 같은 정적 블로그도 후보였습니다. Markdown으로 글을 관리하기 좋고, 비용도 낮게 가져갈 수 있습니다.
다만 댓글, 조회수, 관리자 글쓰기, 이미지 업로드 같은 기능을 붙이려면 결국 별도 백엔드나 외부 서비스를 조합해야 합니다. 단순한 기술 블로그라면 충분하지만, 제가 원한 구조는 약간 더 운영형에 가까웠습니다.
Ghost
Ghost는 글쓰기와 뉴스레터, 멤버십 중심으로 잘 정리된 도구입니다. WordPress보다 가볍고 글 중심이라는 점도 좋습니다.
다만 제 기준에서는 월 고정비와 운영 방식이 걸렸습니다. 블로그를 수익형 미디어처럼 운영한다면 좋은 선택일 수 있지만, 개인 개발 기록을 비용 낮게 오래 쌓는 목적에는 우선순위가 낮았습니다.
이렇게 훑어보고 나니 마지막으로 남은 선택지는 두 개였습니다.
WordPress를 붙일 것인가.
Cloudflare 위에 필요한 기능만 직접 만들 것인가.
결국 WordPress와 Cloudflare가 남았다
WordPress는 가장 현실적인 완성형 CMS였습니다.
글쓰기, 댓글, 관리자 화면, 테마, 플러그인, SEO 기능까지 이미 준비되어 있습니다. 처음부터 직접 만들 필요가 없다는 점이 큽니다.
반대로 Cloudflare 방식은 완성된 블로그 도구가 아닙니다. 직접 조합해야 합니다. 공개 페이지, 이미지 저장, 댓글, 조회수, 관리자 화면을 하나씩 만들어야 합니다.
그런데 제가 중요하게 본 기준은 글쓰기 편의성 하나가 아니라, 장기 운영 비용과 원본 관리였습니다.
이 기준으로 보면 WordPress와 Cloudflare는 장단점이 꽤 다릅니다.
| 기준 | WordPress | Cloudflare 직접 구현 |
|---|---|---|
| 시작 속도 | 빠름 | 직접 만들어야 해서 느림 |
| 글쓰기 편의성 | 매우 좋음 | 필요한 만큼 만들어야 함 |
| 월 고정비 | 플랜/호스팅에 따라 증가 가능 | 초기에는 거의 0원 목표 |
| 원본 관리 | 별도 export/관리 필요 | Markdown + Git 중심 |
| 이미지 관리 | 플러그인/호스팅 정책 영향 | R2와 WebP 예산으로 직접 관리 |
| 보안 운영 | 업데이트/플러그인 관리 필요 | 작은 API와 관리자 영역만 집중 관리 |
WordPress가 좋은 경우
WordPress는 블로그를 빠르게 시작하기에는 좋은 선택입니다.
관리자 화면이 있고, 테마가 있고, 댓글도 있고, 플러그인 생태계도 큽니다. 글을 직접 자주 쓰고, 웹에서 편하게 편집하고, 검색/SEO/통계 같은 기능을 플러그인으로 붙이고 싶다면 WordPress가 확실히 편합니다.
특히 글쓰기 경험만 놓고 보면 직접 만드는 것보다 WordPress가 훨씬 앞서 있습니다. 이미 검증된 CMS니까요. 관리자 화면을 보면 "아, 이래서 다들 WordPress 쓰는구나" 싶습니다. 괜히 오래 살아남은 게 아니었습니다.
다만 제가 신경 쓴 부분은 비용과 운영이었습니다.
WordPress.com을 쓰면 플랜에 따라 기능이 달라지고, 플러그인 접근은 일정 플랜 이상부터 열립니다. 직접 호스팅하는 WordPress를 쓰더라도 서버 비용, 백업, 보안 업데이트, 캐시 설정, 스팸 방어 같은 운영 부담이 따라옵니다.
물론 이게 나쁘다는 뜻은 아닙니다. 오히려 블로그 운영만 놓고 보면 WordPress가 훨씬 편합니다.
다만 제 경우에는 이미 Cloudflare를 사이트와 앱 운영에 쓰고 있었고, 블로그도 그 위에 얹을 수 있다면 월 고정비를 더 줄일 수 있겠다고 봤습니다. 여기서 다시 비용 얘기가 나옵니다. 네, 집요합니다. 하지만 통장은 더 집요합니다.
Cloudflare로 직접 만드는 경우
Cloudflare 방식은 WordPress처럼 완성된 CMS를 가져다 쓰는 방식은 아닙니다.
대신 필요한 부분만 조합해서 만듭니다.
- 공개 블로그 화면은 정적으로 제공
- 댓글과 조회수처럼 변하는 데이터는 D1에 저장
- 이미지는 R2에 저장
- 관리자 화면은 별도 보호 영역으로 분리
- 글 원본은 Markdown으로 관리
이쯤 되면 블로그라기보다 작은 운영 시스템을 만드는 느낌도 납니다. 살짝 일이 커지는 느낌은 있지만, 대신 어디에 돈이 쓰이고 어디에 데이터가 쌓이는지 직접 볼 수 있습니다.
이렇게 하면 일반 방문자가 글을 읽을 때는 대부분 정적 파일을 보게 됩니다. 비용 측면에서는 이게 중요합니다. 정적 페이지는 빠르고, 서버 계산이 거의 필요 없고, 트래픽이 조금 늘어도 부담이 작습니다.
반대로 댓글 작성, 조회수 증가, 관리자 작업처럼 상태가 바뀌는 부분만 API를 거치게 만들면 됩니다.
일단 저는 이 구조가 개인 개발 블로그에는 더 잘 맞는다고 봤습니다.
비용 기준으로 보면
Cloudflare 쪽에서 제일 중요하게 본 것은 무료 한도입니다.
Cloudflare Workers Free는 하루 요청 제한이 있고, D1도 일 단위 read/write 무료 한도가 있습니다. R2는 매월 일정량의 저장공간과 요청 수가 무료로 제공됩니다. 특히 R2는 인터넷으로 나가는 egress 비용이 무료라는 점이 블로그 이미지 저장소로 꽤 매력적입니다.
제 블로그 기준으로 대략 계산해보면 이렇습니다.
- 하루 방문자 100명
(희망사항) - 방문자 1명당 글 5개 열람
(이것도 희망사항) - 하루 1개 글 발행
- 글마다 이미지는 가능하면 WebP로 압축
- 글 하나당 이미지 총합은 500KB 안팎을 목표
이 정도라면 초기에는 월 비용이 거의 0원에 가깝게 유지될 가능성이 높습니다. 사실 이 문장에서 제일 중요한 단어는 "0원"입니다. 마음이 편해지는 단어죠. (ㅎㅎ)
여기서 핵심은 이미지입니다.
글 본문 Markdown은 아무리 쌓여도 크기가 작습니다. 50년 동안 매일 글을 써도 텍스트만 보면 부담이 거의 없습니다. 하지만 이미지가 문제입니다. 글 하나에 원본 PNG/JPG를 몇 MB씩 올리기 시작하면 금방 저장량이 커집니다.
텍스트는 부지런한 편인데, 이미지는 식비 많이 나가는 가족 구성원 같은 느낌입니다. 같이 살아야 하는데 예산 관리는 해야 합니다. 예쁘다고 다 원본으로 올리면 나중에 청구서가 말을 걸 수 있습니다.
그래서 저는 이미지 예산을 먼저 잡았습니다.
| 기준 | 목표 용량 |
|---|---|
| 글 1개당 이미지 총합 | 400~500KB |
| 월 이미지 총합 | 12~15MB |
| 연 이미지 총합 | 150~180MB |
| 50년 이미지 총합 | 7.5~9GB |
이렇게 잡으면 하루 1개씩 50년을 써도 R2 무료 저장 범위 안쪽을 노려볼 수 있습니다. 물론 실제 운영에서는 이미지가 많은 글도 있을 수 있으니, 평균을 관리하는 방식이 맞습니다.
물론 50년 동안 매일 글을 쓴다는 전제부터 약간 웅장합니다. 그래도 기준을 크게 잡아두면 당장 오늘 올릴 이미지 하나도 조금 더 신중하게 보게 됩니다.
보안은 자세히 만들수록 공개하면 안 된다
관리자 기능을 넣으면 보안도 같이 봐야 합니다.
그래서 공개 글에서는 구조만 이야기하고, 세부 구현은 공개하지 않는 쪽이 맞다고 봤습니다.
제가 잡은 방향은 단순합니다.
- 공개 블로그와 관리자 영역을 분리
- 관리자 화면은 별도 인증 뒤 접근
- 댓글 작성에는 스팸 방어 장치 적용
- 업로드와 API 요청에는 크기 제한 적용
- 비용이 튈 수 있는 기능은 끌 수 있는 스위치 준비
- 예산 알림을 낮은 금액부터 설정
이 정도 원칙만 있어도 개인 블로그 운영에는 꽤 도움이 됩니다.
중요한 건 "완벽한 보안"이라는 말보다, 공격이나 실수로 비용이 튀었을 때 빨리 줄일 수 있는 구조를 준비하는 것입니다. 새벽에 알림 보고 잠이 확 깨는 상황은 가능하면 피하고 싶으니까요.
결론
WordPress는 빠르게 시작하고 편하게 쓰기 좋은 선택입니다.
반대로 Cloudflare 직접 구현은 처음 설계와 구현에 시간이 더 들어갑니다. 대신 내 도메인, 내 저장 구조, 내 발행 흐름, 내 비용 기준에 맞춰 오래 가져갈 수 있습니다.
저는 이번 블로그를 단기간 운영하는 사이트가 아니라, 앱 개발과 운영 기록을 계속 쌓아가는 공간으로 보고 있습니다. 그래서 월 고정비를 거의 만들지 않고, 필요한 기능만 직접 붙이는 Cloudflare 구조를 선택했습니다.
정리하면 이렇습니다.
- 글쓰기 편의성이 최우선이면 WordPress가 편하다.
- 월 고정비와 장기 운영 비용이 중요하면 Cloudflare 직접 구현이 유리하다.
- 대신 Cloudflare 방식은 이미지 용량, API 호출, 관리자 보안을 직접 관리해야 한다.
- 개인 개발 블로그라면 처음부터 거창하게 만들기보다, 정적 글 + 필요한 동적 기능만 붙이는 구성이 현실적이다.
저는 일단 이 방향으로 시작해보려고 합니다.
처음부터 완벽한 CMS를 만들기보다는, 글을 계속 쌓아도 비용이 거의 늘지 않는 구조를 먼저 만드는 쪽이 지금 제 상황에는 더 맞았습니다. 일단 오래 버티는 구조부터 만들고, 멋은 그다음에 챙겨보는 걸로. (ㅎㅎ)
댓글
0