Giriş: Kullanıcı Deneyimi ve Sayfa Hızının Resmi Ölçütü
Google'ın sıralama faktörleri arasında en net ve şeffaf ölçülebilen kriterlerin başında Core Web Vitals (Önemli Web Verileri) gelir. Bir web sitesinin hızlı açılması, sayfa yüklenirken öğelerin zıplamaması ve kullanıcının tıklamalarına anında yanıt vermesi hem SEO hem de doğrudan satış dönüşümü için hayati öneme sahiptir.
Özellikle Google'ın FID (First Input Delay) yerine resmi olarak devreye aldığı INP (Interaction to Next Paint) metriği ile birlikte sayfa hızı kavramı tamamen etkileşim odaklı hale geldi.
Bu rehberde LCP, CLS ve INP metriklerini kod seviyesinde nasıl optimize edeceğinizi inceliyoruz.
1. LCP (Largest Contentful Paint) — Yükleme Hızı
Hedef: ≤ 2.5 saniye
LCP, sayfanın görünür alanındaki en büyük görselin veya metin bloğunun ne kadar sürede ekrana geldiğini ölçer.
LCP'yi Düşürmenin Yolları:
- Hero görsellerini AVIF veya WebP formatında optimize edin ve
priority/fetchpriority="high"özelliğiyle yükleyin. - Kritik CSS'i inline olarak verin, render-blocking harici stil dosyalarını engelleyin.
- Sunucu yanıt süresini (TTFB) düşürmek için CDN (Edge Caching) kullanın.
2. CLS (Cumulative Layout Shift) — Görsel Kararlılık
Hedef: ≤ 0.1
CLS, sayfa yüklenirken öğelerin beklenmedik şekilde yer değiştirmesini ve zıplamasını ölçer. Kullanıcı bir butona basacakken reklamın aniden açılıp butonu aşağı itmesi kötü bir CLS örneğidir.
CLS'yi Sıfırlamanın Yolları:
- Tüm görsellere (
img) ve videolara kesinwidthveheightdeğerleri verin veyaaspect-ratioCSS özelliği tanımlayın. - Dinamik yüklenen banner ve reklamlar için önceden sabit yükseklikte yer tutucu (skeleton/placeholder) kutular ayırın.
- Yazı tipleri (fontlar) için
font-display: swapkullanırken sistem fontuyla arasındaki boyut farkınısize-adjustile eşitleyin.
3. INP (Interaction to Next Paint) — Etkileşim Hızı
Hedef: ≤ 200 milisaniye
INP, kullanıcının sayfadaki bir butona, menüye veya sekmeye tıkladığında tarayıcının yeni kareyi ekrana çizene kadar geçen süreyi ölçer. Ağır JavaScript işlemleri tarayıcının ana iş parçacığını (main thread) kilitlerse INP skoru kırmızıya döner.
INP'yi Yeşil Bölgeye Çekmenin Yolları:
- Ağır JavaScript kütüphanelerini kod bölme (code-splitting) ile parçalayın ve yalnızca ihtiyaç duyulan sayfada yükleyin.
- Gereksiz üçüncü taraf izleme script'lerini (tracking pixels, ağır chatbot pencereleri) erteleyin veya kaldırın.
- Uzun süren döngüleri
scheduler.yield()veyarequestIdleCallback()ile mikro parçalara bölün.
