Sahada (field) LCP değeriniz kötü çıktı. Nasıl analiz eder ve iyileştirirsiniz?

Cevap

LCP (Largest Contentful Paint), ekrandaki en büyük içerik öğesinin (genelde hero görsel veya başlık) render edildiği andır; iyi değer 2.5 sn veya altı (75. persentil). Analizde LCP'yi dört alt parçaya ayırıp darboğazı bulurum.

Alt parçaAnlamıTipik çözüm
TTFBSunucunun ilk byte'ı göndermesiCDN, cache, SSR optimizasyonu, redirect'leri kaldırmak
Resource load delayTTFB'den görselin indirilmeye başlamasına kadarGörselin HTML'de keşfedilebilir olması, preload, fetchpriority
Resource load durationGörselin indirilme süresiDoğru boyut, AVIF/WebP, sıkıştırma, CDN
Element render delayİndirildikten sonra çizilmesine kadarRender-blocking CSS/JS'i azaltmak, hydration'ı beklememek

Adımlar

  1. Saha verisi: CrUX / Search Console veya RUM (web-vitals attribution) ile hangi sayfalar, cihazlar ve LCP elemanı sorunlu?
  2. Lab: DevTools Performance panelinde LCP elemanını ve alt parça sürelerini incele (Lighthouse "LCP breakdown").
  3. En büyük parçayı düzelt.

Yaygın hatalar ve düzeltmeler

<!-- LCP görselini lazy load etmek: YANLIŞ -->
<img src="hero.jpg" loading="lazy" />

<!-- Doğru: hemen yükle ve önceliklendir -->
<img src="hero.avif" fetchpriority="high" width="1200" height="600" alt="..." />

<!-- CSS background veya JS ile eklenen görseli tarayıcı geç keşfeder: preload -->
<link rel="preload" as="image" href="hero.avif" fetchpriority="high" />
  • CSR'da LCP elemanı JS çalışmadan oluşmaz: SSR/SSG ile HTML'de gönderin.
  • Kritik CSS'i inline edin, gereksiz render-blocking script'leri defer edin.
  • Web font kullanan metin LCP ise font'u preload edin.
  1. Bundle boyutunu nasıl analiz eder ve küçültürsünüz?OrtaWeb PerformansıFrontend
  2. Çok uzun bir listeyi (on binlerce satır) performanslı nasıl gösterirsiniz?ZorWeb PerformansıFrontend
  3. Bir web sayfasının yükleme performansını nasıl iyileştirirsiniz?OrtaWeb PerformansıFrontend
  4. Core Web Vitals nedir? LCP, INP ve CLS neyi ölçer?OrtaWeb PerformansıFrontend
  5. preload, prefetch, preconnect ve dns-prefetch resource hint'leri arasındaki fark nedir?KolayWeb PerformansıFrontend
  6. Vite ile webpack arasındaki temel fark nedir? Tree shaking nasıl çalışır, neden bazen çalışmaz?OrtaWeb PerformansıFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle