강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Gyuri Kim님의 프로필 이미지
Gyuri Kim

작성한 질문수

한 입 크기로 잘라먹는 Next.js(v15)

2.16) SSG 4. 폴백옵션 설정하기

SSG의 fallback 옵션

작성

·

85

·

수정됨

0

SSG의 fallback 옵션에 따른 렌더링 방식에 대해 좀 더 구체적으로 알고 싶습니다.

  1. fallback: "blocking"일 때, 빌드 타임에 사전 생성하지 않았던 경로에 대해서, 이후 접속 요청이 들어와 사전 렌더링되고, .next 서버에 저장되는 걸 확인했는데요.
    1) 저장되는 걸 캐싱이라고 이해해도 될까요?


    2) 그러면 그 이후의 요청에서는 더이상 재생성되지 않고, 이 페이지를 클라이언트에게 전달하나요?

  2. fallback: true 일 때, 빌드 타임에 사전 생성하지 않았던 경로의 접속이 들어왔습니다. 그 때, getStaticProps로 불러오는 데이터를 제외하고, 먼저 레이아웃을 내려준다고 이해했습니다. 그리고 추후에 Props만 따로 반환받아 페이지를 렌더링한다고 했는데, 그럼 받은 데이터를 가지고, CSR이 되는 건가요?

  3. 위 상황에서 CSR이 맞다면, 해당 내용은 검색 크롤러가 알아내지 못해 SEO에 불리할 것 같은데요. 아니면 검색 크롤러가 getStaticProps 데이터가 올때까지 기다리고 해당 내용도 반영해서 문제가 없나요?

감사합니다.

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

1-1) 네 저장되는걸 캐싱이라고 보면 됩니다.

1-2) 네 맞습니다. 기존 SSG 페이지와 동일하게 제공됩니다.

2) 네 맞습니다. 실제 렌더링은 클라이언트에서 발생하니 부분적인 CSR이라고 할 수 있겠습니다.

3) 네 맞습니다. 일부 불리할 수 있기 때문에 SEO가 극히 주요한 프로젝트에서는 fallbcak: true 옵션을 사용하지 않기도 합니다.

blocking 이면 데이터까지 채워서 내려주는건데 SEO가 되는것 아닌가요?

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

아 fallback true 옵션을 이야기 한건데 blocking이라고 잘못 적었네요

수정했습니다.

Gyuri Kim님의 프로필 이미지
Gyuri Kim

작성한 질문수

질문하기