Chrome'un ağır reklam müdahalelerini anlama

Yayınlanma tarihi: 22 Eylül 2025, Son güncelleme tarihi: 7 Ocak 2026

Kullanıcılar için, aniden yavaşlayan, pili tüketen veya aylık veri kullanımını bitiren bir web sayfasından daha sinir bozucu çok az şey vardır. Bazen de suçlu, kullanıcının görmeye geldiği içerik değil, arka planda çalışan bir reklamdır.

Kullanıcı deneyimini korumak için Chrome, bir reklamın kullanabileceği kaynaklarla ilgili sınırlamalar uygular. Bir reklam bu sınırları aştığında (ağır reklam haline geldiğinde) Chrome, cihazın kaynaklarını boşaltmak için reklamı kaldırır.

Bu belgede, bu müdahalenin nasıl çalıştığı, ilgili eşikler ve reklamların sorunsuz bir şekilde yayınlanmasını sağlamak için kullanabileceğiniz bazı en iyi uygulamalar açıklanmaktadır.

Ağır reklamların araya girmesi nedir?

Yoğun reklam müdahalesi, Chrome'da reklam çerçevelerinin kaynak kullanımını izleyen bir mekanizmadır. Bir reklam, orantısız miktarda bant genişliği veya CPU işlem gücü tüketiyorsa Chrome, söz konusu reklam çerçevesini kaldırır.

Kullanıcı, reklam yerine genellikle Reklam kaldırıldı mesajını içeren gri bir kutu görür. Bu kutuda, reklamın çok fazla kaynak kullandığını açıklayan bir Ayrıntılar bağlantısı da yer alır.

Kaynak sınırlarını aşan yoğun bir reklamın yerine gösterilen, "Reklam kaldırıldı" etiketli ve "Ayrıntılar" bağlantısı içeren gri kutu.
Kaldırıldıktan sonraki reklamın örnek görünümü.

Bir reklam ne zaman ağır olarak kabul edilir?

Chrome, bir reklamın ağır olup olmadığını üç eşiğe göre belirler. Kullanıcı tarafından etkileşimde bulunulmamış ve aşağıdaki ölçütlerden herhangi birini karşılayan reklamlar kaldırılır:

  • Ağ kullanımı: Reklam, dört megabayttan fazla ağ bant genişliği kullanıyor.
  • En yüksek CPU kullanımı: Reklam, 30 saniyelik herhangi bir pencerede ana iş parçacığını 15 saniyeden uzun süre kullanıyor.
  • Toplam CPU kullanımı: Reklam, ana iş parçacığını toplamda 60 saniyeden uzun süre kullanıyor. Reklam çerçevesinin alt iFrame'leri tarafından kullanılan tüm kaynaklar, söz konusu reklamdaki müdahale sınırlarına dahil edilir.

Bu müdahalenin yaygın tetikleyicileri nelerdir?

Bazı reklam davranışları, diğerlerine kıyasla bu müdahaleleri tetikleme olasılığı daha yüksektir. Bu durumun yaygın nedenleri şunlardır:

  • Sıkıştırılmamış medya: Aşırı büyük ve kötü sıkıştırılmış resimlerin yüklenmesi.
  • Yoğun JavaScript: JavaScript kullanarak video dosyalarının kodunu çözme gibi kapsamlı işlemler gerçekleştirme.
  • Yoğun hesaplamalar: Arka planda karmaşık hesaplamalar yapma.
  • Hareket içermeyen video içeriği: Kullanıcı bir reklamla etkileşime geçmeden önce büyük video dosyalarının yüklenmesi.

Bir reklam kaldırıldığında ne olur?

Chrome, bir reklamın ağır reklam eşiklerini aştığını algıladığında kullanıcının cihaz kaynaklarını korumak için hemen harekete geçer.

Kullanıcı deneyimi

Kullanıcı açısından reklam hemen kaldırılır. Chrome, bunun yerine Reklam kaldırıldı mesajını içeren gri bir kutu gösterir. Kullanıcı kapsayıcıdaki Ayrıntılar'ı tıklarsa belirli bir açıklama görür.

Geliştirici deneyimi

Chrome, tam olarak ne olduğunu size bildirmek için Reporting API ile bir müdahale raporu da oluşturur. Daha önce bu raporlar yalnızca reklam çerçevesine ve onun alt çerçevelerine gönderiliyordu. Ancak yayıncılar genellikle kendi sayfalarındaki reklamların kaldırıldığını bilemezdi. Chrome, bu sorunu çözmek için bildirme mekanizmasını genişletti. Müdahale raporları artık reklam çerçevesinin kendisine ek olarak yerleştirme çerçevesine (kök reklam çerçevesinin üst öğesi) de gönderiliyor. Yerleştirme çerçevesine gönderilen raporlar, alt çerçevenin kimliğini ve reklam çerçevesinin URL'sini içerir.

