Web Development

Cara Mengoptimalkan Core Web Vitals Website Bisnis untuk Meningkatkan Peringkat SEO Google

R

Raka Haikal

Tim Teknis Arkatek

·
8 min baca
·
4x dibaca
Ilustrasi Cara Mengoptimalkan Core Web Vitals Website Bisnis untuk Meningkatkan Peringkat SEO Google

Dalam lanskap bisnis digital hari ini, kecepatan website bukan lagi sekadar preferensi teknis, melainkan faktor yang memengaruhi pendapatan bisnis. Google menggunakan Core Web Vitals dalam sistem peringkatnya sebagai bagian dari penilaian pengalaman halaman (page experience). Website yang lambat atau tata letaknya bergeser-geser tidak hanya berisiko kehilangan peluang peringkat, tetapi juga menderita rasio pentalan (bounce rate) yang tinggi dari calon klien.

Panduan ini mengupas cara mengoptimalkan tiga metrik inti Core Web Vitals, termasuk INP yang menggantikan FID, serta cara membaca skornya dengan benar agar usaha optimasi Anda diukur dengan data yang tepat.

Poin Penting / Key Takeaways
  • Core Web Vitals terdiri dari 3 metrik: LCP (kecepatan muat konten utama), INP (responsivitas interaksi), dan CLS (stabilitas visual tanpa pergeseran layout).
  • Google menilai berdasarkan data pengguna nyata (CrUX) pada persentil ke-75 dengan jendela 28 hari. Skor Lighthouse berguna untuk diagnosis, tetapi bukan penilaian yang dipakai Google.
  • Core Web Vitals dipakai sistem peringkat Google, tetapi skor bagus tidak menjamin peringkat teratas karena relevansi konten tetap diprioritaskan.
  • INP menggantikan FID sejak Maret 2024 dan mengukur responsivitas seluruh interaksi sepanjang kunjungan, bukan hanya klik pertama.
  • Gambar LCP sebaiknya langsung ada di HTML awal, tidak di-lazy-load, dan diberi fetchpriority tinggi. Namun TTFB, CSS pemblokir render, dan font juga menentukan LCP.
  • Cantumkan dimensi pada gambar dan sediakan ruang untuk konten dinamis agar CLS mendekati nol.

Memahami 3 Metrik Inti Core Web Vitals Google

Google mengukur pengalaman pengguna nyata (Real User Metrics / CrUX) menggunakan tiga indikator kuantitatif:

  1. LCP (Largest Contentful Paint): Waktu yang dibutuhkan hingga blok teks atau gambar terbesar di viewport selesai dirender. Baik: 2,5 detik atau kurang.

  2. INP (Interaction to Next Paint): Responsivitas antarmuka dari saat pengguna mengeklik, mengetuk, atau mengetik hingga browser selesai memperbarui tampilan berikutnya. Baik: 200 milidetik atau kurang.

  3. CLS (Cumulative Layout Shift): Akumulasi pergeseran tata letak yang tidak terduga selama halaman dimuat dan dipakai. Baik: 0,1 atau kurang.

MetrikBaikPerlu perbaikanBuruk
LCP2,5 detik atau kurang2,5 sampai 4,0 detik> 4,0 detik
INP200 ms atau kurang200 sampai 500 ms> 500 ms
CLS0,1 atau kurang0,1 sampai 0,25> 0,25
DATA LAPANGAN

Cara Core Web Vitals Dinilai

Halaman dinilai baik bila setidaknya tiga perempat kunjungan nyata memenuhi ambang, dihitung terpisah untuk mobile dan desktop. Target: LCP 2,5 detik, INP 200 ms, CLS 0,1.

Persentil ke-75

Cara Membaca Skor: Data Lapangan vs Data Lab

