Blog
HomePostsTagsCategories
© 2026 Hyeonseok An. All rights reserved.
GitHubEmailInstagram
Home
Develop
Web Vitals - 웹 성능 측정 지표

Web Vitals - 웹 성능 측정 지표

August 15, 2025
Loading...
Web VitalsPerformanceSEOUI/UXNext.jsOptimizeFront-endMonitoringTIL
Cover image for Web Vitals - 웹 성능 측정 지표

웹 성능의 새로운 기준, Web Vitals 완전 가이드

현대 웹 개발에서 성능은 단순히 '빠르다'와 '느리다'의 문제가 아닙니다. 사용자가 실제로 체감하는 경험을 정확히 측정하고 개선할 수 있는 구체적인 지표가 필요했죠. 바로 이런 필요에서 탄생한 것이 Google의 Web Vitals입니다.

Web Vitals란 무엇인가?

Web Vitals는 웹사이트의 사용자 경험을 측정하는 Google의 핵심 성능 지표입니다. 단순히 기술적인 성능만을 보는 것이 아니라, 실제 사용자가 느끼는 경험을 세 가지 핵심 영역으로 나누어 측정합니다.
  • 로딩 성능: 페이지가 얼마나 빨리 유용한 콘텐츠를 보여주는가?
  • 상호작용성: 사용자 입력에 얼마나 빠르게 반응하는가?
  • 시각적 안정성: 페이지 로딩 중 레이아웃이 얼마나 안정적인가?

핵심 지표 Deep Dive

LCP (Largest Contentful Paint) - 로딩 성능의 척도

LCP는 페이지의 메인 콘텐츠가 로딩되는 시간을 측정합니다. 사용자가 "아, 이제 페이지가 로딩됐구나"라고 느끼는 순간을 포착하는 지표죠.
측정 기준:
  • 목표: 2.5초 이하
  • 측정 대상: 가장 큰 텍스트 블록이나 이미지 요소
  • 개선 방법:
    • 이미지 최적화 및 lazy loading 구현
    • 서버 응답 시간 단축
    • 렌더링 차단 리소스 제거

INP (Interaction to Next Paint) - 반응성의 지표

중요 업데이트: 2024년 3월부터 FID가 INP로 대체되었습니다.
사용자가 버튼을 클릭했는데 아무 반응이 없다면? INP는 바로 이런 상황을 측정합니다. 사용자 상호작용에서 다음 화면 업데이트까지의 시간을 나타냅니다.
측정 기준:
  • 목표: 200ms 이하
  • 측정 대상: 클릭, 탭, 키 입력 등 모든 상호작용
  • 개선 방법:
    • JavaScript 실행 시간 단축
    • 코드 분할(Code Splitting) 적용
    • 웹 워커 활용
    • 장기 실행 작업 분할

CLS (Cumulative Layout Shift) - 시각적 안정성

읽고 있던 텍스트가 갑자기 아래로 밀려나거나, 클릭하려던 버튼이 다른 곳으로 이동한 경험이 있으신가요? CLS는 이런 예상치 못한 레이아웃 변화를 수치화합니다.
측정 기준:
  • 목표: 0.1 이하
  • 측정 대상: 페이지 로딩 중 발생하는 레이아웃 이동
  • 개선 방법:
    • 이미지와 광고에 명시적 크기 속성 지정
    • 폰트 로딩 최적화
    • 동적 콘텐츠 삽입 시 미리 공간 확보

실제 구현: Next.js에서 Web Vitals 측정하기

기본 설정

Next.js는 Web Vitals 측정을 위한 built-in 지원을 제공합니다:
// pages/_app.js 또는 app/layout.js export function reportWebVitals(metric) { console.log(metric); // Google Analytics로 전송 gtag('event', metric.name, { custom_parameter_name: metric.value, custom_parameter_id: metric.id, custom_parameter_delta: metric.delta, }); }

세밀한 제어를 위한 web-vitals 라이브러리