Sayfayı HTTP raporları için yapılandırmak üzere yanıtta Report-To üst bilgisi bulunmalıdır:

Reporting-Endpoints: default="https://example.com/reports"

Tetiklenen yayın isteği aşağıdaki gibi bir rapor içerir:

POST /reports HTTP/1.1
Host: example.com

Content-Type: application/report

[{
 "type": "intervention",
 "age": 60,
 "url": "https://example.com/url/of/ad.html",
 "body": {
   "sourceFile": null,
   "lineNumber": null,
   "columnNumber": null,
   "id": "HeavyAdIntervention",
   "message": "Ad was removed because its CPU usage exceeded the limit. See https://www.chromestatus.com/feature/4800491902992384?utm_source=devtools"
 }
}]

Yerleştirme çerçevesi, yerleştirme çerçevesi URL'sine yönelik benzer bir rapor alır. Ancak mesajda ayrıca alt çerçevenin kimliği ve alt çerçevenin URL'si de yer alır:

...
"message": "Ad was removed because its CPU usage exceeded the limit. See https://www.chromestatus.com/feature/4800491902992384?utm_source=devtools (id=123;url=http://example2.com/pre-redirect-ad-url.html)"
...

JavaScript API, ReportingObserver için müdahalelerde sağlanan geri aramayı tetiklemek üzere kullanılabilecek bir observe() yöntemi sunar. Bu, hata ayıklamaya yardımcı olmak için rapora ek bilgiler eklemek istediğinizde yararlı olabilir.

// callback that will handle intervention reports
function sendReports(reports) {
  for (let report of reports) {
    // Log the `report` json using your own reporting process
    navigator.sendBeacon('https://report.example/your-endpoint', report);
  }
}

// create the observer with the callback
const observer = new ReportingObserver(
  (reports, observer) => {
    sendReports(reports);
  },
  { buffered: true }
);

// start watching for interventions
observer.observe();

Müdahale, iFrame sayfasını (örneğin, bir reklam) kaldırdığından, raporlama geri çağırmasının, sayfa kaybolmadan önce müdahale raporunu yakalamasını sağlamak için pagehide etkinliğini kullanın.

window.addEventListener('pagehide', (event) => {
  // pull all pending reports from the queue
  let reports = observer.takeRecords();
  sendReports(reports);
});

JavaScript'ten elde edilen JSON, POST isteğinde gönderilene benzer:

[
  {
    type: 'intervention',
    url: 'https://example.com/url/of/ad.html',
    body: {
      sourceFile: null,
      lineNumber: null,
      columnNumber: null,
      id: 'HeavyAdIntervention',
      message:
        'Ad was removed because its network usage exceeded the limit. See https://www.chromestatus.com/feature/4800491902992384',
    },
  },
];

Geliştiriciler için en iyi uygulamalar

Reklamlarınızın ağır reklam banner'ı kapsamına girmesini önlemek için aşağıdaki en iyi uygulamaları göz önünde bulundurun:

  • Yoğun içerik için kullanıcı etkileşimi gerektirme: Müdahale ölçütleri, kullanıcının etkileşimde bulunmadığı reklamlar için geçerlidir. Bir kullanıcı reklamınızı tıkladığında veya reklamınıza dokunduğunda kaynak sınırları artık geçerli olmaz. Video veya zengin medya deneyimlerinde, ağır öğeleri yüklemeden önce kullanıcı hareketi (ör. "oynatmak için tıklayın") bekleyin.
  • Resimleri ve videoları optimize edin: Resimlerin sıkıştırıldığından ve videoların web için optimize edildiğinden emin olun. Büyük video dosyalarını otomatik olarak yüklemekten kaçının. Bunun yerine, kullanıcı etkileşimde bulunana kadar hafif yer tutucular kullanın.
  • CPU kullanımını denetleyin: Sürekli düzen ve boyama işlemlerini tetikleyen karmaşık animasyonlar veya JavaScript işlemleri, CPU kullanımında ani artışlara neden olabilir. Ana ileti dizisini uzun süre meşgul edebilecek kodunuzdaki performans sorunlarını belirlemek için araçları kullanın.
  • Alt çerçeveleri izleme: Kaynak sayısının, reklamınızın iFrame'indeki her şeyi içerdiğini unutmayın. Reklamınız üçüncü taraf izleme piksellerini veya alt çerçeveleri yüklüyorsa bunların kaynak kullanımı sınırınıza dahil edilir.
  • Reklam dışı içerikleri yalıtın: Reklam dışı içerik çerçevelerini, filtre listesi sağlayıcının politikası tarafından reklam alan adları olarak değerlendirilme olasılığı düşük olan farklı alan adlarına veya tanınabilir kalıplara ayırın.