Banyak tim merasa sudah selesai karena skor Lighthouse hijau, padahal Search Console masih merah. Keduanya mengukur hal yang berbeda:

  • Data lapangan (field data): berasal dari pengguna Chrome nyata lewat Chrome User Experience Report (CrUX), dinilai pada persentil ke-75, dan memakai jendela bergulir sekitar 28 hari. Inilah yang dipakai Google dan ditampilkan di laporan Core Web Vitals Search Console. Karena jendela 28 hari, hasil perbaikan baru terlihat sepenuhnya setelah sekitar sebulan.

  • Data lab (Lighthouse): simulasi di satu perangkat dan jaringan tertentu. Sangat berguna untuk diagnosis dan pengujian sebelum rilis, tetapi nyaris tidak dapat mengukur INP karena tidak ada interaksi pengguna selama pengujian.

Alat yang disarankan: laporan Core Web Vitals di Google Search Console (per grup URL), PageSpeed Insights (menggabungkan data lapangan dan diagnosis lab), panel Performance di Chrome DevTools, dan library web-vitals untuk merekam data pengguna nyata di analitik Anda sendiri:

assets/js/vitals.js
JS
1import { onCLS, onINP, onLCP } from "web-vitals";
2
3function sendToAnalytics(metric) {
4 // Kirim ke endpoint analitik Anda
5 navigator.sendBeacon(
6 "/api/vitals",
7 JSON.stringify({
8 name: metric.name,
9 value: metric.value,
10 rating: metric.rating,
11 id: metric.id,
12 }),
13 );
14}
15
16onLCP(sendToAnalytics);
17onINP(sendToAnalytics);
18onCLS(sendToAnalytics);
Merekam LCP, INP, dan CLS dari pengguna nyata dengan library web-vitals.
Core Web Vitals dan Peringkat: Apa yang Sebenarnya Dikatakan Google
Core Web Vitals dipakai oleh sistem peringkat Google dan sangat disarankan untuk dicapai. Namun Google menegaskan bahwa hasil bagus di laporan Search Console atau alat pihak ketiga tidak menjamin halaman berada di peringkat teratas, dan relevansi konten tetap diprioritaskan. Anggap Core Web Vitals sebagai bagian dari pengalaman pengguna yang baik, bukan jalan pintas SEO.

1. Strategi Mengoptimalkan LCP (Largest Contentful Paint)

Kegagalan LCP biasanya berasal dari salah satu dari empat sub-bagian: waktu respons server (TTFB), jeda sebelum resource LCP mulai diunduh, durasi pengunduhan resource, atau jeda sebelum elemen dirender. Untuk TTFB, targetkan di bawah sekitar 800 ms. Identifikasi dulu elemen LCP halaman Anda di PageSpeed Insights atau DevTools, karena elemennya bisa berupa gambar, tetapi juga bisa berupa blok teks. Lalu terapkan langkah berikut:

  • Prioritaskan Muat Gambar LCP: Jangan menerapkan lazy loading pada gambar pertama di layar. Beri petunjuk prioritas tinggi dengan atribut fetchpriority="high". Bila elemen gambar sudah ada di HTML awal, atribut ini biasanya cukup. Gunakan preload hanya bila gambar ditemukan terlambat, misalnya sebagai CSS background atau dirender lewat JavaScript.

  • Gunakan Format Modern dengan Fallback: WebP dan AVIF umumnya menghasilkan berkas yang jauh lebih kecil dibanding JPEG atau PNG dengan kualitas visual yang sepadan, tetapi besarnya penghematan bergantung pada gambarnya. Sajikan lewat elemen picture dengan fallback JPEG, dan sediakan srcset serta sizes agar perangkat mobile tidak mengunduh gambar berukuran desktop.

  • Kecilkan Penghambat Render: CSS dan JavaScript yang memblokir render menunda LCP. Pisahkan CSS kritis, tunda script non-esensial, dan untuk LCP berbentuk teks, pastikan font penting dimuat cepat.

  • Terapkan CDN dan Caching: Sajikan aset statis dan, bila memungkinkan, HTML melalui Content Delivery Network (seperti Cloudflare) agar pengunjung dilayani dari server terdekat.

