Modern Web'de Core Web Vitals Optimizasyonu: LCP ve INP Rehberi
Google'ın sıralama sinyallerinde artık bir standart haline gelen Core Web Vitals, özellikle 2024 itibarıyla FID'nin yerini alan INP (Interaction to Next Paint) metriği ile yeni bir boyut kazandı. Bu rehberde, LCP (Largest Contentful Paint) ve INP metriklerini optimize etmek için teknik stratejileri ele alacağız.
1. LCP (Largest Contentful Paint) İyileştirme
LCP, sayfanın ana içeriğinin yüklenme hızını ölçer. Genellikle görsel veya büyük bir blok metindir.
- Önceliklendirme: LCP öğesini (genellikle hero görseli)
fetchpriority="high"ile işaretleyin. - Preload: Kritik görsellerinizi
<link rel="preload" as="image" href="..." />ile tarayıcıya önceden bildirin. - Modern Formatlar: WebP veya AVIF formatlarını kullanın ve
srcsetile responsive görseller sunun.
2. INP (Interaction to Next Paint) ve Etkileşim Hızı
INP, kullanıcının etkileşimi (tıklama, tuş basımı) ile ekranın güncellenmesi arasındaki süreyi ölçer. Modern SPA (Single Page Application) yapılarında ana sorun 'Long Tasks' yani uzun süren JavaScript görevleridir.
Çözüm stratejileri:
- JavaScript'i Bölün: Webpack veya Next.js
dynamicimport kullanarak kodunuzu parçalara ayırın. - Main Thread'i Rahatlatın:
setTimeoutveyarequestIdleCallbackkullanarak ağır işlemleri ana iş parçacığından (main thread) ayırın. - Web Workers: Ağır hesaplamaları arka planda çalıştırarak ana iş parçacığını serbest bırakın.
// Örnek: Main thread'i bloklamadan işlem yapma
function performTask() {
setTimeout(() => {
// Ağır işlem burada
console.log('Task executed without blocking UI');
}, 0);
}
Bu optimizasyonlar sadece SEO için değil, kullanıcı tutma oranlarını (retention) artırmak için de kritiktir. Siz projelerinizde INP değerlerini düşürmek için en çok hangi kütüphaneleri veya teknikleri kullanıyorsunuz?