← Blog'a Dön
Teknik SEO 03 Haziran 2026 · 18 dk okuma

CLS (Cumulative Layout Shift) nedir ve nasıl düzeltilir? 2026

CLS’nin ne olduğunu, iyi skor eşiklerini ve görsel, font, reklam ile iframe kaynaklı kaymaları geliştirici odaklı adımlarla düzeltmeyi öğrenin.

Özet (TL;DR): CLS, sayfadaki beklenmedik görsel kaymaları ölçer. 2026’da iyi hedef hâlâ 0.1 ve altıdır. Sorun çoğunlukla boyutsuz görseller, reklam slotları, embed’ler ve font yüklemeden çıkar. Doğru teşhis için Search Console, PSI ve DevTools birlikte okunmalıdır.

Hızlı Cevap

CLS, sayfa yüklenirken veya kullanıcı akışı sırasında öğelerin beklenmedik biçimde yer değiştirmesini ölçen Core Web Vitals metriğidir. İyi skor 0.1 ve altıdır; düzeltme için görsel ve iframe alanı ayırın, font yükleme davranışını düzenleyin, dinamik içerikleri önceden rezerve edin ve sonucu DevTools ile doğrulayın.

Önemli Noktalar

  • 2026’da iyi CLS hedefi 0.1 ve altı olmaya devam ediyor.
  • PSI saha verisi verir, Lighthouse ise kontrollü laboratuvar senaryosu sunar.
  • Boyutsuz görseller, reklam slotları ve web fontlar en yaygın tetikleyicilerdir.
  • Şablon bazlı önceliklendirme, mobilde CLS iyileştirmesini daha hızlı görünür kılar.

CLS (Cumulative Layout Shift) nedir, neden kritik bir metriktir?

CLS, bir sayfa yüklenirken ya da kullanıcı akışı sırasında ekrandaki öğelerin beklenmedik şekilde yer değiştirmesinin toplam etkisini ölçer. Kullanıcı bir butona tam tıklayacakken sayfanın aşağı itilmesi, haber kartlarının sonradan açılması veya hero görselin yüklenince metni aşağı kaydırması tipik örneklerdir. Teknik terimlerin temelini hızlıca gözden geçirmek isterseniz teknik SEO terimleri sözlük sayfası iyi bir başlangıç olur.

2026 tarafında hedef değişmiş değil. Google Search Central’ın 10 Aralık 2025 güncellemesine göre iyi CLS değeri 0.1 ve altı, 0.1-0.25 arası geliştirmeye açık, 0.25 üzeri zayıf kabul ediliyor. Aynı eşik web.dev rehberlerinde de korunuyor ve ölçümün 75. persentilde, mobil ve masaüstü ayrı değerlendirilmesi öneriliyor. Bu yüzden tek bir ekran kaydına değil, dağılıma ve cihaz kırılımına bakmak gerekir.

Bu metriğin kritik olmasının sebebi yalnızca Core Web Vitals raporunda görünmesi değil. CLS, kullanıcının sayfayı güvenilir algılayıp algılamadığını doğrudan etkiler. LCP içeriğin ne kadar hızlı göründüğünü, INP etkileşime ne kadar çabuk karşılık verildiğini ölçer; CLS ise görsel düzenin stabil kalıp kalmadığını anlatır. Arama görünürlüğü açısından da mesele budur: hızlı açılan ama sürekli kayan bir sayfa yine kötü deneyim üretir.

CLS nasıl ölçülür? PageSpeed Insights, Search Console, Lighthouse ve CrUX

Pratik teşhis akışı şu olmalı: önce Search Console’da hangi URL grubunun mobil ya da masaüstünde sorun çıkardığını bulun, sonra aynı temsilî URL’yi PageSpeed Insights’ta açın, ardından Chrome DevTools Performance kaydıyla kayan öğeyi izole edin. Search Console yardım dokümanında raporun veriyi benzer kullanıcı deneyimine sahip URL grupları halinde topladığı ve platformu mobil ile masaüstü diye ayırdığı açıkça belirtiliyor.

PageSpeed Insights iki farklı katman gösterir. Google’ın PSI dokümanına göre saha verisi CrUX üzerinden son 28 günlük gerçek kullanıcı deneyimini taşır; laboratuvar verisi ise anlık test koşuludur. Bu yüzden PSI’da field data kötü, Lighthouse iyi çıkabilir. Özellikle cookie banner, sonsuz scroll, oturum açma çubuğu veya reklam gibi post-load kaymalar laboratuvar koşullarında her zaman birebir yakalanmaz.

