SSG vs SSR vs ISR — 블로그에 어울리는 렌더링 방식 고르기

2025. 7. 2. 09:00·Next.js
728x90
반응형

Next.js는 다양한 렌더링 전략을 지원합니다. Static Generation(SSG), Server Side Rendering(SSR), 그리고 Incremental Static Regeneration(ISR).

하지만 각 방식이 언제, 왜 필요한지는 생각보다 헷갈릴 수 있어요. 이번 글에서는 3가지 렌더링 전략의 차이점과, 블로그에 어떤 방식이 가장 잘 어울리는지 실제 예시와 함께 정리해볼게요.


📦 1. SSG (Static Site Generation)

빌드 시점에 HTML을 생성해서 정적인 파일로 제공하는 방식입니다.

export async function getStaticProps() {
  const posts = await getPosts();
  return {
    props: { posts },
  };
}

장점:

  • 📄 정적 HTML → 빠른 로딩 속도
  • 📦 CDN 캐시로 서버 부담 ↓
  • ✅ SEO에 매우 유리

단점:

  • 🕓 자주 변경되는 데이터 반영 어려움
  • 🔁 새 글 반영하려면 재빌드 필요

블로그 적합도: ⭐⭐⭐⭐⭐ 👉 자주 변경되지 않는 일반적인 블로그에 최적


🌐 2. SSR (Server Side Rendering)

요청이 올 때마다 HTML을 서버에서 동적으로 생성합니다.

export async function getServerSideProps(context) {
  const post = await getPostBySlug(context.params.slug);
  return {
    props: { post },
  };
}

장점:

  • ⏱ 최신 데이터를 항상 반영
  • 🔒 인증 기반 페이지에 유리

단점:

  • 🐢 매 요청마다 서버 렌더링 → 느릴 수 있음
  • 📈 트래픽이 많으면 서버 부담 ↑

블로그 적합도: ⭐⭐ 👉 관리 페이지, 로그인 기반 대시보드 등에 적합


⚡ 3. ISR (Incremental Static Regeneration)

SSG의 장점은 유지하면서, 설정한 시간 간격으로 페이지를 재생성합니다.

export async function getStaticProps() {
  const post = await getPost();
  return {
    props: { post },
    revalidate: 60, // 60초마다 재생성
  };
}

장점:

  • 📄 정적 페이지의 빠른 속도 유지
  • 🔁 주기적인 최신 데이터 반영 가능

단점:

  • ⏳ 최초 요청 시 오래된 데이터일 수 있음

블로그 적합도: ⭐⭐⭐⭐ 👉 블로그에 새로운 글이 자주 올라온다면 최적


📊 비교 요약

구분 SSG SSR ISR
HTML 생성 시점 빌드 시 매 요청 시 빌드 후 일정 간격
속도 🚀 빠름 🐢 느림 🚀 빠름
실시간성 낮음 높음 중간
추천 대상 블로그 로그인 기반 페이지 업데이트 자주 되는 블로그

✅ 마무리하며

렌더링 방식은 단순한 설정이 아니라, 속도, 확장성, UX에 큰 영향을 주는 결정입니다.
블로그라면 일반적으로 SSG 또는 ISR이 가장 이상적이에요.

“글은 정적으로 쓰고, 경험은 동적으로 제공하자.”

728x90
반응형

'Next.js' 카테고리의 다른 글

Notion을 CMS처럼 활용해서 블로그 연결하기  (0) 2025.07.01
구글 애널리틱스 연결해서 트래픽 추적하기  (2) 2025.06.30
포스트 북마크 & 좋아요 기능 추가  (1) 2025.06.29
배포까지 한 번에! — Vercel로 CI/CD 구성하기  (1) 2025.06.28
댓글 기능 추가하기 — Disqus, GitHub Discussion, 자체 API  (3) 2025.06.27
'Next.js' 카테고리의 다른 글
  • Notion을 CMS처럼 활용해서 블로그 연결하기
  • 구글 애널리틱스 연결해서 트래픽 추적하기
  • 포스트 북마크 & 좋아요 기능 추가
  • 배포까지 한 번에! — Vercel로 CI/CD 구성하기
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails N
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다크모드
    캘린더앱
    flutter상태관리
    flutter앱개발
    모바일앱개발
    flutter게시판
    메모앱
    flutterui
    ActiveRecord
    flutter디자인
    Nextjs
    북마크기능
    openweather
    fluttertips
    코드를걷는사람
    개발블로그
    백엔드개발
    Firebase
    table_calendar
    RubyOnRails
    flutter기초
    flutter개발
    Flutter
    UIUX
    UI디자인
    정적사이트
    감성앱
    뉴스앱
    날씨앱
    rails보안
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
SSG vs SSR vs ISR — 블로그에 어울리는 렌더링 방식 고르기
상단으로

티스토리툴바