SEO
- 검색 엔진 최적화는 웹사이트가 검색 결과에 더 잘 보이도록 최적화 하는 과정이다.
- 웹을 크롤링 하면 페이지에서 페이지로 링크를 따라가고, 찾은 컨텐츠의 색인을 생성한다.
- 크게 3가지 방향으로 나눌 수 있다.
1 . 기술적: 마크업을 작성할 때 시맨틱 HTML을 사용한다. 색인하길 원했던 콘텐츠만 크롤러가 긁어갈 것이다.
2 . 컨텐츠 작성: 방문자층에 맞는 언어로 컨텐츠를 작성한다. 이미지와 더불어 텍스트를 사용해, 주제를 이해할 수 있도록 도와야 한다.
3 . 인기도: 다른 유명한 사이트에서 여러분의 사이트로 링크를 했다면 더 많은 트래픽을 받는다.
CSR
- client side rendering
- 최초에 한 번 서버에서 전체 페이지를 로딩하여 보여주고 이후에는 사용자의 요청이 올 때마다, 리소스를 서버에서 제공한 후 클라이언트가 해석하고 렌더링 하는 방식이다. SEO가 어렵다는 단점이다.
SSR
- server-side-rendering
- 모든 템플릿은 서버 연산을 통해서 렌더링하고 완성된 페이지 형태로 응답하는 과정을 서버 사이드 렌더링 이라고 한다.
- 장점은 SEO이다.
SSG
- static-site-generation
- 정적 문서로 충분한 화면이면서 빠른 HTML문서 반환이 필요하다면 SSG방식이다.
- 단점: 이미 pre-rendering된 정적 파일이 있으므로, 서버에서는 단지 그 파일을 클라이언트로 전달해주기만해서 속도는 엄청 빠르다. 하지만 웹 서비스에 존재하는 수많은 페이지들을 전부 정적으로 만들어주기에는 현실적인 문제가 있다.
마무리
- 결론적으로는 조화를 잘 이루는게 중요하다.
- 예를 들어 쇼핑몰을 봤을 때, 각 상품에 대한 정보는 잘 바뀌지 않는 데이터라고 했을 때, 우리는 각 상품에 관한 페이지들을 미리 pre-rendering하여 페이지를 만들어둔다.
- 이 때, 클라이언트가 상품 페이지를 요청할 때, 서버는 단지 파일을 내려주기만 하면 된다.(SSG방식)
- 하지만 해당 페이지에 핵심 데이터가 수시로 바뀌는 거라면 SSR방식을 택하는게 효율적일 것이다.