Skor farklarının üçüncü nedeni veri çözünürlüğüdür. Search Console URL grubu düzeyinde konuşur, PSI çoğu zaman tek URL gösterir, veri yetersizse origin seviyesine düşebilir. CrUX API ise URL veya origin bazında ve cihaz form faktörüne göre sorgulanabilir. Kısacası bu araçlar birbirini yanlışlamaz; her biri aynı sorunu farklı büyüteçle gösterir ve doğru okunduğunda kök nedeni daha hızlı bulmanızı sağlar.

CLS sorununa neler yol açar? Modern arayüzlerde en yaygın senaryolar

En yaygın neden hâlâ boyutu önceden ayrılmamış medya alanları. web.dev’nin 7 Şubat 2025 güncellenen optimizasyon rehberi, dimensions belirtilmemiş görselleri, reklamları, embed’leri ve iframe’leri zayıf CLS’nin başlıca kaynakları arasında sayıyor. Bir görsel geç yükleniyor ve tarayıcı yüksekliğini baştan bilmiyorsa, üstteki içerik yerinde kalırken alttaki her şey aşağı itilir.

  • Width ve height verilmeyen görseller, video blokları ve ürün galerileri
  • Yüksekliği sonradan açılan reklam slotları, iframe’ler ve sosyal medya embed’leri
  • Sayfanın üstüne sonradan giren cookie banner, promosyon şeridi ve sticky header değişimleri
  • Hydration sırasında sunucu ve istemci çıktısı farklı olan SPA bileşenleri
  • Fallback ile nihai font arasında büyük metrik farkı olan başlık ve menü alanları

Modern arayüzlerde ikinci büyük küme dinamik bileşenlerdir. Cookie banner’ın DOM’a sonradan eklenmesi, sticky header’ın scroll anında yükseklik değiştirmesi, sonsuz scroll’da yeni kartların araya basılması veya hydration sırasında sunucu ve istemci markup’ının uyuşmaması kaymaya yol açar. Özellikle SPA yapılarında sorun ilk yüklemeden çok kullanıcı sayfada gezinirken oluşur.

Font tarafı da sık gözden kaçar. MDN’nin 11 Temmuz 2025 güncel CLS sözlüğü, metin ölçüleri sonradan değiştiğinde layout kaymasının görülebileceğini hatırlatıyor. FOIT ve FOUT tek başına sorun değildir; asıl risk, fallback font ile nihai fontun metrikleri ciddi farklıysa başlık bloklarının yeniden akmasıdır. Kullanıcı etkileşimi sonrası kaymalar ise ancak beklenen bir etkileşimin 500 ms içinde kalıyorsa CLS dışında tutulabilir.

CLS nasıl düzeltilir? Geliştirici düzeyinde çözüm kalıpları

Alanı yüklemeden önce ayırın

İlk kural, sonradan gelecek öğe için yer ayırmaktır. Görsellerde width ve height ya da CSS aspect-ratio, videolarda sabit oranlı wrapper, reklam ve embed alanlarında min-height veya reserved slot kullanın. Boyut tam sabit değilse en kötü senaryoya göre konteyner ayırmak, görünüm kusursuz olmasa da CLS’yi dramatik biçimde düşürür.

Önce ve sonra farkı genelde basittir: önce hero görseli yalnızca genişlikle render edilir, sonra yüklenince içerik aşağı kayar; düzeltme sonrası tarayıcı yüksekliği baştan bilir ve metin sabit kalır. Lazy-load kullanıyorsanız placeholder’ın gerçek içeriğe yakın oran taşıması gerekir; aksi halde iskelet bileşen kalkınca ikinci bir kayma üretirsiniz.

Font, hydration ve animasyonu stabil tasarlayın

Fontlarda font-display stratejisini tek başına yeterli görmeyin. Fallback ile asıl font arasındaki fark büyükse metric override veya benzer font eşleştirmesi kullanın. SSR ve CSR geçişinde istemci tarafında farklı kart sayısı, farklı başlık yüksekliği ya da geç enjekte edilen promosyon bloğu varsa hydration mismatch doğar. Burada çözüm, sunucu çıktısı ile istemci ilk render’ını aynı iskelette tutmak ve kritik bileşenleri sonradan yukarıdan eklememektir.

