Core Web Vitals — Performance

Core Web Vitals Core Web Vitals adalah serangkaian metrik yang digunakan Google untuk mengukur pengalaman pengguna di web. Ada 3 metrik utama: 1. LCP —…

Core Web Vitals adalah tiga angka dari Google untuk menilai pengalaman orang memakai halamanmu: seberapa cepat isi utamanya muncul (LCP), seberapa sigap halaman merespons klik (INP), dan seberapa diam tampilannya waktu dimuat (CLS). Bayangin rapor dengan tiga mata pelajaran wajib. Tiap pelajaran punya nilai batas, dan satu nilai merah sudah cukup bikin rapornya gak lulus.

🧪 Tebakan cepat: LCP 2,5 detik, INP 200 ms, CLS 0,1, semuanya tepat di batas good. Lulus atau gak? Jawabannya ada di bagian "Batasnya: good, needs improvement, poor".

Tiga metriknya

INP menggantikan FID (First Input Delay) sejak Maret 2024. FID cuma mengukur jeda sebelum interaksi pertama mulai diproses. INP mengukur semua interaksi, sampai layarnya benar-benar berubah.

Batasnya: good, needs improvement, poor

Metrik Good Needs improvement Poor
LCP maksimal 2,5 detik di atas 2,5 sampai 4 detik di atas 4 detik
INP maksimal 200 ms di atas 200 sampai 500 ms di atas 500 ms
CLS maksimal 0,1 di atas 0,1 sampai 0,25 di atas 0,25

"Maksimal" artinya angka yang tepat di batas masih good. Jadi LCP 2,5 detik, INP 200 ms, dan CLS 0,1 semuanya good. Itu jawaban tebakannya: lulus.

Google gak menilai dari satu kunjungan, tapi dari kunjungan nyata di persentil ke-75 (p75): urutkan semua kunjungan dari yang tercepat, lalu ambil nilai di posisi 75%. Artinya minimal 75% kunjungan harus good supaya halaman dianggap good. Hasil ini dipakai Google sebagai salah satu sinyal ranking di pencarian.

Menilai ketiganya sekaligus

Di latihan, LCP dan INP ditulis dalam milidetik (2,5 detik jadi 2500), dan CLS sebagai angka desimal. Di JavaScript, koma desimal ditulis pakai titik: 0.1.

function gradeMetric(value, goodMax, needsMax) {
  if (value <= goodMax) return "good";
  if (value <= needsMax) return "needs-improvement";
  return "poor";
}

function gradeWebVitals(lcp, inp, cls) {
  const grades = [
    gradeMetric(lcp, 2500, 4000), // LCP dalam ms
    gradeMetric(inp, 200, 500),   // INP dalam ms
    gradeMetric(cls, 0.1, 0.25),  // CLS tanpa satuan
  ];

  if (grades.includes("poor")) return "failed";
  if (grades.every((grade) => grade === "good")) return "passed";
  return "needs-improvement";
}

console.log(gradeWebVitals(3000, 150, 0.05)); // "needs-improvement"
Panggilan LCP INP CLS Hasil
gradeWebVitals(2000, 150, 0.05) good good good "passed"
gradeWebVitals(3000, 150, 0.05) needs-improvement good good "needs-improvement"
gradeWebVitals(5000, 100, 0.05) poor good good "failed"
gradeWebVitals(2500, 200, 0.1) good good good "passed"

Penyebab yang paling sering

Tiap penyebab punya pelajarannya sendiri di jalur ini. Di sini cukup tahu metrik mana yang terkena.

⚠️ Jebakan yang sering ketemu

TL;DR: Core Web Vitals ada tiga: LCP (kapan isi terbesar tampil, good maksimal 2,5 detik, poor di atas 4 detik), INP (seberapa cepat layar berubah setelah interaksi, good maksimal 200 ms, poor di atas 500 ms), dan CLS (seberapa banyak tampilan bergeser, good maksimal 0,1, poor di atas 0,25). INP menggantikan FID sejak Maret 2024. Google menilai di p75 kunjungan nyata. Untuk menilai ketiganya: satu saja poor berarti "failed", semua good berarti "passed", selain itu "needs-improvement", dan angka tepat di batas masih good.

Yang akan kamu pelajari