노션에 쓰면 자동 발행되는 블로그를 만들었다 (1) — 왜 & 전체 구조

노션에 글 쓰면 자동 발행되는 개인 블로그를 서버비 0원으로 만든 기록. 1편은 왜 만들었나와 Notion·Astro·Cloudflare 전체 구조.

이 블로그 자체를 만든 이야기 (1/3)왜 만들었나

왜 만들었나

글은 어차피 노션에 쓴다. 그걸 다시 블로그로 옮기는게 너무 귀찮았다(호환도 잘 안되더라). 처음 정했던 블로그 플랫폼은 별 생각 없이 티스토리에 만들려고 했다. 근데 언젠가 정책 바뀐 이후로 부정적인 여론의 글이 많더라. 대충 찾아보다가 티스토리에는 안 만들기로 했다.

그리고 좀 찾아보니까 워드프레스라는게 좀 유명하던데 이건 블로그 운영하는데 돈이 들어가는거 같았다(잘 모름ㅋㅋ). 아마 달에 몇 만원 정도 나가는거 같던데(잘 모름ㅋㅋ). 어쨌든 블로그 만드는데 돈 들이긴 싫었다.

그래서 조건을 정했다.

  • 노션에 쓰면 그대로 블로그에 발행될 것
  • 서버비 0원 (관리할 서버 없음)
  • ddaogi96.com 은 내가 1년 구독으로 $10에 샀다 (귀여운듯😽)

[블로그 홈 화면]

image.png

나는 보통 노션, 엑셀, PPT에 정리를 하는 편이다. 그리고 보통 정리해둔걸 잘 못 찾는다. 또 다른 이유는 내가 정리한 소소한 것들을 다른 사람들에게 공유해보고 싶었다.

그리고 하나 더, 이 블로그는 AI 코딩 에이전트(Claude Code)로 만들었다. 결정과 삽질은 내가, 손은 AI가. 그 과정을 이 시리즈에 그대로 남긴다.

결과부터

지금은 이렇게 굴러간다. 노션 게시글 관리 페이지(노션DB)에 글 쓰고 → 상태를 발행 대기로 바꾸면 → 매시 정각에 자동으로 blog.ddaogi96.com에 올라간다. 이미지도 붙여넣기만 하면 알아서 저장된다. 서버는 한 대도 없다.

전체 구조

Notion 게시글 관리 DB
   │  (매시 정각, Cloudflare Cron이 깨움)

GitHub Actions  (Notion API → notion-to-md)
   │  글·이미지·카테고리·사이트설정을 .md / .json 으로 변환·커밋

Cloudflare Workers  (Astro 정적 빌드 + 자산 서빙)
   +
Cloudflare D1  (익명 댓글 저장)

한 줄 요약: 노션에 쓰면 → GitHub Actions가 변환·커밋 → Cloudflare가 빌드·배포.

스택과 고른 이유

  • Astro (정적 사이트) — 서버가 필요 없고 빠르다. 글은 빌드 때 HTML로 굳는다.
  • Cloudflare Workers — 무료 티어, 커스텀 도메인(유료), 크론·DB(D1)까지 한 곳에서 해결.
  • Notion을 CMS로 — 이미 쓰던 도구다. DB·페이지·이미지 붙여넣기로 글쓰기가 끝난다. 따로 관리자 페이지를 만들 이유가 없었다.
  • GitHub Actions — 노션→마크다운 변환을 대신 돌린다. (내 PC엔 Node조차 안 깔려 있어서 변환을 클라우드에 맡겼다.)

안 잃어버리게 만든 것들

글이지만 유실·꼬임은 싫었다.

  • 이미지: 노션 이미지 링크는 시간 지나면 만료된다 → 만료되면 블로그 자동 발행 시점에 이미지가 안올라간다 → 발행 시점에 내려받아 사이트에 박아둔다.
  • 발행일: 비워두면 발행되는 날로 자동 기재. 미래 날짜를 넣으면 그날 예약 발행.

다음 편

구조는 이렇게 단순한데, 진짜 이야기는 삽질이었다. Cloudflare 빌드 캐시가 지운 글을 자꾸 되살리고, 배포할 때마다 비밀 토큰이 증발하고, GitHub 크론은 정각에 안 돌고 밤엔 5시간을 건너뛰었다.

➡️ 2편 — 삽질 기록에서 계속.

댓글

익명 댓글입니다. 닉네임과 내용이 저장되며, 서로 존중하는 표현을 부탁드려요. 부적절하거나 광고성 댓글은 예고 없이 삭제될 수 있습니다.