Tembel Yükleme

Görsellerin ve iframe'lerin tembel yüklenmesinin Core Web Vitals'ı nasıl iyileştirdiği, loading özelliği, ekran üstü içeriğin tembel yüklenmesinin SEO riskleri ve Googlebot'un ertelenmiş içeriği nasıl işlediği.

İlk yayın tarihi: 2 Tem 2026 · Son güncelleme: 8 Ağu 2026 · Advanced
Diller

Tembel yükleme, ekran dışındaki görselleri ve iframe'leri kaydırma ile görünür hale gelene kadar erteler, başlangıç sayfa ağırlığını azaltır ve Core Web Vitals'a yardımcı olur. Yerel yol, <img> ve <iframe> üzerinde loading="lazy" özelliğidir — JavaScript gerekmez. Büyük hata, kahraman/LCP görselinizi tembel yüklemektir; bu, En Büyük İçerikli Boyamayı geciktirir. Googlebot kaydırmaz veya tıklamaz, bu nedenle kaydırma veya tıklama olayının arkasına gizlenen her şey görünmeyebilir. Doğrudan bir sıralama faktörü değildir — etki Core Web Vitals ve taranabilirlik üzerinden gerçekleşir. Search Console'un URL İnceleme Aracı'nda gerçekte neyin işlendiğini doğrulayın: görsel URL'leri işlenmiş HTML'in src özelliğinde bulunmalıdır.

TL;DR — Tembel yükleme, ekran dışındaki görselleri ve iframe’leri görünüm alanına yaklaşana kadar erteler; bu da ilk sayfa ağırlığını (LCP’ye yardımcı olur) ve başlangıç ana iş parçacığı işini (INP’ye yardımcı olur) azaltır. loading="lazy"/<img> üzerindeki yerel <iframe> özniteliği çoğu JS kitaplığının yerini almıştır; yalnızca lazy ve eager anlamlı değerlerdir (auto kullanımdan kaldırılmıştır). Zarar veren hatalar: LCP/ekran üstü görselini tembel yüklemek (peşinde olduğunuz metriği geciktirir) ve içeriği kaydırma/tıklamanın arkasına gizlemek — Googlebot bunu asla tetiklemez çünkü sayfayla etkileşime girmez. Doğrudan bir sıralama faktörü değildir; etki Core Web Vitals ve taranabilirlik üzerinden geçer. Search Console’un URL İnceleme Aracı’nda görsel URL’lerinin işlenmiş HTML’in src özniteliğinde olduğunu doğrulayın.

Tembel yükleme gerçekte ne yapar

Fikir basittir: her şeyi aynı anda yüklemek yerine, kaynakları yalnızca ihtiyacınız olduğunda yükleyin. Medya açısından yoğun bir sayfada, her görseli ve gömmeyi baştan indirmek, tarayıcıyı ziyaretçinin asla kaydırmayabileceği şeyleri getirmekle meşgul eder — boşuna bant genişliği, bellek ve pil harcar. Ekran dışındakileri ertelemek, ekran üstü içeriğin daha erken boyanmasını sağlar. Martin Splitt, Google’ın Search Off the Record bölümü “Lazy loading demystified” bölümünde tam olarak bu noktaya değindi: amaç, hiçbir şey getirmeyen işten kaçınmaktır, çünkü sayfanın onsuz da iyi olacağı kritik olmayan görseller tarayıcıyı meşgul eder.

Bu, çoğu kişinin peşinde olduğu Core Web Vitals ile bağlantılıdır. Ağ için başlangıçta rekabet eden daha az bayt, Largest Contentful Paint öğesinin daha erken işlenebileceği anlamına gelir. Iframe’ler için — reklamlar, sosyal widget’lar, yorum bölümleri, haritalar — bunları ertelemek, başlangıç sırasında ana iş parçacığı iş yükünü de azaltır; bu yalnızca LCP değil, aynı zamanda Interaction to Next Paint kazancıdır. Google’ın kendi web.dev rehberi, yavaş yüklenen iframe’leri sayfa yükleme sırasında bir INP iyileştirmesi olarak çerçeveler.

Yerel ve JavaScript tabanlı yavaş yükleme

Birkaç yıl önce tarayıcılar, görüntüler ve iframe’ler için yerel bir loading özniteliği kazandı; böylece bir JavaScript API’si bağlamak yerine tüm işi tarayıcıya devredebilirsiniz. Ahrefs’teki JavaScript SEO rehberimde aynı gözlemi yapıyorum: bu yazıyı ilk yazdığımdan beri, yavaş yükleme çoğunlukla JavaScript tabanlı olmaktan tarayıcılar tarafından işlenmeye geçti. Yine de JS tabanlı kurulumlarla karşılaşacaksınız ve görüntüler için bunlar genellikle sorun değildir — kontrol ettiğim şey, gerçek içeriğin (yalnızca görüntüler değil) yavaş yüklenip yüklenmediğidir, çünkü bu kurulumlar içeriğin doğru şekilde alınmamasına neden olanlardır.

