[id].tsx페이지 SEO 관련 질문드립니다.
안녕하세요. 배포 후 SEO 확인 과정에서 이해되지 않는 부분이 있어 질문드립니다.
[id].tsx에서 동적 라우팅을 처리할 때, getStaticPaths를 통해 id=1,2,3에 해당하는 페이지는 빌드 시점에 SSG로 사전 렌더링되도록 설정하였고,
나머지 ID에 대해서는 fallback: true를 사용해 첫 요청 시 SSR처럼 처리되는 것으로 이해했습니다.
또한 강의에서 router.isFallback이 true일 경우, SEO를 고려하여 <Head>에 별도의 메타 정보를 넣어주는 분기 처리를 하신 것으로 알고 있습니다.
저는 이 분기 처리가 필요한 이유가, 해당 시점에는 실제 데이터가 포함된 HTML이 아직 완성되지 않았기 때문에 SEO 검사 도구나 크롤러에 최소한의 메타 정보를 제공하려는 의도라고 이해했습니다.
하지만 실제 배포된 결과를 확인해보니, id=1,2,3 외의 fallback으로 생성된 페이지들조차도
og:image 등 메타 정보가 정상적으로 노출되고 SNS 공유 시에도 커버 이미지가 잘 보이고 있습니다.
이런 경우, fallback으로 생성된 SSR 페이지임에도 불구하고 og 태그가 잘 노출되는 이유는 무엇인지 궁금합니다.
SEO 관점에서 이런 동작이 가능한 이유가 있다면 설명 부탁드립니다.
답변 1
0
안녕하세요 이정환입니다.
여기에는 여러가지 경우가 있을 것 같아요!
1) SSG로 이미 생성을 마친 상태에서 크롤러가 접근했다.
fallback 옵션이 설정되어 실시간으로 생성된 페이지도 한번 생성을 마친 이후에는 서버측에 캐시로 저장되어 SSG와 동일하게 동작합니다. 따라서 한번이라도 해당 경로로 요청이 있었다면 이 페이지의 OG 태그 등의 SEO 정보는 잘 수집됩니다.
2) 외부 서비스의 크롤러의 캐시 이슈
카카오톡이나 페이스북 등의 SNS 서비스는 특정 주소에 대한 OG 정보를 매번 수집하지 않고, 특정 주기로 캐싱 해 둡니다. 따라서 fallback을 적용하기 전 이미 캐싱된 OG 정보가 남아 있을지도 모릅니다! 이를 정확히 확인하시려면 카카오 디벨로퍼 사이트의 Open Graph 디버거에서 캐시 무효화를 진행해보시기 바랍니다.
풀라우트캐시 동작 원리에서 데이터 캐시 관련 질문
0
22
2
next.js 프로젝트
0
27
1
Next.js + Tanstack Query BFF 구조 질문
0
29
2
Next.js 사전렌더링 이해하기 부분
0
33
2
모달 관련 질문
0
42
3
렌더링 관련 질문
0
80
2
중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화
0
64
2
라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.
0
65
2
SSR시 context에 params말고 query를 사용하면 안되나요?
0
75
2
npx prisma db push 시 에러가 뜹니다.
0
94
3
vercel 배포를 실패하였습니다.
0
101
3
Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?
0
57
2
getServerSideProps 함수와 SSR의 관계
0
78
6
없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다
0
61
2
실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.
0
117
2
일반적인 nextjs project architecture에 대하여..
0
90
2
2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?
0
74
2
배포 시 오류 발생
0
90
2
백엔드 서버 오류납니다.
0
83
2
취약점 제거시 nestjs 버전 문제가 생길까요?
0
93
1
eslint.config.mjs 내 rules 어떻게 설정 하나요?
0
107
1
[book]/[id]/page.tsx 모달 띄울 때 성능 하락 현상은 ReviewList를 불러오면서 발생하는 문제 같습니다.
0
63
2
빨간줄 설정
0
77
2
익스텐션 질문
0
61
1





