본문 바로가기
카테고리 없음

내가 만든 홈페이지, Lighthouse 90점 이상 달성 비법 (Core Web Vitals 최적화 실전 방법)

by 지존대가 2025. 10. 25.

 내가 만든 홈페이지, Lighthouse 90점 이상 달성 비법 (Core Web Vitals 최적화 실전 방법)

 

"내가 만든 홈페이지 왜 이렇게 느리지?"
몇 달간 밤새워가며 정말 열심히 만들었는데,
방문자들이 3초도 못 기다리고 휙 나가버리면 진짜 힘 빠지잖아요.
저도 딱 그 심정이었습니다.

처음 제 사이트 라이트하우스(Lighthouse) 점수를 보고
두 눈을 의심했어요. 새빨간 50점대라니...
이건 단순히 숫자가 낮은 걸 넘어서,
구글이 "당신 사이트는 사용자 경험이 좋지 않아요"라고
직접 말해주는 경고등이었죠.

'대체 뭐가 문제일까?' 파고들기 시작했고,
모든 길은 결국 '코어 웹 바이탈'로 통하더군요.
그런데 막상 해결책을 찾아보니 너무 어려운 용어뿐이었어요.

그래서 제가 직접 몸으로 부딪히면서 알아낸,
비전공자나 초보자도 바로 따라 할 수 있는 실전 비법만
아낌없이 눌러 담아봤습니다.
이 글 하나로 여러분의 사이트도 90점 이상으로 재탄생할 거예요! 

 


🚀 코어 웹 바이탈, 대체 그게 뭔데?

최적화를 시작하기 전에 딱 3가지만 알면 돼요.
복잡하게 생각할 필요 전혀 없습니다.
구글이 우리 사이트를 평가하는 핵심 기준,
바로 코어 웹 바이탈(Core Web Vitals)입니다.

이 3가지가 사이트 속도와 사용자 경험의 전부라고 해도
과언이 아니에요. 식당에 비유해 볼까요?

 

 

💡 코어 웹 바이탈 3총사 (식당 비유)

1️⃣ LCP (Largest Contentful Paint): 메인 요리가 얼마나 빨리 나오는가? (로딩 속도)
2️⃣ INP (Interaction to Next Paint): 직원을 불렀을 때 얼마나 빨리 반응하는가? (반응 속도)
3️⃣ CLS (Cumulative Layout Shift): 식사 중에 테이블이 흔들리지 않는가? (시각적 안정성)

 

 

어떤가요? 훨씬 이해가 쉽죠?
구글은 이 3가지 경험이 좋은 사이트를 더 높이 평가하고,
검색 결과 상단에 노출시켜 줍니다. SEO에도 직결되는 거죠.
내 사이트 점수는 'PageSpeed Insights'에서 누구나 무료로 확인할 수 있어요.

 

 


💡 LCP 잡기: 이미지 최적화가 8할!

LCP 점수가 낮게 나왔다면, 90%는 이미지 때문입니다.
특히 웹사이트 첫 화면을 멋지게 장식하는 크고 아름다운
배경 이미지가 주범인 경우가 정말 많아요.

저도 처음엔 4K 화질 원본 이미지를 그대로 올렸다가
LCP가 5초가 넘게 나오더라고요. 방문자가 다 떠나갈 시간이죠.
하지만 몇 가지 간단한 작업만으로 1초대로 확 줄일 수 있었어요. 

 

 

 

📋 이미지 최적화 필수 체크리스트

차세대 포맷(WebP) 사용하기: JPG, PNG보다 용량이 20~30% 더 가벼운 WebP 포맷으로 변환하세요. 'Squoosh' 같은 무료 온라인 툴을 쓰면 드래그 한 번으로 끝나요.

이미지 크기 맞추기: 실제 화면에 보이는 영역이 800px인데 4000px짜리 이미지를 올리는 건 낭비예요. 딱 맞는 크기로 줄여서 업로드하는 게 핵심입니다.

지연 로딩 (Lazy Loading): 화면에 바로 보이지 않는 스크롤 아래쪽 이미지들은 나중에 로딩되도록 설정하세요. HTML `` 태그에 `loading="lazy"` 속성 하나만 추가하면 마법처럼 적용됩니다.

솔직히 위에 3가지만 해도 점수가 확 오르는 게 보일 거예요.
가장 쉽고, 효과가 가장 강력한 방법이니 무조건 해보세요!


 

 

🔧 CLS 잡기: '깜빡임'과 '밀림' 현상 막기

 

웹서핑하다가 버튼을 누르려는 순간!
갑자기 광고가 뿅 나타나면서 버튼이 아래로 밀려나
원치 않는 광고를 클릭한 경험, 다들 있으시죠?

이게 바로 CLS, 즉 '레이아웃 밀림' 문제입니다.
사용자 입장에서는 정말 짜증 나는 경험 1순위죠.
이건 보통 이미지, 동영상, 광고처럼 나중에 로딩되는 요소들의
공간을 미리 지정해주지 않아서 생기는 문제입니다. 

 

 

⚠️ CLS를 유발하는 흔한 실수들

• 이미지, 비디오 태그에 `width`와 `height` 값을 지정하지 않은 경우
• 웹 폰트가 뒤늦게 적용되면서 글자 모양이 바뀌고 전체 레이아웃이 밀리는 경우
• 광고나 팝업처럼 동적으로 삽입되는 콘텐츠의 공간을 미리 확보하지 않은 경우

 

 

해결책은 의외로 정말 간단합니다.
"자리가 예약되어 있으니 비워두세요!"라고 브라우저에게
미리 알려주기만 하면 되거든요.

 

💻 CLS 방지 핵심 코드

<!-- ❌ 나쁜 예: 크기 지정이 없어 이미지가 로드되면 레이아웃이 밀림 -->
<img src="my-image.jpg" alt="설명">

<!-- ✅ 좋은 예: 가로/세로 크기를 지정해 공간을 미리 확보함 -->
<img src="my-image.jpg" width="600" height="400" alt="설명">

 

이미지 태그에 `width`와 `height`를 적어주는 습관!
이것 하나만으로도 대부분의 CLS 문제는 마법처럼 해결됩니다. 

 

 


⚡ INP 잡기: 버벅거림 없는 반응 속도 만들기

INP는 사용자가 버튼을 클릭하거나 메뉴를 열 때,
사이트가 얼마나 즉각적으로 반응하는지를 측정해요.
클릭했는데 한참 반응이 없으면 "사이트가 멈췄나?" 싶잖아요.

이 버벅거림의 주범은 대부분 무거운 자바스크립트(JS)입니다.
화면 뒤에서 복잡한 계산을 하느라 바빠서
사용자의 클릭에 반응할 여유가 없는 거죠.

 

 

💰 INP 개선을 위한 JS 다이어트

불필요한 JS 코드 제거: 사용하지 않는 오래된 통계 스크립트나 기능, 플러그인은 과감하게 삭제하세요. 코드가 적을수록 빨라집니다.

JS 지연 실행 (defer): 당장 필요하지 않은 스크립트(예: 채팅 상담 봇)는 페이지 로딩이 끝난 후에 실행되도록 하세요. `