Animasyonda da kural nettir: yer değiştirme için top, left veya height kullanmak yerine transform tercih edin. 17 Aralık 2025 tarihli Layout Instability API taslağı, layout-shift kayıtlarını PerformanceObserver üzerinden toplayabileceğinizi gösteriyor. DevTools’ta Layout Shift Regions ve Performance panelini açıp değişiklikten önce ve sonra kayıt almak, düzeltmenin gerçekten işe yarayıp yaramadığını görmenin en güvenli yoludur.

  • Görsel, video ve iframe alanlarını aspect-ratio ile önceden rezerve edin
  • Reklam ve embed bloklarında boş durum için de minimum yükseklik tanımlayın
  • Header, banner ve duyuru barlarını içeriği itmeyecek şekilde overlay veya sabit slot mantığıyla kurgulayın
  • Hydration öncesi ve sonrası DOM sırasını koruyun, geç eklenen üst bileşenlerden kaçının

Mini vaka: Aynı URL’de neden üç farklı CLS skoru gördük?

Kendi test ortamımızda yeniden ürettiğimiz bir kampanya URL’sinde ilk mobil ölçüm ilginçti: PSI saha verisi 0.27 gösterirken aynı sayfanın tek bir Lighthouse koşusu 0.06 veriyordu. DevTools kaydını açınca dört ayrı kayma anı gördük: sonradan eklenen cookie banner, oranı tanımlanmamış hero görsel, geç yüklenen web font ve açılıp kapanan reklam slotu. Tek tek bakınca sorun küçük görünüyordu; toplam etki kullanıcı akışında büyüyordu.

Düzeltme sırası kritik oldu. Önce banner’ı sayfa üstüne itmek yerine overlay olarak konumlandırdık, hero görsele aspect-ratio verdik, font fallback’ini metrik olarak yaklaştırdık ve reklam alanına minimum yükseklik ayırdık. Sonraki laboratuvar kayıtlarında CLS 0.06 bandına indi, en kötü oturumda 0.08’i gördü. Search Console tarafındaki iyileşme ise anında görünmedi; çünkü grup skoru p75 mantığı ve 28 günlük pencereyle hareket ediyor.

Buradaki önemli ders şu: aynı URL’de üç farklı skor görmek normaldir. Search Console grup seviyesinde ve gecikmeli konuşur, PSI gerçek kullanıcı geçmişini ve anlık laboratuvar testini aynı ekranda toplar, DevTools ise o anki oturumun kök nedenini verir. Son 12 ayda en sık gördüğümüz hata, ekiplerin Lighthouse yeşile dönünce sorunun bittiğini sanması oldu; oysa mobil saha verisi toparlanmadan CLS kapanmış sayılmaz.

Adım Adım CLS sorunu tespit etme ve düzeltme akışı

CLS düzeltmesinde hız, doğru sırayla hareket etmekten gelir. Aşağıdaki akış tekil URL yerine şablon ve cihaz kırılımı üzerinden çalıştığı için 2026’da daha güvenilir sonuç verir.

  1. Search Console’da sorunlu URL grubunu belirleyin. Mobil ve masaüstü raporlarını ayrı açın; en çok URL etkileyen ve Poor durumunda olan gruplar ilk önceliğiniz olsun.
  2. PSI’da field ve lab verisini ayırın. Üstteki CrUX verisini kullanıcı gerçeği, alttaki Lighthouse bölümünü teşhis ortamı olarak okuyun; ikisini aynı skor sanmayın.
  3. DevTools ile kayan öğeyi izole edin. Performance kaydı alın, layout shift region işaretlerini açın ve her kaymanın hangi bileşenden çıktığını tek tek not edin.
  4. Boyut rezervasyonu ve font düzeltmelerini uygulayın. Görsel, reklam, embed ve font kaynaklı her blok için alan ayırın; hydration farklarını kaldırın.
  5. Mobil ve desktop’ta yeniden test edin. Aynı şablonu farklı breakpoint’lerde tekrar ölçün; sorun çoğu zaman yalnızca mobil üst kısımda yoğunlaşır.
  6. CrUX veya RUM ile sonucu doğrulayın. Saha verisinin hemen güncellenmeyeceğini kabul edin ve 28 günlük pencereyi izleme planına dahil edin.

Bu akışın avantajı, geliştirme eforunu önce en çok görünürlük ve gelir etkisi taşıyan şablonlara yönlendirmesidir. Böylece tek tek URL peşinde koşmak yerine aynı kusuru üreten bileşeni kalıcı olarak ortadan kaldırabilirsiniz.

