FiCl 개발 블로그

이 블로그를 어떻게 설계했나 — 비용 0원, 실수로 공개되지 않게

발행 2026-10-09

이 블로그는 FiCl 리뉴얼 프로젝트를 어떻게 진행해 왔는지 나중에 다시 읽고, 같은 일에 관심 있는 분들과도 나누려고 만들었습니다. 첫 글에서는 블로그 자체를 어떻게 설계했는지 적습니다. 코드를 짜기 전에 무엇을 놓고 고민했는지가 이 글의 중심입니다.

먼저 정한 조건 세 가지

  1. 비용은 0원입니다. 서버를 빌리거나 유료 기능을 쓰지 않습니다.
  2. 글은 제가 확인한 것만 공개합니다. 초안이 실수로 나가면 되돌리기 어렵기 때문입니다.
  3. 한국어와 영어를 오갈 수 있어야 합니다.

도구는 공식 문서로 비교했습니다

기억에 기대지 않고 공식 문서를 읽고 비교했습니다. 확인하지 못한 내용은 “확인 못 함”이라고 적어 두었습니다.

후보 판단
Astro(글을 미리 HTML로 만들어 두는 도구) + Cloudflare Pages 배포, 사이트맵, RSS가 모두 공식 문서로 확인됨. 글이 마크다운(간단한 서식 문법) 파일이라 나중에 도구를 바꿔도 글은 그대로 가져갈 수 있음
Hugo + Cloudflare Pages 빠르지만 글이 몇 편 안 되는 이 블로그에서는 이점이 거의 없음
Astro + Cloudflare Workers 기능은 더 넓지만 정적 블로그에는 필요 없음. 나중에 필요하면 옮기면 됨

Cloudflare Pages는 정적 파일 요청이 무료이고 요청 수 제한도 없습니다. 요금이 붙는 쪽은 서버 코드를 돌리는 기능(Functions)이라서, 사이트를 정적 출력만 쓰도록 정했습니다.

주소를 정하다가 막힌 일

처음에는 dev.blog.ficl.kr를 쓰고 싶었습니다. 그런데 Cloudflare의 기본 무료 HTTPS 인증서는 한 단계 서브도메인(blog.ficl.kr)까지만 적용되고, 두 단계(dev.blog.ficl.kr)는 적용되지 않는다고 문서에 나와 있었습니다. 해결하려면 유료 기능이 필요합니다.

그래서 점 대신 하이픈을 써서 dev-blog.ficl.kr 로 정했습니다. 한 단계라서 무료 인증서로 충분하고, “dev”를 넣고 싶은 뜻도 살렸습니다. 주소는 공개한 뒤에는 바꾸기 어렵기 때문에, 코드를 짜기 전에 정했습니다.

실수로 공개되지 않게 하는 장치

한국어·영어 토글

언어마다 별도 주소를 둡니다. 한국어는 /, 영어는 /en/ 아래입니다. Google 문서가 설명하는 방식이 이것이라서 따랐습니다. 영어 게시글은 글마다 선택입니다. 같은 이름의 파일이 양쪽에 있고 둘 다 공개일 때만 토글이 나타나고, 한쪽이 초안이면 토글도 검색용 연결 표시(hreflang)도 만들지 않습니다.

아직 확인하지 못한 것

배운 점