Yerel sürüm:

<!-- Below-the-fold image: defer it -->
<img src="gallery-07.jpg" loading="lazy" width="800" height="600" alt="…">

<!-- Off-screen embed: defer it -->
<iframe src="https://www.youtube.com/embed/…" loading="lazy" title="…"></iframe>

Yavaş yüklenen görüntülerde her zaman açık width/height (veya bir en-boy oranı) belirleyin, böylece tarayıcı görüntü yüklenmeden önce alanı ayırır — bu, ertelenen görüntülerle ilgili en büyük düzen kayması riskidir. Ayrılmış boyutlar mutlak bir CLS garantisi değildir: çevreleyen düzen veya duyarlı bir kırpma, görüntü yüklendikten sonra hâlâ değişirse, yine de bir kayma görebilirsiniz; bu nedenle, sabit boyutların tek başına bunu çözdüğünü varsaymak yerine gerçek bir düzen kayması iziyle doğrulayın.

Yavaş yükleme ve iframe’ler bir ayrım daha gerektirir: bir loading="lazy" üzerindeki <iframe> yalnızca yerleştirmenin getirilmesinin ve oluşturulmasının ne zaman gerçekleşeceğini erteler. title’ını, odak davranışını, sandbox’ını, allow/izin politikasını, referrerpolicy’sini, onay işlemesini veya boyutlarını sizin için ayarlamaz — bunlar yine de kendi ilgilerini gerektirir ve bir yerleştirme, yüklenmeye uygun hale geldikten sonra çalışmaya devam edebilir (komut dosyaları, izleme pikselleri, düzen). Ve “kat altı”nın her yerde aynı davrandığını varsaymayın: display: none içeriği, ekran dışı carousel slaytları, dönüştürülmüş öğeler ve iç içe kaydırma kapları, görünüm alanıyla düz bir kat altı öğeden farklı şekilde kesişebilir; bu nedenle eşdeğerlik varsaymak yerine gerçek düzeni ve gezinme kontrollerini test edin.

loading özniteliğinin değerleri

Bugün yalnızca iki değer önemlidir:

  • loading="lazy" — kaynağı görünüm alanına yaklaşana kadar ertele.
  • loading="eager" — hemen yükle, varsayılan davranış. Kat üstü görüntüler hakkında açık olmak için kullan.
Evidence for this claim The native loading attribute supports lazy loading for images and iframes without a JavaScript lazy-loading library. Scope: Browser-level lazy loading behavior; browser heuristics decide the fetch distance. Confidence: high · Verified: web.dev: Browser-level image lazy loading

Eski makalelerde loading="auto" görebilirsiniz — Chrome’da kullanımdan kaldırıldı, bu yüzden ona başvurmayın. Buna gerek yok; özniteliği atlamak size zaten varsayılan (eager) davranışı verir.

“Yakın” ne kadar yakın? loading="lazy" bir ipucudur, yazar tarafından kontrol edilen bir garanti değildir — spesifikasyon, gerçek görünüm alanına yakın kararı tarayıcıya bırakır. Chromium, yavaş bir kaynağı, ona kaydırdığınızda hazır olacak kadar erken getirmeye çalışır ve tetikleme mesafesi tarayıcıya, bağlantı hızına ve kaynak türüne göre değişir; tarayıcılar veya sürümler arasında güvenebileceğiniz veya yeniden üretebileceğiniz sabit bir piksel değeri değildir. Belirli bir “görünüm alanından N piksel önce yükler” sayısını yayınlamayın — veya güvenmeyin; görünüm alanına yakın pencereyi uygulama tanımlı olarak ele alın ve bir sabit varsaymak yerine önemsediğiniz tarayıcı/bağlantı üzerinde bir Ağ iziyle gerçek davranışı doğrulayın.

Yerel yavaş yükleme, duyarlı görsellerle de sorunsuz çalışır: sıradan src ve srcset/sizes seçimine uygulanır, bu nedenle loading="lazy" ekleyerek duyarlı görsel davranışını kaybetmezsiniz. Gerçek URL’yi yalnızca bir data-* özniteliğinde gizleyip daha sonra bir betiğin değiştirmesini bekliyorsanız, yükleme artık o betiğe bağlıdır — işlenmiş HTML’i ve betik başarısız olursa ne olacağını test edin (bununla ilgili daha fazlası Scripts ve Troubleshooting sekmelerinde).

