리액트 공부를 하다가 왜 CSR은 SEO가 취약하다고 하는지 궁금해졌다.
일단 CSR과 SEO부터 알아보자.
CSR (Client Server Rendering)
- DOM을 사용하여 브라우저에서 렌더링.
- 정확하게는 브라우저의 자바스크립트를 통해 상호작용하는 방식.
장점
- 사이트 상호 작용 활발.
- 초기 로딩 이후 빠른 웹 사이트 렌더링.
- 자바스크립트 라이브러리 활용 가능.
단점
- 초기 로딩 시간이 걸림.
- 대부분의 경우 추가적인 라이브러리가 필요함.
여기에 SEO가 취약하다는 점이 더 있다.
SEO (Search Engine Optimization)
- 말 그대로 검색엔진 최적화.
- 검색엔진이 웹 페이지의 자료를 수집하거나 순위를 방식에 맞게 웹 페이지를 구성하여, 검색 결과의 상위에 나올 수 있게 하는 행위.
⇒ 결론부터 말하자면 CSR이 SEO가 취약하단건 반은 맞고 반은 틀린 것.
Why?
- 모든 크롤러가 아닌 많은 크롤러들이 JS를 지원하지 않기 때문에 발생한 것.
- 크롤러: 검색엔진 봇.
- Google Bot은 자바스크립트를 지원하기 때문에 CSR에서 SEO가 좋음.
https://searchadvisor.naver.com/guide/seo-advanced-javascript
참조 글을 읽어보면 SPA에서 SEO가 된다고 하더라도 SSR방식을 이용해서 처리하는 것을 권장함.
→ 자바스크립트가 웹페이지 구조결정에 주도적인 역할을 하는데 검색엔진이 수집 및 컨텐츠 해석 과정중, JS의 영향도를 측정하고 해석함. 전통적인 HTML페이지 해석보다 몇 배 이상의 리소스가 필요한 작업.
⇒ SPA사이트라도 HTML의 주요 영역 생성은 검색엔진이 잘 인식할 수 있도록 SSR로 처리하는 것을 권장.
Reference