하지만 CSR로 만든 웹 사이트는 검색 결과로 노출되는 데 불리합니다. 데이터 부분만 쏙 빼놓고 웹 페이지의 뼈대를 불러온 후, 웹 페이지가 표시되면 데이터 부분만 다시 서버에 요청해 화면에 출력하기 때문입니다. 이러면 검색 로봇은 웹 페이지의 내용을 온전히 파악할 수 없습니다. 자바스크립트 코드를 실행하지 않기 때문에 콘텐츠가 빠져 있는 HTML 뼈대만 인식합니다.
표 7-1 SSR과 CSR 비교
구분 |
SSR |
CSR |
동작 과정 |
웹 페이지의 뼈대와 데이터를 한 번에 불러온다. |
웹 페이지의 뼈대만 먼저 불러온 다음 데이터를 불러온다. |
페이지 이동 시 |
웹 페이지의 뼈대와 데이터를 한 번에 불러온다. |
변경이 필요한 부분만 데이터를 불러와 화면에 바꿔치기한다. |
검색 로봇 |
웹 페이지와 데이터를 모두 읽게 된다. |
웹 페이지의 뼈대만 읽게 된다. |
다행히 이 문제의 해결법이 있습니다. 검색 로봇이 요청한 경우 SSR 방식으로 완성된 HTML 파일로 응답하는 것입니다. 따라서 SSR로 구축한 웹 사이트가 느리다면 백엔드 개발자를 찾아가고, CSR로 구축한 웹 사이트가 느리다면 백엔드 개발자와 프론트엔드 개발자를 찾아가면 됩니다.