이번 글에서는 Lighthouse에서 발생한 "Properly size images" 경고를 해결하며, 이미지 크기 최적화를 통해 렌더링 속도를 높이고자 합니다.
Lighthouse 분석 결과, "Properly size images" 경고가 나타났습니다.
이 경고는 화면에 표시되는 크기보다 원본 이미지 크기가 불필요하게 클 때 발생하며, 그로 인해 로딩 속도 저하가 발생할 수 있습니다.
이를 해결하기 위해서는 필요한 만큼만 리사이즈해 이미지 크기를 줄이면 됩니다.
이미지 최적화 시에는 디스플레이 해상도를 고려해야 합니다.
레티나(고해상도) 디스플레이에서는 선명함을 위해 표시 크기의 2배 해상도로 준비하는 것이 일반적입니다.
예) 메인 페이지에서 80×80으로 보이는 이미지는 160×160으로 준비.
ImageKit이란?
ImageKit은 이미지·동영상을 실시간으로 최적화·변환·전송해주는 미디어 CDN 서비스입니다.
여러 이미지를 동일하게 리사이즈하기 위해 공통 이미지 컴포넌트를 만들었습니다.
export default function ImageKitImg({
src,
width,
height,
alt = '앨범 이미지',
className = '',
}) {
return (
<img
className={className}
src={`https://ik.imagekit.io/${import.meta.env.VITE_IMAGEKIT_ID}/${imagePath}?tr=w-${width},h-${height}`}
alt={alt}
/>
);
}
브라우저가 이미지 URL 을 요청합니다.
https://ik.imagekit.io/[IMAGEKIT_ID]/[이미지 주소]?tr=w-${width},h-${height}`
ImageKit이 원본 저장소에서 이미지를 가져와 실시간으로 리사이즈/최적화합니다.
브라우저는 줄어든 크기로 내려받아 렌더링합니다.
최적화 적용 후 Lighthouse에서 "Properly size images" 경고 문제을 해결 했습니다.
그 결과, 전송 용량을 줄이고 렌더링 속도를 개선할 수 있었습니다.