index.html
HTML
1<!-- Gambar LCP ada di HTML awal: fetchpriority cukup, tanpa lazy loading -->
2<picture>
3 <source
4 type="image/avif"
5 srcset="/assets/images/hero-600.avif 600w, /assets/images/hero-1200.avif 1200w"
6 sizes="100vw"
7 >
8 <source
9 type="image/webp"
10 srcset="/assets/images/hero-600.webp 600w, /assets/images/hero-1200.webp 1200w"
11 sizes="100vw"
12 >
13 <img
14 src="/assets/images/hero-1200.jpg"
15 srcset="/assets/images/hero-600.jpg 600w, /assets/images/hero-1200.jpg 1200w"
16 sizes="100vw"
17 alt="Solusi Pengembangan Software Arkatek"
18 width="1200"
19 height="630"
20 fetchpriority="high"
21 decoding="async"
22 class="w-full h-auto object-cover"
23 >
24</picture>
Gambar LCP dengan format modern, fallback JPEG, srcset responsif, dimensi eksplisit, dan fetchpriority tinggi.

2. Menaklukkan Metrik INP (Interaction to Next Paint)

Banyak developer terkejut ketika skor FID mereka hijau, namun INP mereka merah. Sebabnya, INP mengevaluasi setiap interaksi selama pengguna membuka halaman, bukan hanya klik pertama. Satu interaksi terdiri dari tiga fase: input delay (menunggu main thread bebas), processing time (menjalankan event handler), dan presentation delay (menunggu browser menggambar pembaruan).

Penyebab utama INP buruk adalah Long Tasks, yaitu eksekusi JavaScript yang memblokir main thread lebih dari 50 milidetik. Ketika main thread sibuk memproses script analitik, animasi berat, atau hidrasi frontend yang rakus komputasi, klik pengguna akan terasa membeku (laggy).

  • Pecah tugas panjang: beri kesempatan browser menangani interaksi di sela pekerjaan berat (lihat contoh kode di bawah).

  • Kerjakan yang terlihat dulu: perbarui UI yang dilihat pengguna lebih dulu, tunda pekerjaan berat setelahnya.

  • Audit script pihak ketiga: tag analitik, widget chat, dan tag manager sering menjadi biang utama. Muat secara asinkron atau tunda sampai dibutuhkan.

  • Kecilkan DOM dan hidrasi: DOM yang sangat besar dan hidrasi JavaScript berlebih memperlambat setiap pembaruan tampilan.

  • Pindahkan pekerjaan berat ke Web Worker bila tidak perlu mengakses DOM.

assets/js/yield.js
JS
1function yieldToMain() {
2 // scheduler.yield() tersedia di browser berbasis Chromium. Gunakan fallback untuk lainnya.
3 if (globalThis.scheduler && typeof scheduler.yield === "function") {
4 return scheduler.yield();
5 }
6 return new Promise((resolve) => setTimeout(resolve, 0));
7}
8
9async function processInChunks(items, handleItem) {
10 let lastYield = performance.now();
11
12 for (const item of items) {
13 handleItem(item);
14
15 // Beri kesempatan browser merespons interaksi sekitar tiap 40 ms
16 if (performance.now() - lastYield > 40) {
17 await yieldToMain();
18 lastYield = performance.now();
19 }
20 }
21}
Memecah pekerjaan panjang agar main thread tetap responsif terhadap interaksi.
Cegah INP Buruk dari Script Pihak Ketiga
Audit dan minimalkan pustaka analitik pihak ketiga (third-party tracking scripts). Muat tag manager secara asinkron, tunda widget yang tidak langsung dibutuhkan, dan pindahkan pemrosesan berat ke Web Workers agar thread utama tetap responsif menerima interaksi pengguna.

3. Menekan Pergeseran Tata Letak (CLS) Mendekati Nol

