사용자 경험의 품질을 최적화하는 것은 웹에서 어떤 사이트가든 장기적으로 성공하기 위한 핵심입니다. 비즈니스 소유자, 마케팅 담당자, 개발자 등 누구나 Web Vitals를 통해 사이트 경험을 수치화하고 개선 기회를 파악할 수 있습니다.
개요
웹 바이탈은 웹에서 우수한 사용자 환경을 제공하는 데 필수적인 품질 신호에 대한 통합 가이드를 제공하기 위한 Google의 이니셔티브입니다.
Google은 지난 수년간 실적을 측정하고 보고할 수 있는 다양한 도구를 제공해 왔습니다. 이러한 도구를 사용하는 데 전문가인 개발자도 있고, 여러 도구와 측정항목을 모두 제공하기가 어렵다고 생각하는 개발자도 있습니다.
사이트 소유자가 사용자에게 제공하는 환경의 품질을 이해하기 위해 성능 전문가가 아니어도 됩니다. 웹 바이탈 이니셔티브의 목표는 환경을 간소화하고 사이트에서 가장 중요한 측정항목인 코어 웹 바이탈에 집중할 수 있도록 지원하는 것입니다.
코어 웹 바이탈
코어 웹 바이탈은 웹 바이탈의 하위 집합으로, 모든 웹페이지에 적용되며 모든 사이트 소유자가 측정해야 하며 모든 Google 도구에 표시됩니다. 각 코어 웹 바이탈은 사용자 경험의 고유한 측면을 나타내며, 현장에서 측정 가능하며, 중요한 사용자 중심 결과의 실제 경험을 반영합니다.
Core Web Vitals를 구성하는 측정항목은 시간이 지남에 따라 진화할 것입니다. 현재 테스트에서는 사용자 환경의 세 가지 측면 (로드, 상호작용, 시각적 안정성)에 초점을 맞추고 있으며 다음과 같은 측정항목과 각 기준점이 포함되어 있습니다.
- 최대 콘텐츠 페인트 (LCP): 로드 성능을 측정합니다. 우수한 사용자 환경을 제공하려면 페이지가 처음 로드되기 2.5초 이내에 LCP가 발생해야 합니다.
- 다음 페인트에 대한 상호작용 (INP): 상호작용을 측정합니다. 우수한 사용자 환경을 제공하려면 페이지의 INP가 200밀리초 이하여야 합니다.
- 레이아웃 변경 횟수 (CLS): 시각적 안정성을 측정합니다. 우수한 사용자 환경을 제공하려면 페이지의 CLS를 0.1. 이하로 유지해야 합니다.
사용자 대부분이 이러한 측정항목을 목표로 하는 권장 목표를 달성할 수 있도록 모바일 및 데스크톱 기기별로 분류된 페이지 로드의 75번째 백분위수를 측정하는 것이 좋습니다.
Core Web Vitals 규정 준수를 평가하는 도구는 세 가지 Core Web Vitals 측정항목 모두의 75번째 백분위수에서 권장 목표를 충족하는 경우 페이지 통과를 고려해야 합니다.
<ph type="x-smartling-placeholder">Lifecycle
Core Web Vitals 트랙의 측정항목은 실험용, 대기 중, 안정화의 3단계로 구성된 수명 주기를 거칩니다.
<ph type="x-smartling-placeholder">각 단계는 개발자에게 각 측정항목에 대해 어떻게 생각해야 하는지를 알리도록 설계되었습니다.
- 실험용 측정항목은 잠재적 Core Web Vitals로, 테스트 및 커뮤니티 의견에 따라 아직 큰 변화가 있을 수 있습니다.
- 대기 중인 측정항목은 테스트 및 의견 단계를 통과했으며 안정화되기 위한 타임라인이 잘 정의되어 있는 향후 Core Web Vitals입니다.
- 안정적인 측정항목은 Chrome에서 훌륭한 사용자 환경을 위해 필수적이라고 간주하는 최신 Core Web Vitals입니다.
Core Web Vitals의 수명 주기 단계는 다음과 같습니다.
실험용
측정항목이 처음 개발되어 생태계에 유입되면 실험용 측정항목으로 간주됩니다.
실험 단계의 목적은 먼저 해결해야 할 문제를 탐색하여 측정항목의 적합성을 평가하고, 이전 측정항목이 해결하지 못했던 부분을 반복하는 것입니다. 예를 들어 다음 페인트에 대한 상호작용 (INP)은 처음에 첫 입력 지연 (FID)보다 웹에 존재하는 런타임 성능 문제를 더 포괄적으로 해결하기 위한 실험용 측정항목으로 개발되었습니다.
Core Web Vitals 수명 주기의 실험 단계는 버그를 식별하고 초기 정의의 변경사항까지 탐색하여 측정항목 개발에 유연성을 제공하기 위한 것입니다. 커뮤니티의 의견 제공이 가장 중요한 단계이기도 합니다.
대기 중
Chrome팀에서 실험용 측정항목이 충분한 의견을 받고 그 효과가 입증되었다고 판단하면 대기 중인 측정항목이 됩니다. 예를 들어 INP는 2023년에 FID를 폐기하려는 의도로 실험용에서 대기 중 상태로 승격되었습니다.
생태계에 적응할 시간을 제공하기 위해 대기 중인 측정항목은 최소 6개월 동안 이 단계에서 유지됩니다. 더 많은 개발자가 측정항목을 사용하기 시작하면서 커뮤니티 피드백은 여전히 이 단계에서 중요한 측면으로 남아 있습니다.
정식
Core Web Vitals 후보 측정항목이 확정되면 안정적인 측정항목이 됩니다. 이때 측정항목이 Core Web Vitals가 될 수 있습니다.
안정적인 측정항목은 적극적으로 지원되며 버그 수정 및 정의가 변경될 수 있습니다. 안정적인 Core Web Vitals 측정항목은 1년에 한 번만 변경되지 않습니다. Core Web Vitals의 모든 변경사항은 측정항목의 공식 문서와 측정항목의 변경 로그를 통해 명확하게 전달됩니다. Core Web Vitals도 모든 평가에 포함됩니다.
<ph type="x-smartling-placeholder">Core Web Vitals 측정 및 보고 도구
Google은 Core Web Vitals가 모든 웹 경험에 매우 중요하다고 생각합니다. 따라서 인기 있는 모든 도구에 이러한 측정항목을 표시하기 위해 노력하고 있습니다. 다음 섹션에서는 Core Web Vitals를 지원하는 도구를 자세히 설명합니다.
Core Web Vitals 측정을 위한 필드 도구
Chrome 사용자 환경 보고서는 각 Core Web Vitals에 대해 익명처리된 실제 사용자 측정 데이터를 수집합니다. 이 데이터를 통해 사이트 소유자는 페이지에 대한 분석을 수동으로 계측할 필요 없이 실적을 빠르게 평가할 수 있으며 PageSpeed Insights 및 Search Console의 코어 웹 바이탈 보고서와 같은 도구를 활용할 수 있습니다.
LCP | INP | CLS | |
<ph type="x-smartling-placeholder"></ph> Chrome 사용자 환경 보고서 | |||
<ph type="x-smartling-placeholder"></ph> PageSpeed Insights | |||
<ph type="x-smartling-placeholder"></ph> Search Console (코어 웹 바이탈 보고서) |
Chrome 사용자 환경 보고서에서 제공하는 데이터를 통해 사이트의 실적을 빠르게 평가할 수 있지만 회귀를 정확하게 진단 및 모니터링하고 빠르게 대응하는 데 자주 필요한 페이지 조회당 상세 원격 분석 정보는 제공하지 않습니다. 따라서 사이트에서 자체적으로 실제 사용자 모니터링을 설정하는 것이 좋습니다.
JavaScript에서 Core Web Vitals 측정
각 Core Web Vitals는 표준 웹 API를 사용하여 JavaScript로 측정할 수 있습니다.
<ph type="x-smartling-placeholder">모든 Core Web Vitals를 측정하는 가장 쉬운 방법은 web-vitals JavaScript 라이브러리를 사용하는 것입니다. 이 라이브러리는 기본 웹 API를 둘러싸고 프로덕션에 즉시 사용 가능한 작은 래퍼로, 앞서 나열한 모든 Google 도구에서 측정항목이 보고되는 방식과 정확하게 일치하는 방식으로 각 측정항목을 측정합니다.
web-vitals 라이브러리를 사용하면 단일 함수를 호출하여 각 측정항목을 측정할 수 있습니다 (전체 사용 및 API 세부정보는 문서 참고).
import {onCLS, onINP, onLCP} from 'web-vitals';
function sendToAnalytics(metric) {
const body = JSON.stringify(metric);
// Use `navigator.sendBeacon()` if available, falling back to `fetch()`.
(navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) ||
fetch('/analytics', {body, method: 'POST', keepalive: true});
}
onCLS(sendToAnalytics);
onINP(sendToAnalytics);
onLCP(sendToAnalytics);
web-vitals 라이브러리를 사용하여 Core Web Vitals 데이터를 측정하고 분석 엔드포인트로 전송하도록 사이트를 구성한 후 다음 단계는 해당 데이터를 집계하고 보고하여 페이지가 페이지 방문의 75% 이상에 대해 권장 기준점을 충족하는지 확인하는 것입니다.
일부 분석 제공업체는 Core Web Vitals 측정항목을 기본적으로 지원하지만, 그렇지 않은 분석 제공업체도 핵심 성능 보고서를 측정할 수 있는 기본 맞춤 측정항목 기능을 포함해야 합니다.
한 가지 예로 사이트 소유자가 Google 애널리틱스를 사용하여 Core Web Vitals를 측정할 수 있는 웹 바이탈 보고서가 있습니다. 다른 분석 도구를 사용하여 Core Web Vitals를 측정하는 방법은 현장에서 웹 바이탈 측정을 위한 권장사항을 참고하세요.
웹 바이탈 Chrome 확장 프로그램을 사용하여 코드를 작성하지 않고도 각 Core Web Vitals를 보고할 수도 있습니다. 이 확장 프로그램은 web-vitals 라이브러리를 사용하여 각 측정항목을 측정하고 사용자가 웹을 탐색할 때 이를 표시합니다.
이 확장 프로그램은 광고주의 사이트, 경쟁업체의 사이트, 전반적인 웹의 실적을 파악하는 데 도움이 될 수 있습니다.
LCP | INP | CLS | |
---|---|---|---|
web-vitals | |||
<ph type="x-smartling-placeholder"></ph> 웹 바이탈 확장 프로그램 |
기본 웹 API를 사용하여 이러한 측정항목을 직접 측정하려는 개발자는 구현 세부정보를 위해 다음 측정항목 가이드를 사용할 수 있습니다.
인기 있는 분석 서비스 또는 자체 분석 도구를 사용하여 이러한 측정항목을 측정하는 방법에 대한 추가 안내는 현장에서 웹 바이탈 측정을 위한 권장사항을 참고하세요.
Core Web Vitals를 측정하는 실험실 도구
코어 웹 바이탈은 무엇보다도 필드 측정항목이지만, 그중 다수는 실험실에서도 측정할 수 있습니다.
실험실 측정은 개발 과정에서 사용자에게 출시하기 전에 기능의 성능을 테스트하는 가장 좋은 방법입니다. 성능 회귀가 발생하기 전에 포착하는 가장 좋은 방법이기도 합니다.
다음 도구를 사용하여 실습 환경에서 Core Web Vitals를 측정할 수 있습니다.
LCP | INP | CLS | |
---|---|---|---|
<ph type="x-smartling-placeholder"></ph> Chrome DevTools | TBT 사용) | (대신||
<ph type="x-smartling-placeholder"></ph> 등대 | TBT 사용) | (대신
실험실 측정은 훌륭한 경험을 제공하는 데 필수적인 부분이지만 현장 측정을 대체할 수는 없습니다.
사이트 성능은 사용자의 기기 기능, 사용자의 네트워크 상태, 기기에서 실행 중인 다른 프로세스, 페이지와 상호작용하는 방식에 따라 크게 달라질 수 있습니다. 실제로 각 코어 웹 바이탈 측정항목은 사용자 상호작용에 따라 점수가 영향을 받을 수 있습니다. 현장 측정만이 전체 사진을 정확하게 캡처할 수 있습니다.
점수 개선을 위한 권장사항
다음 가이드에서는 각 Core Web Vitals의 페이지를 최적화하는 방법에 관한 구체적인 권장사항을 제공합니다.
기타 웹 바이탈
코어 웹 바이탈은 우수한 사용자 환경을 이해하고 제공하는 데 중요한 측정항목이지만 다른 지원 측정항목도 있습니다.
이러한 다른 측정항목은 환경의 큰 부분을 캡처하거나 특정 문제를 진단하는 데 도움이 되는 프록시 또는 세 가지 Core Web Vitals의 보조 측정항목으로 기능할 수 있습니다.
예를 들어 첫 바이트까지의 시간 (TTFB) 및 첫 콘텐츠 페인트 (FCP) 측정항목은 모두 로드 환경의 중요한 측면이며 LCP 문제 (각각 느린 서버 응답 시간 또는 렌더링 차단 리소스)를 진단하는 데 유용합니다.
마찬가지로 총 차단 시간 (TBT)과 같은 측정항목은 INP에 영향을 줄 수 있는 잠재적인 상호작용 문제를 포착하고 진단하는 데 중요한 실험실 측정항목입니다. 하지만 현장 측정이 불가능하거나 사용자 중심 결과를 반영하지 않으므로 Core Web Vitals 세트에 포함되지 않습니다.
웹 바이탈 변경사항
웹 바이탈과 코어 웹 바이탈은 개발자가 웹 전반의 경험 품질을 측정하는 데 현재 사용할 수 있는 최상의 신호를 나타내지만, 이러한 신호는 완벽하지 않으며 향후 개선이나 추가가 이루어져야 합니다.
핵심 성능 보고서는 모든 웹페이지와 관련이 있으며 관련 Google 도구에 표시됩니다. 이러한 측정항목을 변경하면 광범위한 영향을 받게 됩니다. 이에 따라 개발자는 Core Web Vitals의 정의와 기준점이 안정적이며, 업데이트가 사전 고지와 예측 가능한 연간 주기를 받을 것으로 기대해야 합니다.
다른 웹 바이탈은 맥락 또는 도구에 따라 다른 경우가 많으며, Core Web Vitals보다 실험적일 수 있습니다. 따라서 정의와 기준은 자주 변경될 수 있습니다.
모든 웹 바이탈의 변경사항은 이 공개 CHANGELOG에 명확하게 문서화됩니다.