Hata ayıklama ve müdahalenin nedenini teşhis etme

Yoğun reklam müdahaleleriyle ilgili sorunları etkili bir şekilde gidermek ve çözmek için öncelikle Chrome'un algılama mantığının içeriği nasıl reklam olarak tanımladığını anlamanız, ardından kaldırılmaya yol açan belirli kaynak tetikleyicilerini denetlemek için yerleşik geliştirici araçlarını kullanmanız gerekir.

Chrome, reklamların varlığını nasıl algılar?

Chrome, kaynak isteklerini bir filtre listesiyle eşleştirerek içeriği reklam olarak etiketler. Algılama mantığı, iFrame'lerdeki içerikler için geçerlidir. Ana sayfa çerçevesi, reklam komut dosyaları içerse bile hiçbir zaman reklamla ilgili olarak kabul edilmez. Filtre listesiyle eşleşen bir kaynaktan yüklenen bir iFrame'in, bu çerçeveden reklam olmayan başka içerikler de yüklenmiş olsa bile reklam olarak kabul edileceğini unutmayın. Bunun bir örneği, reklam olarak etiketlenmiş bir iframe'e yüklenen video oynatıcının reklam dışı içerik de yükleyebilmesidir.

Reklam algılamayı nasıl doğrularım?

Geliştirici olarak, Chrome'un içeriğinizi reklam olarak başarıyla algılayıp algılamadığını Chrome Geliştirici Araçları'nı kullanarak görsel olarak doğrulayabilirsiniz.

  • Reklam çerçevelerini vurgulama: Oluşturma panelinde Reklam Çerçevelerini Vurgula'yı seçin. Bu seçenek, algılanan reklam çerçevelerini ekranda kırmızı renkle kodlar.
  • Öğe notu: Öğeler panelinde, algılanan reklam iFrame'lerinin açılış <iframe> etiketinin yanında bir reklam notu gösterilir.
  • Ağ etkinliği: Ağ panelinde, istekleri Is ad-related boole değerine göre filtreleyin.
  • Reklam durumu: Çerçeveler bölümündeki uygulama panelinde, reklam etiketli çerçeveler Ad Status özelliğini içerir.

Bir müdahalenin nedenini nasıl teşhis edebilirim?

Chrome, web sayfalarının kalitesini ve performansını denetlemek ve iyileştirmek için araçlar sunar. Sayfanızın ne kadar iyi performans gösterdiğine dair raporlar almak için Chrome Geliştirici Araçları'nda Lighthouse'u çalıştırın. Ayrıca web.dev/fast koleksiyonuna göz atabilir ve Web Verileri hakkında daha fazla bilgi edinebilirsiniz.

Ağ kullanımı

Reklamın genel ağ etkinliğini görmek için Chrome Geliştirici Araçları'nda panelini açın. Tekrarlanan yüklemelerde tutarlı sonuçlar elde etmek için Önbelleği devre dışı bırak seçeneğini işaretleyin.

Chrome Geliştirici Araçları&#39;ndaki Ağ paneli, &quot;Önbelleği devre dışı bırak&quot; seçeneği etkin durumdayken kaydedilen ağ etkinliğini gösteriyor.
Geliştirici Araçları'ndaki Ağ paneli.

Sayfanın alt kısmındaki aktarılan değer, tüm sayfa için aktarılan tutarı gösterir. İstekleri yalnızca reklamla ilgili olanlarla sınırlamak için üstteki Filtre girişini kullanın.