더 정교한 측정이 필요하다면 web-vitals 라이브러리를 직접 사용할 수 있습니다:
yarn add web-vitals
import { onCLS, onINP, onLCP } from 'web-vitals'; function handleVitals(metric) { // 실시간 모니터링 대시보드로 전송 fetch('/api/analytics', { method: 'POST', body: JSON.stringify(metric), headers: { 'Content-Type': 'application/json' } }); } onCLS(handleVitals); onINP(handleVitals); // FID 대신 INP 사용 onLCP(handleVitals);

Web Vitals 지표 확인하는 다양한 방법

1. 개발자 도구 활용

Chrome DevTools가 가장 접근성이 좋은 방법입니다:
  • Lighthouse: 종합적인 성능 분석 (실험실 데이터)
  • Performance 탭: 실시간 성능 측정
  • Core Web Vitals 오버레이: 실제 사용자 경험 데이터

2. Google 공식 도구들

  • PageSpeed Insights: 실제 사용자 데이터와 실험실 데이터 모두 제공
  • Search Console: 사이트 전체의 Core Web Vitals 건강도 리포트
  • Chrome UX Report (CrUX): 실제 Chrome 사용자들의 경험 데이터

3. 브라우저 확장 프로그램

Web Vitals Chrome Extension을 설치하면 모든 웹사이트에서 실시간으로 지표를 확인할 수 있습니다. 개발 중인 사이트뿐만 아니라 경쟁사 분석에도 유용합니다.

4. 프로그래밍적 접근

// 콘솔에서 직접 확인 import { onCLS, onINP, onLCP } from 'web-vitals'; onLCP((metric) => { console.log(`LCP: ${metric.value}ms`); }); onINP((metric) => { console.log(`INP: ${metric.value}ms`); }); onCLS((metric) => { console.log(`CLS: ${metric.value}`); });

왜 Web Vitals가 중요한가?

SEO에 미치는 영향

2021년부터 Google은 Core Web Vitals를 검색 순위 결정 요소로 사용하고 있습니다. 아무리 좋은 콘텐츠라도 사용자 경험이 나쁘면 검색 결과에서 뒤로 밀려날 수 있죠.

비즈니스 임팩트

성능이 단순히 기술적인 문제가 아님을 보여주는 실제 연구 결과들:
실제 사례 기반 데이터:
  • Rakuten 24: LCP 개선으로 전환율 61.13% 증가, 방문자당 수익 26.09% 증가
  • Vodafone: LCP 31% 개선으로 매출 8% 증가
  • RedBus: Core Web Vitals 최적화로 모바일 전환율 80-100% 개선
  • Nykaa: LCP 40% 개선으로 T2/T3 도시 유기 트래픽 28% 증가
Google 연구 결과:
  • 모바일 사이트의 53%가 3초 이상 로딩 시 사용자 이탈
  • 페이지 요소가 400개에서 6,000개로 증가하면 전환율 95% 감소
  • 평균 모바일 랜딩 페이지 로딩 시간: 22초 (2017년 기준)

실무에서의 모니터링 전략

지속적인 모니터링 체계

Web Vitals는 일회성 측정이 아닌 지속적인 모니터링이 필요합니다:
  1. 개발 단계: Lighthouse CI로 빌드 시마다 자동 검사
  1. 스테이징: 실제 환경과 유사한 조건에서 성능 테스트
  1. 프로덕션: 실제 사용자 데이터(RUM) 수집 및 분석

알림 시스템 구축

function monitorWebVitals() { onLCP((metric) => { if (metric.value > 2500) { // 성능 저하 알림 sendAlert('LCP threshold exceeded', metric); } }); }

마무리

Web Vitals는 단순한 성능 지표를 넘어서 사용자 중심의 웹 개발 패러다임을 제시합니다. 기술적 완성도와 사용자 경험, 그리고 비즈니스 성과를 하나로 연결하는 다리 역할을 하죠.
중요한 것은 이 지표들을 개선하는 것만이 아니라, 지속적으로 모니터링하고 사용자 경험을 우선시하는 개발 문화를 만드는 것입니다. 결국 우리가 만드는 웹사이트의 진짜 주인은 사용자이니까요.

참고 자료 및 추가 학습

공식 문서

  • Google Search Central - Core Web Vitals - Google 공식 Core Web Vitals 가이드
  • web.dev - Web Vitals - Google의 Web Vitals 상세 문서
  • Next.js Analytics 문서 - Next.js에서 Web Vitals 구현 가이드
  • Search Console Core Web Vitals 리포트 - Search Console 활용법

측정 도구

  • PageSpeed Insights - Google의 성능 측정 도구
  • Web Vitals Chrome Extension - 실시간 Web Vitals 측정
  • Lighthouse - 종합적인 웹 성능 분석

비즈니스 임팩트 연구

  • web.dev - Core Web Vitals 비즈니스 임팩트 - 실제 기업 사례 연구
  • Think with Google - 모바일 페이지 속도 데이터 - Google 모바일 성능 연구
  • Cloudflare - 웹사이트 성능과 전환율 - 성능 최적화 가이드

라이브러리 및 도구

  • web-vitals 라이브러리 - Google의 공식 Web Vitals JavaScript 라이브러리
  • Lighthouse CI - 지속적 성능 모니터링

Tags:Web VitalsPerformanceSEOUI/UXNext.jsOptimizeFront-endMonitoringTIL