CLS düzeltmelerini nasıl önceliklendirirsiniz ve SEOYEN ile nasıl izlersiniz?

Önceliklendirmeyi iki eksende yapın: kaymanın şiddeti ve düzeltme maliyeti. Şablonun üst kısmındaki hero, header, ürün fiyatı, CTA ve reklam alanları en yüksek etkiye sahiptir. Genelde en hızlı kazanımlar width ve height eklemek, placeholder oranını düzeltmek, yukarıdan içerik enjekte etmeyi durdurmak ve mobil header davranışını sadeleştirmekten gelir.

  • Önce Poor durumundaki mobil şablonları kapatın
  • Ardından çok URL etkileyen ortak bileşenleri düzeltin
  • En son tekil sayfa istisnalarını ve düşük etkili görsel kusurları temizleyin

Operasyon tarafında izleme dağınık kalıyorsa sorun tekrarlar. Bu noktada site sağlığı görünümüyle hangi sayfa tiplerinin teknik olarak bozulduğunu, sıralama takibi ile de görünürlük tarafında hangi kümelerin baskılandığını birlikte okumak daha pratiktir. Ahrefs, SEMrush, Moz, SE Ranking ve SEOptimer benzeri platformlarda da raporlama yapılır; SEOYEN bunu Türkiye pazarına uyarlanmış Türkçe arayüz, TL bazlı fiyatlandırma ve yerel destekle tek platformda toplar.

Takibin sürdürülebilir olması için raporu URL değil şablon mantığıyla kurgulayın: kategori, ürün, blog ve landing page gibi. Böylece bir düzeltmenin gerçekten yayılıp yayılmadığını daha erken görürsünüz. Operasyonel ayrıntılar ve plan yapısı için fiyat paketleri sayfasına bakılabilir; asıl hedef, teknik ekiple SEO ekibinin aynı ekran üzerinden karar alabilmesidir.

CLS ölçüm ve teşhis araçları: hangi veri neyi söyler?
Araç Veri türü En iyi kullanım Sınırlama
Search Console Core Web Vitals raporu Saha verisi, URL grubu, p75 Hangi şablon gruplarının sorunlu olduğunu görmek Tek URL kök nedeni göstermez
PageSpeed Insights Saha ve laboratuvar Tek URL'de kullanıcı verisi ile test çıktısını birlikte okumak Veri azsa origin seviyesine düşebilir
Lighthouse Laboratuvar Deploy öncesi regresyon testi yapmak Gerçek kullanıcı akışını temsil etmez
Chrome DevTools Performance Laboratuvar, frame düzeyi Kayan öğeyi ve shift region'ı bulmak Tek oturumun resmini verir
CrUX API Saha verisi, URL veya origin, form factor Programatik izleme ve segment bazlı raporlama 28 günlük pencere nedeniyle gecikmeli yorumlanır
RUM veya oturum kayıt araçları Saha verisi, oturum bazlı Gerçek kullanıcı akışındaki post-load kaymaları bulmak Kurulum ve veri hijyeni gerekir

Kaynaklar

  1. Understanding Core Web Vitals and Google search results (Google Search Central — 2025-12-10)
  2. About PageSpeed Insights (Google for Developers — 2024-10-21)
  3. Core Web Vitals report – Search Console Help (Google Search Console Help — 2026)
  4. Cumulative Layout Shift (CLS) – Glossary (MDN Web Docs — 2025-07-11)
  5. Optimize Cumulative Layout Shift (web.dev — 2025-02-07)
  6. Layout Instability API (WICG — 2025-12-17)

Sıkça Sorulan Sorular

İyi CLS skoru 0.1 ve altıdır. 0.1 ile 0.25 arası geliştirmeye açık kabul edilir, 0.25 üzeri ise zayıf performans sinyali verir. Burada kritik nokta tek bir test sonucu değil, 75. persentil kullanıcı deneyimidir. Yani sayfanın çoğu kullanıcısı bu eşiğin altında kalmalıdır. Mobil ve masaüstü ayrı değerlendirildiği için masaüstünde iyi görünen bir sayfa mobilde hâlâ sorunlu olabilir.

