피드로 돌아가기
How I Improved Lighthouse Performance on My Portfolio Without Killing the Visual Experience
Dev.toDev.to
Frontend

LCP 최적화 및 렌더링 단계 분리를 통한 Mobile Lighthouse 점수 향상

How I Improved Lighthouse Performance on My Portfolio Without Killing the Visual Experience

Amit kumar2026년 6월 9일2intermediate

Context

시각적 경험과 성능 지표 간의 상충 관계로 인한 디자인 훼손 가능성 존재. 특히 Mobile 환경에서 고해상도 자산 로드와 과도한 JavaScript 실행으로 인한 LCP 저하 및 Hydration 병목 현상 발생.

Technical Solution

  • next/imagesizes 속성 정밀 설정을 통한 Mobile 전용 최적화 이미지 서빙으로 네트워크 페이로드 감소
  • LCP 외 이미지의 priority 태그 제거를 통한 초기 렌더링 시 네트워크 리소스 경쟁 완화
  • Toast, Analytics 등 비핵심 Layout Helper의 로딩 시점을 Browser Idle 상태 이후로 미루는 Delayed Client Enhancement 패턴 적용
  • Framer Motion의 Lazy-loading 활용 및 JS 애니메이션의 Pure CSS 전환을 통한 메인 스레드 부하 경감
  • 정적 배경 이미지 선제시 후 인터랙티브 레이어를 후속 로드하는 Progressive Enhancement 구조 설계
  • 개별 변경 사항에 대한 Lighthouse 반복 측정을 통해 Layout Shift 방지 및 Critical Path 최적화 검증

1. Mobile Viewport에 맞는 `sizes` 속성을 정의했는지 확인

2. Viewport 외 이미지에 `priority` 속성이 남용되지 않았는지 검토

3. 비핵심 JS 라이브러리를 Idle 시점에 로드하도록 스케줄링

4. 복잡한 JS 애니메이션을 CSS Animation으로 대체 가능한지 분석

5. 화려한 배경 효과를 정적 자산에서 동적 자산 순으로 단계적 렌더링

원문 읽기