Evidence for this claim Native lazy loading works with ordinary src and responsive srcset/sizes selection; hiding the real URL only in data-* attributes makes loading dependent on script and should be tested in rendered HTML and under script failure. Scope: responsive image fetching and layout Confidence: high · Verified: HTML Standard: img

1 numaralı hata: LCP / ekranın üstündeki görseli yavaş yüklemek

This is the failure I see most, and every source agrees on it. If you lazy-load the hero image — or any image likely to be the LCP element — you’ve told the browser to wait on the single most important pixel for perceived load speed. The browser also can’t lazy-load an image until it knows where the image will sit on the page, so lazy above-the-fold images tend to load more slowly than eager ones. That directly delays Largest Contentful Paint, the metric Google says should resolve within the first 2,5 seconds of load.

Do not lazy-load the observed or likely LCP image; confirm the actual request and paint timing in a trace. Kaynak: Lazy Loading

The eager path discovers the likely LCP image in HTML and starts its request promptly. The lazy path waits for browser loading heuristics before request start. The comparison uses no fixed timing values and notes that actual LCP must be measured.

© Patrick Stox LLC · CC BY 4.0 ·

Splitt, SOTR bölümünde diğer tarafı açıkça ifade etti: olması gereken yerlerde yavaş yükleme kullanmıyorsanız, bu muhtemelen Core Web Vitals’ın bazı yönlerine zarar verir — büyük olasılıkla LCP’ye. Yani bu iki ucu keskin bir kılıçtır. Kural şudur:

  • Olası veya gözlemlenen LCP adayı → hızlı yükleyin (loading="lazy" özniteliğini atlayın veya eager olarak ayarlayın). LCP görselinde fetchpriority="high" kullanmayı düşünün.
  • Ekranın altında → loading="lazy".

Ekranın üstündeki her görsel LCP adayı değildir — gerçek olanı belirleyin (bir Performance izlemesi veya PageSpeed Insights bunu adlandıracaktır) ve her ilk ekran görseline aynı şekilde davranmak yerine istek zamanlamasını doğrulayın. Bunlar ayrı ipuçlarıdır, tek bir ayar değildir: loading="eager" (veya loading özniteliğini atlamak) yalnızca tarayıcının kaynağın keşfini ertelemediği anlamına gelir — bu tek başına getiri önceliğini yükseltmez. fetchpriority, bunun üzerine ayrı, danışma niteliğinde bir ipucudur. Aynı kaynağa <link rel="preload"> ile loading="lazy" eklemek tarayıcıya çelişkili bir niyet gönderir, bu nedenle kombinasyonun beklediğinizi yaptığını varsaymak yerine gerçek ağ şelalesini kontrol edin.

Yaygın anti-desen, sitenin tamamındaki her görsel için yavaş yüklemeyi açmaktır — yaygın bir CMS varsayılanı. Splitt’in belirttiği gibi, her görsel yavaş yüklenirse, hemen görünür olan (veya olması gereken) görseller de yavaş yüklenir; bu da tam olarak kaçınmak istediğiniz durumdur.

Googlebot yavaş yüklenen içeriği nasıl işler

İşte insanları şaşırtan tarama gerçeği: Googlebot kaydırmaz ve tıklamaz. Sayfanızı başsız bir tarayıcıyla işler, ancak onunla etkileşime giren bir kullanıcıyı simüle etmez. Google bunu doğrudan belirtir — önerdiği yavaş yükleme yöntemleri, kaydırma veya tıklama gibi kullanıcı eylemlerine kasıtlı olarak dayanmaz, çünkü Google Arama sayfanızla etkileşime girmez.

Evidence for this claim Google Search does not scroll or click to trigger lazy-loaded content, so implementations should not depend on user interaction and should expose resource URLs in rendered HTML. Scope: Google Search guidance for JavaScript-driven lazy loading. Confidence: high · Verified: Google Search Central: Lazy-load content

Bu nedenle uygulamanızın nasıl yapıldığı önemlidir. Google’ın belgeleri güvenli kabul ettiği üç uygulamayı listeler: görseller ve iframe’ler için tarayıcının yerleşik yavaş yüklemesi, IntersectionObserver API’si (bir polyfill ile) veya verileri görünüm alanına girdikçe yükleyen bir JavaScript kitaplığı. Üçü de görünüm alanı kesişimine dayanır — Googlebot’un asla tetiklemeyeceği bir kaydırma veya tıklama olayına değil.

