Core Web Vitals Nedir? LCP, INP ve CLS İçin Pratik Rehber
Core Web Vitals metrikleri, eşik değerleri ve düzeltme yöntemleri. Lighthouse skoru 100 olması neden Core Web Vitals'ı geçtiğiniz anlamına gelmiyor?
Kısa yanıt
Core Web Vitals, Google’ın sayfa deneyimini ölçmek için tanımladığı üç metriktir: LCP (yüklenme), INP (etkileşim yanıt hızı) ve CLS (görsel kayma). Bir sayfanın “geçti” sayılması için üç metriğin de gerçek kullanıcı verisinde 75. yüzdelik dilimde eşiğin altında kalması gerekir.
Eşikler şunlar: LCP en fazla 2,5 saniye, INP en fazla 200 milisaniye, CLS en fazla 0,1. Değerlendirme 28 günlük kayan bir pencereyle yapılır, yani bugün yaptığınız iyileştirme raporlara hemen yansımaz.
Üç metrik neyi ölçüyor
| Metrik | Ne ölçer | İyi | İyileştirilmeli | Kötü |
|---|---|---|---|---|
| LCP (Largest Contentful Paint) | Ekrandaki en büyük içerik öğesinin görünme süresi | 2,5 sn ve altı | 2,5 - 4 sn | 4 sn üstü |
| INP (Interaction to Next Paint) | Kullanıcı etkileşimlerine verilen yanıt gecikmesi | 200 ms ve altı | 200 - 500 ms | 500 ms üstü |
| CLS (Cumulative Layout Shift) | Sayfa yüklenirken içeriğin beklenmedik kayması | 0,1 ve altı | 0,1 - 0,25 | 0,25 üstü |
LCP, kullanıcının “sayfa açıldı” hissettiği anı temsil eder. Genellikle hero görseli, büyük bir başlık veya video posteri ölçülür.
INP, 12 Mart 2024’te FID metriğinin yerini aldı. Aradaki fark önemli: FID yalnızca ilk etkileşimin başlama gecikmesini ölçüyordu. INP ise sayfa ömrü boyunca yapılan tüm tıklama, dokunma ve klavye etkileşimlerini değerlendirir ve etkileşimden sonraki ekran güncellemesine kadar geçen süreyi ölçer. Bu yüzden INP, FID’e göre çok daha zor geçilen bir metrik oldu. FID’i rahatça geçen birçok site INP’de takıldı.
CLS, sayfa yüklenirken butonun yer değiştirmesi ve yanlış yere tıklamanız gibi durumları ölçer. Reklam alanları, geç yüklenen fontlar ve boyutu belirtilmemiş görseller başlıca sebeplerdir.
En kritik nokta: Lighthouse skoru 100 olması Core Web Vitals’ı geçtiğiniz anlamına gelmez
Bu, Antalya’daki SEO denetimlerimizde en sık karşılaştığımız yanlış anlama. Ajanslar ekran görüntüsü paylaşıyor, yeşil 100 rakamı görünüyor, ama site Search Console’da hâlâ “iyileştirilmeli” durumunda.
İki ayrı sebebi var.
Sebep 1: Lighthouse performans skoru INP’yi hiç içermez
Lighthouse, tarayıcıda simüle edilmiş bir yükleme yapar ve tek bir sayfa açılışını ölçer. Ancak INP, kullanıcının sayfayla etkileşime girmesini gerektirir. Otomatik bir test kimse tıklamadan bu metriği üretemez.
Lighthouse bunun yerine Total Blocking Time (TBT) adında bir vekil metrik kullanır. TBT, ana iş parçacığının ne kadar süre bloke olduğunu gösterir ve INP ile ilişkilidir ama aynı şey değildir. Menü açılışı, filtreleme, sepete ekleme gibi etkileşimlerdeki gecikmeler TBT’ye yansımayabilir.
Yani skorunuz 100 olabilir ve INP’niz kötü olabilir. Çelişki yok; iki farklı şey ölçülüyor.
Sebep 2: Lighthouse laboratuvar verisidir, Google saha verisini kullanır
| Laboratuvar verisi (lab) | Saha verisi (field) | |
|---|---|---|
| Kaynak | Lighthouse, PageSpeed Insights’ın alt bölümü, DevTools | Chrome User Experience Report (CrUX) |
| Nasıl toplanır | Sabit cihaz ve ağ ayarlarıyla simülasyon | Gerçek Chrome kullanıcılarının ölçümleri |
| Kapsam | Tek sayfa yüklemesi | 28 günlük gerçek ziyaretler |
| INP içerir mi | Hayır | Evet |
| Sıralamada kullanılır mı | Hayır | Evet |
| Ne işe yarar | Hata ayıklama, neden-sonuç bulma | Gerçek durumu görme |
Laboratuvar verisi değersiz değil; sorunu teşhis etmek için en iyi araç. Ama karnenizi laboratuvar vermiyor. Karne CrUX’tan geliyor ve CrUX gerçek kullanıcıların cihazlarını, mobil şebekelerini, eski telefonlarını içeriyor.
PageSpeed Insights’a bir adres girdiğinizde sayfanın üst kısmındaki “Gerçek kullanıcı deneyimi verileri” bölümü saha verisidir. Alt kısımdaki skor ve öneriler laboratuvardır. Bakılması gereken önce üst bölümdür.
Küçük sitelerde CrUX verisi çoğu zaman hiç oluşmaz
CrUX, anlamlı bir örnekleme ulaşmak için yeterli sayıda gerçek ziyaret gerektirir. Günlük birkaç yüz ziyaretçi alan bir yerel işletme sitesinde ne sayfa düzeyinde ne de çoğu zaman kaynak (origin) düzeyinde veri oluşur. PageSpeed Insights’ta “Bu sayfa için yeterli gerçek kullanıcı verisi yok” uyarısını görürsünüz.
Bu durumda ne yapmalı?
- Laboratuvar verisini yol gösterici olarak kullanın, ancak mutlak doğru saymayın.
- Test ayarlarını gerçekçi yapın: mobil cihaz, yavaşlatılmış ağ.
- Kendi ölçümünüzü toplayın. Sitenize
web-vitalskütüphanesini ekleyip gerçek ziyaretçilerin metriklerini kendi analitiğinize gönderebilirsiniz. Küçük sitelerde saha verisi elde etmenin tek yolu budur. - Search Console’daki Core Web Vitals raporu da CrUX’a dayandığı için boş kalabilir. Bu, siteniz iyi demek değildir; veri yok demektir.
Her metrik için somut düzeltme listesi
LCP nasıl düşürülür
- LCP öğesini tespit edin. Chrome DevTools’ta Performance panelinde hangi öğenin ölçüldüğü işaretlenir. Genellikle hero görselidir.
- Hero görseline
fetchpriority="high"verin ve bu görsele lazy loading uygulamayın. En sık yapılan hata, tüm görsellere topluloading="lazy"eklemektir; bu, LCP öğesini geciktirir. - Görseli modern formatta (WebP veya AVIF) ve gerçek gösterim boyutunda sunun. 3000 piksel genişliğinde bir fotoğrafı 800 piksellik alana koymak yaygın bir israftır.
- Sunucu yanıt süresini (TTFB) kısaltın: önbellekleme, CDN, gereksiz yönlendirme zincirlerinin temizlenmesi.
- Kritik CSS’i satır içine alın, geri kalanını erteleyin. Render’ı bloke eden harici stil dosyaları LCP’yi doğrudan geciktirir.
- Web fontlarında
font-display: swapkullanın ve font dosyalarınıpreloadedin.
INP nasıl düşürülür
- Üçüncü taraf scriptleri gözden geçirin. Chat widget’ı, ısı haritası aracı, birden fazla piksel ve etiket yöneticisi üzerinden eklenmiş unutulmuş etiketler ana iş parçacığını en çok meşgul eden kalemlerdir.
- Uzun JavaScript görevlerini bölün. 50 milisaniyeden uzun süren görevler etkileşimi geciktirir.
- Etkileşim sonrası işleri geciktirin: kullanıcı tıkladığında önce görsel geri bildirim verin, ağır hesaplamayı sonraki kareye bırakın.
- Gereksiz DOM boyutunu azaltın. Binlerce düğüm içeren sayfalarda her düzen hesaplaması pahalıya gelir.
- Kullanılmayan JavaScript’i kaldırın. Tema veya eklenti paketleriyle gelen, sitede hiç kullanılmayan kütüphaneler yaygındır; bu noktada siteyi yenilemek tek tek optimizasyondan hızlı sonuç verebilir.
- Menü, filtre, sepete ekle gibi gerçek etkileşimleri elle test edin. INP’yi bozan şey genellikle ilk yükleme değil, bu etkileşimlerdir.
CLS nasıl düşürülür
- Tüm görsel ve video etiketlerine
widthveheightverin veya CSSaspect-ratiokullanın. - Reklam ve gömülü içerik alanlarına sabit yükseklik ayırın.
- Çerez banner’ı, duyuru çubuğu ve bildirim kutusunu içeriğin üstüne iterek değil, üzerine bindirerek gösterin.
- Font yüklenmesinden kaynaklanan kaymayı azaltmak için yedek font metriklerini ayarlayın (
size-adjust,ascent-override). - İçeriği JavaScript ile sonradan sayfanın üstüne eklemekten kaçının.
Core Web Vitals sıralamayı ne kadar etkiler
Kısaca: etkiler, ama içeriğin yerini almaz. Google’ın konuya dair açıklamalarının ortak noktası şu: sayfa deneyimi bir sıralama sinyalidir, ancak alakalı ve kaliteli içeriğin önüne geçmez. Kötü hızlı bir sayfa, iyi yavaş bir sayfayı geçmez.
Buna rağmen üzerinde çalışmaya değer, çünkü etkisi yalnızca sıralamayla sınırlı değil. Yavaş açılan bir sayfada kullanıcı beklemez. Mobil şebekede açılmayan bir teklif formu doldurulmaz. Bu kayıp, sıralamadan bağımsız olarak gerçekleşir.
Öncelik sırası şöyle olmalı: önce sayfa gerçekten açılsın ve dizine girsin, sonra içerik doğru soruyu cevaplasın, sonra hız iyileştirilsin.
Merak edilenler
İyileştirmeyi yaptım, ne zaman görünür? Saha verisi 28 günlük kayan pencere kullandığı için tam etki yaklaşık dört hafta sonra oturur. İlk hareketler birkaç gün içinde görülmeye başlayabilir.
Mobil ve masaüstü ayrı mı değerlendiriliyor? Evet, CrUX verisi cihaz türüne göre ayrılır. Çoğu sitede mobil değerler masaüstünden kötü çıkıyor ve trafiğin çoğu mobilden geldiği için asıl bakılması gereken oradır.
PageSpeed Insights skorum her ölçümde değişiyor, normal mi? Laboratuvar testinde normal. Test edilen makine, ağ koşulları ve o anki sunucu yükü sonucu değiştirir. Bu yüzden tek bir skoru hedef almak yerine saha verisine bakın.
WordPress’te önbellek eklentisi kurmak yeter mi? Kısmen. Önbellekleme sunucu yanıt süresini iyileştirir, dolayısıyla LCP’ye yardım eder. INP’yi ise genellikle iyileştirmez, çünkü sorun tarayıcıda çalışan JavaScript’tir. Eklenti ve tema sayısını azaltmak daha etkili olur.
Üç metriğin ikisi iyi, biri kötü. Geçmiş sayılır mıyım? Hayır. Bir URL’nin geçmiş sayılması için üç metriğin de eşiği karşılaması gerekir.
Sitenizin gerçek kullanıcı verisinde nerede takıldığını ölçüp önceliklendirmek isterseniz arama motoru optimizasyonu çalışmalarımızda performans denetimi teknik SEO ile birlikte yürütülüyor. Saha verisi oluşmayan sitelerde önce kendi ölçümünüzü kurmak gerekiyor.
Mevzuat ve platform kuralları değişebiliyor. Bir hata gördüğünüzü düşünüyorsanız yazın, düzeltelim. Hukuki ve mali konularda bu sayfa genel bilgi verir; kendi durumunuz için avukatınıza veya mali müşavirinize danışın.