inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Next.js 시작하기(feat. 지도 서비스 개발)

app directory 현황

SSG 페이지 갯수에 관해 질문있습니다.

해결된 질문

257

서창우

작성한 질문수 1

1

안녕하세요, 강의 잘 들었습니다.

SSG 페이지 갯수에 관해서 궁금한 것이 있는데요.
만약에 커뮤니티 사이트 같은 걸 만든다고 하면 엄청나게 많은 글이 생성 될텐데 SEO를 위해 이 페이지 모두 SSG를 적용하면 안될 것 같다고 생각하는데 맞을까요?

그리고 그렇다면 SSR로 모든 페이지를 개발한다고 하면 사용자 경험이 안 좋을 것 같고, SSR은 prefetch도 안되는 것 같은데 속도를 개선하는 방법이 없을까요?

seo next.js ssg

답변 1

0

박용주

안녕하세요 질문 감사합니다.

말씀해주신대로 수만개가 되는 게시글을 모두 프리렌더링하는 것은 비효율적이기 때문에 합리적인 지적이십니다! 다만 Next.js는 이 경우에도 SSG를 적용할 수 있습니다.

getStaticPaths API를 사용할 때, return object의 fallbackfalse 대신 trueblocking을 주면 됩니다. 이렇게 하면 처음 'next build'를 할 때 프리렌더링 되지 않은 페이지라도, 유저가 접근했을 때 프리렌더링을 수행합니다. (최초 유저가 접근할 경우 해당 페이지에 대한 HTML이 만들어지고, 다음 유저부터는 generate 되어 있는 HTML에 바로 접근하는 SSG 방식)

위의 글만으로는 이해가 힘드실텐데, 강의 4-4 'getStaticPaths로 각 매장의 상세 페이지 만들기'의 8분~11분 정도를 보시면 이해가 더 쉬우실 것 같습니다. 관련 공식문서 링크도 첨부해두겠습니다.
(링크: https://nextjs.org/docs/pages/api-reference/functions/get-static-paths#fallback-true)

감사합니다 :)

1

서창우

답변 감사드립니다!

그럼 getStaticPaths에서 return object의 paths를 빈 배열로 하고 fallback을 true로 해 유저가 최초 접근한 경우에만 html을 만들도록 하면 되는 걸까요?

그리고 이런 경우 엄청 큰 커뮤니티 사이트의 경우 서버 용량 문제는 없나요?

1

박용주

넵넵! 그래도 꽤 중요한 게시글 정도는 build할 때 미리 만들어두어도 되고, 없다면 빈배열로 해도 됩니다. 프리렌더링 된 HTML 문서의 용량은 몇십 kb수준이니 서버 용량에 큰 무리가 가진 않을 것 같습니다.

1

서창우

좋은 답변 감사합니다!

API 라우터를 사용해야 하는 경우에 대해

1

150

1

키보드 어떤 거 사용하시나요

1

352

1

next.js 멀티플 런타임 관련해서 질문 올립니다..

1

358

2

아주 기초적인 질문입니다.

1

322

1

서버사이드 렌더링을 할 때, 서버는 어디에 있는 건가요?

1

1170

2

수업을 듣다가 SSR에 관하여..

1

551

2

interface 와 type

1

376

1

엘리맨트들의 자식관계가 어떻게 이렇게 되나 궁금합니다.

1

384

1

onLoad함수 (script태그의 onLoad X)

1

426

1

dynamic에 대한 질문

1

447

1

SSR vs SSG

1

476

2

NoSSR 관련한 질문입니다:)

1

376

1

a tag 질문 !

1

327

2

8분 20초 배포 관련

1

324

2

안녕하세요! 구글 서치 콘솔에 등록하는 도중 다음 오류가 뜹니다

0

2679

2

emotion styles 파일이 빌드시 경고로 뜹니다.

1

438

1

naver map 이 출력되지 않습니다.

1

481

1

페이지에 site맵 존재시 next Link는 csr 처럼 싹가져오게 되나요?

1

264

2

Failed to load resource: the server responded with a status of 404 ()

1

1034

2

VSCode 익스텐션 궁금합니다.

1

356

1

상태관리 질문 있습니다!

1

449

1

swr에 대한 질문입니다. (용어 관련)

1

372

1

swr 질문입니다!

1

337

1

안녕하세요. span 태그의 부모에 display: flex 를 적용하는데 왜 적용되는지 아무리 생각해도 이해가 되지 않아 질문드립니다.

1

680

2