구글과 네이버와 같은 검색 엔진들은 서버에 등록된 웹이이트들을 하나하나 돌아다니면서, 웹사이트의 HTML을 분석해서 검색엔진에 등록을하게되는데, 위에서 설명했다시피 CSR을 초기에 텅텅빈 HTML을 가지고 있으므로 검색엔진들이 CSR로 작성된 웹페이지를 분석하는데 많음 어려움을 겪고 있음.
CSR과 SSR의 단점을 보완하기위에 고안되었다.
SSG는 빌드를 진행할 때 pages 폴더에서 작성한 각 페이지들에 대해 각가의 문서를 생성해서 static한 파일로 생성한다.
리액트는 CSR에 특화된 라이브러리이지만 Gatsby라는 라이브러리와 함께 사용하면 리액트로 만든 웹 어플리케이션을 정적으로 웹페이지 생성을 미리 해두어서 서버에 배포해 놓을 수 있다. 이렇게 만들어진 웹사이트들은 모드 정적이냐 그런 건 아니다. 추가적으로 데이터를 서버에서 받아오거나 또는 동적으로 처리해야하는 로직이 있다면 자바스크립트 파일을 함께 가지고 있을 수 있기 때문에 동적인 요소도 충분히 추가할 수 있다.
또 Gatsby 다음으로 많이 사용되는 NEXT.JS는 원래는 강력한 SSR을 지원하는 라이브러리였으나 요즘에는 SSG도 지원하고 있다. 또한 CSR과 CSS를 잘 섞어서 조금도 강력하고 유연하게 목적에 맞게 사용할 수 있도록 지원해주고 있다.
참고문헌 : 드림코딩