Yüksek riskli desen, özel veya üçüncü taraf bir JS tembel yükleme kütüphanesidir. Kütüphane hatalı davranırsa ve görsel URL’si src özniteliğine asla ulaşmazsa, Google o görseli basitçe almaz — Splitt, SOTR bölümünde tam olarak bu hata modunu tanımladı. URL orada değilse dizine eklenecek bir şey yoktur. Bu, JavaScript SEO rehberimde belirttiğim şeyle aynıdır: görsel tembel yükleme genellikle sorunsuzdur, ancak tembel yüklenen içerik, dizine ekleme sorunlarının ortaya çıktığı yerdir ve çözüm, Google’ın gerçekte neyi işlediğini kontrol etmektir.

Sonsuz kaydırma farklı bir sorundur

Temel görsel/iframe tembel yüklemeyi sonsuz kaydırma veya sayfalanmış yüklemeyle karıştırmayın. Görselleri ertelemek bir şeydir; kullanıcı kaydırdıkça yeni içerik parçaları yüklemek başka bir şeydir ve kendi mimarisini gerektirir. Google’ın yönergesi: her parçaya kalıcı, benzersiz bir URL verin, içeriği URL başına sabit tutun (?page=12 gibi göreli değerler değil, ?date=yesterday gibi mutlak sayfa numaraları kullanın) ve her parça birincil görünür içerik haline geldikçe görüntülenen URL’yi History API ile güncelleyin, böylece yenilenebilir, paylaşılabilir ve bağlantı verilebilir. Bunu atlarsanız, sonsuz kaydırmanın arkasındaki daha derin içerik asla güvenilir bir şekilde taranamayabilir veya dizine eklenemeyebilir.

Nasıl test edilir

The verification path is the same in Google’s doc and in my own methodology: use Search Console’s URL Inspection Tool and look at the rendered HTML. If your image (or video) URLs appear in the src attribute on the <img>/<video> elements in that rendered HTML, your setup works. Google says this outright — check the rendered HTML to make sure your content is in it. If the URL is missing from src, that’s your problem, and it usually points back to a scroll/click trigger or a broken library.

Tembel yüklenen bir ürün ızgarası için bu varlık kontrolünün ötesine geçin. Sonsuz Kaydırma SEO test matrisini standart ve uzun görünüm alanları, yeni gezinme ve yükleme sonrası yeniden boyutlandırma, eylemsiz ve kademeli kaydırma çalıştırmaları, benzersiz ürün bağlantısı sayıları ve erişilebilirlik ağacı incelemesiyle çalıştırın. Başlatılmış bir sayfayı yeniden boyutlandırmak, son görünüm alanı boyutunda gezinmeye eşdeğer değildir çünkü gözlemciler ve toplu hesaplamalar yalnızca başlangıç sırasında kaydedilmiş olabilir. Evidence for this claim Google Search does not scroll or click to trigger lazy-loaded content, so implementations should not depend on user interaction and should expose resource URLs in rendered HTML. Scope: Google Search guidance for JavaScript-driven lazy loading. Confidence: high · Verified: Google Search Central: Lazy-load content

Ayrıca web performans araçlarınıza da güvenebilirsiniz: PageSpeed Insights, ertelemeniz gereken ekran dışı görselleri işaretler. Ahrefs’teki PageSpeed Insights rehberimde “ekran dışı öğeleri ertele” denetiminin size görselleri tembel yüklemeyi söylediğini belirtiyorum — halihazırda çalıştırdığınız tanılamayı çözüme bağlamanın kullanışlı bir yolu.

Sıralama sinyali dürüstlüğü

Tembel yüklemenin ne olduğu ve ne olmadığı konusunda net olun. Bunu kullanmak doğrudan bir sıralama faktörü değildir ve kullanmamak da bir ceza değildir. Sıralamayla bağlantı dolaylıdır: Core Web Vitals (çoğunlukla LCP, bazen iframe’ler için INP) ve tarama yapılabilirliği üzerinden akar; kötü bir uygulama içeriği gizlerse. Splitt, Core Web Vitals aracılığıyla sıralama etkisini çoğu durumda küçük, dakika düzeyinde bir faktör olarak nitelendirdi. Bu nedenle tembel yüklemeyi kullanıcılarınızın yükleme deneyimi ve temiz dizine ekleme için optimize edin — özniteliğin kendisinden bir sıralama artışı beklediğiniz için değil.

Bu nereye uyuyor

Tembel yükleme, daha geniş web performansı araç setindeki kaldıraçlardan biridir. Kaynak ipuçlarıyla (erken istediğiniz kaynaklar için ön yükleme/ön bağlantı), yazı tipi yükleme stratejisi, önbelleğe alma ve bir CDN ile eşleşir — ve nihayetinde Core Web Vitals aracılığıyla değerlendirilir. İlk görünüm/alt görünüm ayrımını doğru yapın ve mevcut en ucuz kazanımlardan biri olur.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.