Pernahkah Anda hendak mengeklik tautan, namun tiba-tiba tombol bergeser ke bawah karena iklan atau gambar baru saja selesai dimuat, sehingga Anda mengeklik elemen yang salah? Itulah yang diukur oleh CLS. Untuk menjaga skor CLS mendekati nol:

  • Selalu Cantumkan Dimensi: Sertakan atribut width dan height atau properti CSS aspect-ratio pada gambar, iframe, dan video agar browser langsung memesan ruang sebelum konten diunduh.

  • Cegah Font Jumping (FOUT/FOIT): Gunakan font-display: swap bersama font fallback yang metriknya disesuaikan (size-adjust dan properti override lain) agar peralihan dari font sistem ke webfont tidak mengubah tinggi baris teks. Untuk font yang tidak kritis, font-display: optional bisa menghindari pergeseran sepenuhnya. Preload font penting.

  • Pesan Ruang untuk Komponen Dinamis: Beri tinggi minimum (min-height) pada banner notifikasi, banner cookie, atau slot iklan sebelum kontennya dirender, dan hindari menyisipkan konten baru di atas konten yang sudah tampil.

  • Gunakan transform untuk animasi: animasi memakai transform tidak menggeser tata letak seperti animasi properti top atau height.

assets/css/fonts.css
CSS
1/* Font fallback dengan metrik disesuaikan agar pergantian font tidak menggeser teks */
2@font-face {
3 font-family: "Inter Fallback";
4 src: local("Arial");
5 size-adjust: 107%;
6 ascent-override: 90%;
7 descent-override: 22%;
8 line-gap-override: 0%;
9}
10
11@font-face {
12 font-family: "Inter";
13 src: url("/fonts/inter-var.woff2") format("woff2");
14 font-display: swap;
15}
16
17body {
18 font-family: "Inter", "Inter Fallback", sans-serif;
19}
20
21/* Nilai di atas hanya contoh. Hitung ulang untuk font Anda dengan alat seperti Capsize. */
Font fallback dengan metrik yang disesuaikan untuk mengurangi pergeseran saat font berganti.

Panduan Cepat: Gejala, Penyebab, dan Perbaikan

GejalaPenyebab umumPerbaikan
LCP lambat, TTFB tinggiServer lambat, query berat, tanpa cacheCDN, cache halaman, optimasi query database
LCP lambat, elemen gambarGambar besar, tidak dioptimasi, atau di-lazy-loadFormat modern, srcset, fetchpriority tinggi, tanpa lazy loading pada gambar LCP
LCP lambat, elemen teksFont terlambat atau CSS pemblokir renderPreload font penting, CSS kritis, tunda JavaScript non-esensial
INP burukLong task, script pihak ketiga, DOM besar, hidrasi beratPecah tugas, tunda script pihak ketiga, kecilkan DOM
CLS tinggiGambar tanpa dimensi, font swap, banner atau iklan dinamiswidth dan height atau aspect-ratio, font fallback, min-height

Evaluasi Rendering: Static/SSR vs Client-Side (CSR)

Keunggulan Static Rendering / SSR
  • LCP umumnya lebih cepat karena HTML dasar sudah siap saat diterima browser
  • Crawler mesin pencari membaca konten tanpa perlu mengeksekusi JavaScript
  • Cenderung lebih stabil di perangkat mobile berspesifikasi rendah
Pertimbangan
  • SSR memerlukan server dan caching yang dikonfigurasi dengan baik (edge cache), sedangkan static rendering tidak memerlukan server aplikasi
  • Hidrasi JavaScript yang berat setelah HTML dimuat dapat merusak INP. Pertimbangkan partial hydration atau kurangi JavaScript di sisi klien
  • Setup deployment awal lebih kompleks dibanding sekadar hosting file statis

Hubungan Antara Performa Web dan Arsitektur Backend

