GitHub Pages에서 Netlify로 전환하기 — 소스 비공개와 커스텀 도메인

@JavaPark · April 05, 2026 · 7 min read

안녕하세요, 자바파커입니다.

GitHub Pages로 블로그를 운영하면, 소스 코드가 전부 공개됩니다. 글은 공개해도 괜찮은데, 초안이나 설정 파일까지 공개되는 건 좀 꺼림칙하지 않으신가요?

이번 포스팅에서는 GitHub Pages에서 Netlify로 블로그 배포를 전환한 이유와 과정을 공유합니다. 결론부터 말씀드리면 — 소스 비공개가 필요하다면 Netlify가 정답입니다.


왜 전환했나?

GitHub Pages는 훌륭한 무료 호스팅이지만, 한 가지 제약이 있습니다. 무료 플랜에서는 리포지토리가 반드시 public이어야 합니다. 이는 곧 다음을 의미합니다.

공개되는 항목 영향도
발행된 글 내용 어차피 공개 (문제 없음)
마크다운 원본 의도치 않은 복사 가능
작성 중인 초안 미완성 글이 노출됨
blog-config.js 개인 설정 정보 노출
커밋 히스토리 삭제한 글도 이력에 남음

솔직히 개인 블로그라 큰 문제는 아닙니다. 하지만 Netlify는 private 리포지토리와 무료로 연동되기 때문에, 소스는 비공개로 유지하면서 빌드 결과물만 배포할 수 있습니다.


GitHub Pages vs Netlify 비교

항목 GitHub Pages Netlify
가격 무료 무료 (월 300분 빌드)
Private 리포지토리 유료 플랜 필요 무료 지원
CDN 기본 글로벌 CDN
빌드 속도 Actions 경유 (느림) 직접 빌드 (빠름)
PR 미리보기 없음 PR별 미리보기 URL
커스텀 도메인 가능 가능
HTTPS 자동 자동
리다이렉트 불가 _redirects 지원
서버리스 함수 불가 지원
폼 처리 불가 내장 지원
대역폭 100GB/월 100GB/월

개인 블로그 수준에서는 성능 차이가 크지 않지만, 소스 비공개 + PR 미리보기 + 글로벌 CDN이 무료로 제공되는 점이 Netlify의 확실한 장점입니다.


전환 과정

1단계: Netlify 사이트 생성

  1. netlify.com 가입/로그인
  2. Add new siteImport an existing project
  3. GitHub 연결 → 리포지토리 선택
  4. 빌드 설정 입력:
항목
Build command gatsby build
Publish directory public/
  1. Environment variablesNODE_VERSION=18 추가 (Gatsby 5 호환을 위해 필수)
  2. Deploy site 클릭

2단계: 커스텀 도메인 연결

저는 blog.javapark.kr 도메인을 사용하기로 했습니다.

Netlify 대시보드:

  1. Site settings → Domain management
  2. Add custom domain → blog.javapark.kr 입력
  3. Verify → Add domain

DNS 설정 (도메인 관리 업체에서):

타입 호스트
CNAME blog [사이트명].netlify.app

3단계: HTTPS 인증서

DNS 설정이 전파되면 Netlify가 Let's Encrypt 인증서를 자동으로 발급합니다. Domain management → HTTPS 섹션에서 상태를 확인할 수 있습니다. 보통 수분에서 수시간 정도 소요됩니다.

4단계: Gatsby 설정 변경

blog-config.js에서 siteUrl을 새 도메인으로 변경합니다.

// Before
siteUrl: "https://javapark.github.io",

// After
siteUrl: "https://blog.javapark.kr",

이 설정은 사이트맵, RSS 피드, 프로필 이미지 경로 등에 영향을 주므로 반드시 변경해야 합니다.


전환 후 체크리스트

Netlify 배포가 완료된 후 확인해야 할 항목들입니다.

  • 메인 페이지 정상 렌더링
  • 포스트 내 이미지 정상 표시
  • 프로필 이미지 표시
  • 검색 기능 동작
  • RSS 피드 URL 정상
  • 사이트맵 URL 정상
  • Giscus 댓글 시스템 동작
  • Google Analytics 태그 동작
  • HTTPS 인증서 적용 확인

GitHub Pages는 어떻게 하나요?

기존 GitHub Pages와 Netlify를 동시에 운영할 수도 있습니다. 하지만 같은 소스에서 두 사이트를 운영하면 SEO에 불리하므로 (중복 콘텐츠), 하나를 선택하는 것이 좋습니다.

GitHub Pages를 중단하려면:

  1. 리포지토리 Settings → Pages → Source를 "None"으로 변경
  2. 또는 .github/workflows/gatsby.yml 워크플로우를 삭제/비활성화
  3. 리포지토리를 Private으로 전환

FAQ

Netlify 무료 플랜에 빌드 제한이 있나요?

네, 월 300분입니다. Gatsby 블로그 빌드가 보통 25분 정도이므로, 하루에 23번 배포해도 충분합니다. 개인 블로그라면 제한에 걸릴 일은 거의 없습니다.

GitHub Pages에서 Netlify로 전환하면 SEO에 영향이 있나요?

도메인이 바뀌면 검색 엔진이 새 URL을 다시 크롤링해야 하므로, 일시적으로 검색 순위가 변동될 수 있습니다. 기존 도메인에서 새 도메인으로 301 리다이렉트를 설정하면 영향을 최소화할 수 있습니다. 처음부터 커스텀 도메인을 사용했다면 도메인만 CNAME 대상을 변경하면 되므로 SEO 영향이 없습니다.

다시 GitHub Pages로 돌아갈 수 있나요?

네, 언제든 가능합니다. Netlify를 해제하고 GitHub Pages를 다시 활성화하면 됩니다. 소스 코드 자체는 동일하므로 전환 비용이 거의 없습니다.


시리즈를 마치며

이번 시리즈에서는 GitHub 블로그를 운영하면서 마주친 실전 문제들을 다뤘습니다.

  1. GitHub Actions deprecated 에러 해결
  2. 검색 기능 대폭 개선
  3. GitHub Pages에서 Netlify로 전환 (이번 글)

블로그를 만드는 것도 중요하지만, 꾸준히 유지보수하고 개선하는 과정이 진짜 실력을 키워주는 것 같습니다. 여러분의 블로그는 어떤 플랫폼에서 운영하고 계신가요? 댓글로 공유해주세요!

@JavaPark
AI 시대의 개발자 도구, 실전 경험을 공유합니다