정적 사이트 로딩 속도 개선 기본

글: beautifulwind · · 성능

페이지가 느리면 내용을 읽기도 전에 방문자가 떠납니다. 정적 사이트는 원래 빠른 편이지만, 이미지 한 장이나 외부 스크립트 하나 때문에 쉽게 느려집니다. 큰 비용 없이 효과가 큰 순서대로 개선 방법을 정리했습니다.

먼저 측정하기

감으로 고치면 엉뚱한 곳에 시간을 쓰게 됩니다. Google의 PageSpeed Insights에 주소를 넣거나 Chrome 개발자 도구의 Lighthouse를 실행하면 Core Web Vitals를 중심으로 한 지표를 볼 수 있습니다.

지표의미'좋음' 기준
LCP (Largest Contentful Paint)화면에서 가장 큰 요소가 표시되기까지 걸린 시간2.5초 이하
INP (Interaction to Next Paint)클릭·입력 후 화면이 반응하기까지 걸린 시간200밀리초 이하
CLS (Cumulative Layout Shift)로딩 중 화면 요소가 예기치 않게 밀려난 정도0.1 이하

모바일 결과를 기준으로 보세요. 데스크톱에서는 빠른데 모바일에서만 느린 경우가 훨씬 많습니다.

이미지 최적화

대부분의 페이지에서 용량의 가장 큰 비중은 이미지입니다.

스크립트 로딩 순서

<head>에 있는 일반 <script src>는 파일을 내려받아 실행할 때까지 화면 그리기를 멈춥니다.

웹 폰트

한글 웹 폰트는 글자 수가 많아 파일이 큽니다. 꼭 필요하지 않다면 운영체제 기본 글꼴(system-ui, Apple SD Gothic Neo, Malgun Gothic)만으로도 충분히 깔끔한 화면을 만들 수 있고, 내려받을 파일이 없으니 가장 빠릅니다. 웹 폰트를 쓴다면 필요한 굵기만 불러오고, font-display: swap으로 폰트를 받는 동안에도 글자가 보이게 합니다.

레이아웃 흔들림 줄이기

글을 읽으려는 순간 위쪽에 무언가 끼어들어 본문이 아래로 밀리는 경험은 매우 불쾌합니다. CLS를 줄이려면 나중에 채워지는 영역의 공간을 미리 확보해야 합니다.

외부 서비스 관리

댓글, 광고, 분석, 채팅 위젯은 각각 여러 개의 추가 요청을 만듭니다. 하나하나는 편리하지만 쌓이면 페이지를 무겁게 만듭니다.

정리

측정 → 가장 큰 원인 하나 개선 → 다시 측정. 이 순서를 반복하는 것이 가장 효율적입니다. 대부분의 정적 사이트는 이미지 크기 조절과 스크립트 로딩 순서만 바로잡아도 '좋음' 범위에 들어옵니다.

댓글