Next.js로 SSR을 처음 적용하고 SEO를 개선한 경험
팀 프로젝트로 만든 서비스가 검색에 노출이 안 된다는 피드백이 들어왔습니다. SPA로 만들었기 때문에 크롤러가 내용을 읽지 못하는 것이 원인이었습니다.
Next.js로 마이그레이션을 시도했습니다. 페이지 컴포넌트에 getServerSideProps를 추가하여 서버에서 데이터를 받아 HTML로 내려보내는 방식이었습니다. 처음에는 클라이언트에서만 사용하던 localStorage 접근 코드가 서버에서 실행되면서 에러가 발생했는데, 브라우저 API는 클라이언트 사이드 체크를 추가하여 해결했습니다.
적용 후 구글 크롤러가 내용을 읽기 시작했고 검색 결과에 나타나기 시작했습니다. SSR이 모든 상황에 필요한 것이 아니라 검색 노출이나 초기 로딩 속도가 중요한 페이지에 선택적으로 사용하는 것이 맞다는 것을 배웠습니다. 그 경험이 렌더링 방식을 맥락에 따라 선택하는 시각을 만들어주었습니다.