유어클래스 웹사이트를 Lighthouse를 통해 성능 검사를 해보면 Performance 부분이 가장 낮게 측정된다.
측정 항목을 보면 Largest Contentful Paint 부분이 가장 시간이 오래 걸리는걸 볼 수 있다.
LCP와 최적화 방안에 대해 알아보자.
LCP는 뷰포트에서 가장 큰 콘텐츠 엘리먼트가 나타나는 시간을 측정한다.
페이지의 주요 내용이 화면에 렌더링이 완료되는 시간을 의미한다.
LCP가 저하되는 일반적인 원인은 다음과 같다.
브라우저가 서버에서 콘텐츠를 받는데 걸리는 시간이 오래 걸릴수록 화면에 렌더링하는데 시간이 더 오래 걸린다.
더 빠른 서버 응답 시간은 LCP를 포함해 모든 페이지 로딩 지표를 직접적으로 향상시킨다.
JavaScript의 스크립트와 CSS의 스타일시트는 LCP를 지연시키는 렌더 블로킹 리소스다.
웹 페이지의 주요 컨텐츠를 빠르게 로딩하기 위해서 중요하지 않은 자바스크립트와 CSS는 지연시킨다.
CSS와 자바스크립트의 블로킹 시간의 증가는 직접적으로 성능 저하를 초래하지만, 다른 많은 타입의 리소스를 로드하는데 걸리는 시간 또한 렌더링 시간에 영향을 미친다.
클라이언트에서 주로 렌더링되는 사이트를 만들고 있다면, 용량이 큰 자바스크립트 번들의 사용이 LCP에 미칠 수 있다.