Reklamla ilgili ilk isteği (ör. iframe'in kaynağı) bulursanız tetiklediği tüm istekleri görmek için istekteki Başlatan sekmesini kullanın.

Geliştirici Araçları&#39;ndaki Başlatan sekmesinde, belirli bir reklam çerçevesi tarafından tetiklenen kaynak isteklerinin sırası gösteriliyor.
Bir isteğin Başlatan sekmesi.

İsteklerin genel listesini boyuta göre sıralamak, çok büyük kaynakları tespit etmenin iyi bir yoludur. Genellikle optimize edilmemiş resimler ve videolar bu soruna neden olur.

Büyük ve optimize edilmemiş medya dosyalarını belirlemek için yanıt boyutuna göre sıralanmış DevTools Ağ paneli listesi.
İstekleri yanıt boyutuna göre sıralayın.

Ayrıca ada göre sıralama, tekrarlanan istekleri tespit etmek için iyi bir yöntem olabilir. Müdahaleyi tetikleyen tek bir büyük kaynak olmayabilir. Bunun yerine, sınırı kademeli olarak aşan çok sayıda tekrarlanan istek olabilir.

CPU kullanımı

Geliştirici Araçları'ndaki Performans paneli, CPU kullanımıyla ilgili sorunları teşhis etmenize yardımcı olur. Kayıt Ayarları menüsünü açın. CPU'yu olabildiğince yavaşlatmak için CPU açılır listesini kullanın. CPU ile ilgili müdahalelerin, üst düzey geliştirme makinelerine kıyasla daha düşük güçteki cihazlarda tetiklenme olasılığı çok daha yüksektir.

CPU sınırlama açılır listesi seçilerek 6 kat yavaşlatma ile daha düşük güçlü donanım simüle etmek için DevTools&#39;daki performans paneli yakalama ayarları.
Performans panelinde ağ ve CPU kısıtlamayı etkinleştirin.

Ardından, kayıt etkinliğini başlatmak için Kaydet düğmesini tıklayın. Uzun bir izlemenin yüklenmesi biraz zaman alabileceğinden, ne zaman ve ne kadar süreyle kayıt yapacağınız konusunda denemeler yapmak isteyebilirsiniz. Kayıt yüklendikten sonra üstteki zaman çizelgesini kullanarak kaydın bir bölümünü seçebilirsiniz. Grafikte komut dosyası oluşturma, oluşturma ve boyama işlemlerini temsil eden düz sarı, mor veya yeşil alanlara odaklanın.

Geliştirici Araçları&#39;ndaki performans izleme özeti. Yükleme, komut dosyası oluşturma, oluşturma ve boyama gibi farklı etkinliklerde harcanan süreyi görselleştiren bir pasta grafiği içerir.
Performans panelindeki bir izlemenin özeti.

En alttaki Bottom-Up (Aşağıdan Yukarıya), Call Tree (Çağrı Ağacı) ve Event Log (Etkinlik Günlüğü) sekmelerini inceleyin. Bu sütunları Self Time (Kendine Ait Süre) ve Total Time (Toplam Süre) değerine göre sıralamak, koddaki darboğazları belirlemeye yardımcı olabilir.

Belirli darboğazları belirlemek için Performans panelindeki &quot;Kendine Ait Süre&quot;ye göre sıralanmış Aşağıdan Yukarıya sekmesi.
Aşağıdan yukarıya sekmesinde kendi süresine göre sıralayın.

İlişkili kaynak dosya da buraya bağlanır. Böylece her satırın maliyetini incelemek için Kaynaklar paneline gidebilirsiniz.

Yürütme süresi Kaynaklar panelinde gösterilir.
Kaynaklar panelinde gösterilen yürütme süresi.

Burada dikkat edilmesi gereken yaygın sorunlar arasında, sürekli düzen ve boyama işlemlerini tetikleyen kötü optimize edilmiş animasyonlar veya dahil edilen bir kitaplıkta gizlenen maliyetli işlemler yer alır.

Yanlış müdahaleler nasıl bildirilir?

Reklam dışı içerik bu şekilde etiketlenmişse filtreleme kurallarıyla eşleşmeyi önlemek için kodu değiştirmeyi veya filtreleme kurallarını değiştirmek üzere doğrudan EasyList bakımcılarıyla iletişime geçmeyi düşünebilirsiniz. Yoğun reklam müdahalesinin, kullanıcı hareketi içeren kareleri etkilemediğini unutmayın. Bu nedenle, içerik yüklenmeden önce oynatma düğmesinin tıklanması zorunlu kılınarak video hariç tutulabilir. EasyList, içeriğinizle eşleşmiyorsa ve Chrome, içeriği bir şekilde reklamla ilgili olarak yanlış sınıflandırdıysa bu şablonu kullanarak Chrome ile ilgili bir sorun kaydı oluşturabilirsiniz. Bir sorun bildirirken müdahale raporunun yakalanmış bir örneğini ve sorunu yeniden üretmek için örnek bir URL'yi ekleyin.