Skor Core Web Vitals tidak dapat dipisahkan dari fondasi backend. Jika server atau database Anda membutuhkan waktu lama hanya untuk menyiapkan halaman, waktu itu langsung memakan anggaran LCP. Caching halaman dan CDN dapat menyembunyikan sebagian latensi tersebut, tetapi halaman yang tidak ter-cache tetap bergantung pada backend yang sehat. Bangun fondasinya dengan Panduan Arsitektur Web Modern: Monolith vs Microservices, terapkan optimasi API lewat Tutorial RESTful API Skalabel Laravel & PostgreSQL, dan pelajari diagnosis query lambat di Strategi Optimasi Database.

Alur Audit Core Web Vitals dalam 4 Langkah

  1. Ukur dengan data lapangan: buka laporan Core Web Vitals di Search Console, pisahkan mobile dan desktop, dan lihat grup URL yang gagal.

  2. Diagnosis satu halaman: jalankan halaman bermasalah di PageSpeed Insights dan DevTools untuk menemukan elemen LCP, long task, dan sumber pergeseran layout.

  3. Perbaiki penyebab terbesar dulu: ubah satu hal pada satu waktu agar dampaknya terukur.

  4. Pantau: rekam data pengguna nyata dengan web-vitals, dan tunggu jendela 28 hari agar data lapangan mencerminkan perbaikan. Pasang anggaran performa di pipeline deployment agar plugin atau script baru tidak merusak skor.

SOLUSI TEKNOLOGI ARKATEK

Website Bisnis Anda Lambat atau Gagal di Audit Google Core Web Vitals?

Tingkatkan kecepatan website, pengalaman pengguna, dan rasio konversi Anda bersama tim rekayasa web Arkatek.

Pertanyaan Umum Seputar Core Web Vitals

Apakah Core Web Vitals pasti menaikkan peringkat Google?

Tidak ada jaminan. Google memakai Core Web Vitals dalam sistem peringkatnya, tetapi relevansi konten tetap diprioritaskan, dan skor bagus tidak menjamin peringkat teratas. Manfaat yang lebih pasti adalah pengalaman pengguna yang lebih baik, yang umumnya selaras dengan konversi.

Mengapa skor Lighthouse hijau tetapi Search Console merah?

Lighthouse adalah simulasi lab di satu perangkat, sedangkan Search Console memakai data pengguna nyata pada persentil ke-75. Pengguna Anda mungkin memakai perangkat dan jaringan yang lebih lambat. Dalam kasus seperti ini, data lapangan yang menjadi acuan.

Berapa lama perbaikan terlihat di Search Console?

Data lapangan memakai jendela bergulir sekitar 28 hari, jadi perbaikan baru terlihat sepenuhnya setelah sekitar satu bulan sejak dirilis.

Apakah FID masih menjadi Core Web Vital?

Tidak. INP menggantikan FID sebagai Core Web Vital sejak Maret 2024, dan INP menilai seluruh interaksi, bukan hanya interaksi pertama.

Perlu mengoptimasi mobile dan desktop secara terpisah?

Ya. Penilaian dilakukan terpisah per jenis perangkat. Mulailah dari mobile, karena kondisi perangkat dan jaringannya biasanya lebih menantang.

Kesimpulan

Mengoptimalkan Core Web Vitals bukan sekadar trik mempercantik angka skor pengujian, melainkan investasi jangka panjang untuk kenyamanan pengguna dan keberlanjutan bisnis. Pastikan konten utama cepat muncul (LCP), antarmuka tanggap merespons setiap interaksi (INP), dan tata letak tidak bergeser (CLS), dengan mengukur memakai data lapangan, bukan hanya skor lab. Jika Anda membutuhkan website bisnis yang dibangun dengan performa sebagai fondasi, lihat layanan pembuatan website Arkatek.

Referensi: Understanding Core Web Vitals and Google search results, Web Vitals (web.dev), dan library web-vitals.

R

// DITULIS OLEH

Raka Haikal

Pengembang perangkat lunak & spesialis arsitektur sistem digital di Arkatek. Berfokus pada pembangunan solusi software scalable, otomatisasi sistem bisnis, dan optimasi performa.

// EKSPLORASI TOPIK

Artikel Terkait Lainnya

Lihat Semua Artikel →