ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SPA(Single Page Application)로 구성된 웹 앱에서 SSR(Server-side Rendering)이 필요한 이유.
    원티드 프리온보딩 2022. 9. 24. 15:22

     이전 1번 문제에서 SEO에 대한 문제를 언급했듯이, SPA 사이트들은 검색 엔진 최적화에 무력해 사용자들에게 노출될 기회가 적어집니다. 따라서, 설계한 어플리케이션 서비스가 폐쇄적인 특정 소수만이 사용하는 서비스가 아니라 널리 노출되어 높은 인지도를 갖게 하려면 SEO에 대한 처리가 필수적입니다.

     

     SEO는 검색 엔진 최적화를 의미하는데, SEO에 이슈가 발생한다면 구글 같은 검색 엔진에서 우선순위에 밀려날 수 있습니다. 이렇게되면 잠재적 소비자들에게 어플리케이션 서비스를 노출할 기회가 적어지게 됩니다. 가장 유명한 검색 엔진인 구글을 예시로 들어보겠습니다. 구글 크롤러는 임의적으로 사이트를 방문한 다음 그 사이트에서 링크가 걸린 사이트로 계속 이동을 하면서 각 사이트의 html 문서의 텍스트 노드와 문서 제목, 메타 데이터 등의 정보를 수집합니다. 그리고 그 정보를 분석, 분류해 데이터베이스에 저장하는데 이를 인덱싱이라고 합니다. 만약, 구글 검색 사용자가 특정 정보를 검색하기 위해 검색창에 키워드를 입력하면 이 인덱싱된 사이트들 중에 키워드와 얼마나 접점을 가지는지 여부와 부가적인 우선순위를 고려하여 검색 결과로 반환하는 것입니다. 여기서 서버에 저장된 html 문서에 아무 내용이 없는 SPA 어플리케이션은 크롤러가 접근, 분류하기 어렵기 때문에 자연스럽게 SEO에 대한 문제를 가질 수 밖에 없게 됩니다. 따라서 이러한 사이트들은 SEO를 위해 서버에 저장된 html 파일에서 미리 크롤러가 긁어갈 수 있는 컨텐츠를 작성해야 할 필요가 생긴 것이 SSR 방식이 필요한 주요 이유입니다.

     

     이러한 이유 외에 SPA사이트가 가지는 특징인 비동기를 통한 데이터 요청 시, 완전하지 않은 사이트(요청한 데이터를 받기 전에 임시로 보여주는 컨텐츠 등)를 보여준다는 것도 SPA의 한계라고 볼 수 있습니다. 사실 이 부분은 클라이언트와 서버가 물리적으로 분리되어있고 극한의 초고속 네트워킹이 사용될 수 없는 일반적 브라우저 환경에서는 어쩔 수 없는 부분이지만, 전통적인 SSR 방식처럼 한 번에 완성된 페이지를 반환받는 경험을 사용자들이 원하게 되는 것도 SSR 방식이 최근들어 다시 각광 받는 이유일 것입니다.

     

    -----------------

     

    이 글은 원티드 프리온보딩 첼린지 사전 과제를 위해 작성한 글입니다.

     

    개인적으로 공부하면서 정리한 글이라 틀린 부분이 있을 수 있습니다.

     

    틀린 부분은 지적해주시면 감사하겠습니다.

Designed by Tistory.