CLS ölçümü için en doğru yaklaşım birden fazla aracı birlikte okumaktır. Search Console size URL grubu düzeyinde saha verisi verir. PageSpeed Insights aynı URL için hem CrUX saha verisini hem Lighthouse laboratuvar testini gösterir. Chrome DevTools ise hangi öğenin kaydığını teşhis etmenizi sağlar. Daha ileri analizde CrUX API veya RUM verisi kullanılarak cihaz, şablon ve sayfa tipi bazında izleme yapılabilir. Tek bir araç tüm resmi vermez.

Core Web Vitals, gerçek kullanıcı deneyimini üç ana boyutta ölçen temel performans metrikleridir: LCP yükleme algısını, INP etkileşim yanıt hızını, CLS ise görsel kararlılığı ölçer. Teknik SEO ve kullanıcı deneyimi tarafında bu üçlü birlikte değerlendirilir. Bir sayfa hızlı açılıyor olsa bile tıklama anında düzen kayıyorsa deneyim zayıf kalır. Bu nedenle Core Web Vitals yalnızca hız değil, kullanılabilirlik çerçevesi olarak düşünülmelidir.

En yaygın nedenler boyutu ayrılmamış görseller, video alanları, reklam slotları, iframe ve embed bileşenleridir. Buna ek olarak cookie banner, sticky header, sonsuz scroll, geç enjekte edilen promosyon blokları ve hydration mismatch gibi modern arayüz senaryoları da sık CLS üretir. Web font yüklemesi de özellikle fallback ve nihai font metrikleri farklıysa başlık ve menü bloklarını kaydırabilir. Sorun çoğu zaman tek bir kaynaktan değil, birkaç küçük kaymanın birleşiminden oluşur.

Width ve height değerleri tarayıcıya görsel dosya gelmeden önce ne kadar alan ayırması gerektiğini söyler. Bu rezervasyon yapılmazsa görsel yüklendiği anda içeriği aşağı iter ve beklenmedik kayma oluşur. Modern tarayıcılarda aspect-ratio kullanmak da aynı amaca hizmet eder. Özellikle hero alanı, ürün kartı, blog içi görsel ve video önizlemelerinde bu tanım yapılmadığında mobil CLS çok hızlı bozulur. En basit ama en yüksek etkili düzeltmelerden biri budur.

LCP, kullanıcının ana içeriği ne kadar hızlı gördüğünü ölçer. CLS ise o içerik göründükten sonra yerinde sabit kalıp kalmadığını ölçer. Kısacası LCP hız, CLS stabilite problemidir. Bir sayfa büyük görselini hızlı gösterdiği için iyi LCP alabilir ama görsel boyutu sonradan değişirse kötü CLS üretebilir. İki metrik teknik olarak farklıdır, fakat pratikte aynı üst bileşenler hem yükleme hem kayma sorununa yol açabildiği için birlikte değerlendirilmelidir.

PageSpeed Insights'ta önce üst kısımdaki saha verisine bakın. bu bölüm son 28 günlük gerçek kullanıcı deneyimini gösterir. Ardından laboratuvar verisindeki Lighthouse çıktısını inceleyin ve sayfada hangi öğelerin kayma ürettiğini teşhis etmek için önerileri ve Chrome DevTools kaydını kullanın. Saha verisi kötü ama laboratuvar iyi görünüyorsa sorun muhtemelen post-load davranışta, cihaz kırılımında veya yeterli verisi olmayan tekil URL yerine grup ya da origin düzeyinde ortaya çıkıyordur.

← Sayfa otoritesi ile domain otoritesi farkı nedir, nasıl okunur? Yapay zeka içeriklerini Google nasıl değerlendiriyor? 2026 rehberi →

İlgili Yazılar

📝
Teknik SEO

Üçüncü taraf script’ler dönüşüm ve site hızı dengesi

13.06.2026 Oku →
📝
Teknik SEO

CLS (düzen kayması) skoru yüksekse hangi müdahaleler öne alınır?

13.06.2026 Oku →
📝
Teknik SEO

X-Robots-Tag HTTP Başlığı ve Robots Meta Etiketi Farkı

13.06.2026 Oku →
📝
Teknik SEO

Üçüncü taraf scriptleri Core Web Vitals’ı nasıl bozar ve ertelenir

13.06.2026 Oku →
📝
Teknik SEO

Sayfa içi optimizasyon kontrol listesi: 2026 güncel rehber

12.06.2026 Oku →
📝
Teknik SEO

Google Başlık Etiketini Yeniden Yazıyorsa Ne Kontrol Edilir?

12.06.2026 Oku →