
Googlebot bir sayfadan kaç MB indirir?
Google Search için tarama yapan Googlebot, desteklenen bir dosya tipinin ilk 2 MB'ını indirir. PDF dosyalarında bu eşik 64 MB'dır. Eşiğe ulaşıldığı anda indirme durur ve o ana kadar inen kısım, dosyanın tamamıymış gibi dizine alma sistemlerine ve render servisine aktarılır. Sınırın ötesinde kalan baytlar indirilmez, render edilmez ve dizine alınmaz.
Buradaki en önemli ayrıntı, sayfanın reddedilmemesidir. Googlebot 2,4 MB'lık bir HTML belgesiyle karşılaştığında sayfayı atlamaz, kesip alır. Bu yüzden sorun genellikle sayfanın indekste hiç bulunmaması biçiminde değil, sayfanın alt yarısındaki içeriğin hiçbir sorguda karşılık bulmaması biçiminde görünür. Search Console bunun için bir hata veya uyarı üretmez, dolayısıyla kesinti sessizdir. Klasik arama motoru optimizasyonu kontrol listelerinde bu kısıta nadiren yer verilmesinin bir nedeni de budur.
Sınır yalnızca HTML belgesinin kendisini sayar
2 MB, sayfanın toplam ağırlığı değildir. Sınır URL başına uygulanır ve sayaç, sunucunun o URL için gönderdiği bayt akışını ölçer. HTML içinde çağrılan görseller, harici CSS dosyaları ve harici JavaScript dosyaları ayrı birer istekle çekilir ve her biri kendi sayacına tabidir. Yani 6 MB'lık bir görsel galerisi taşıyan sayfa, HTML belgesi küçük kaldığı sürece sınırı zorlamaz.
Ters yönde de aynı mantık işler. HTML'in içine gömülen her şey sayaca dahildir. Satır içi stil blokları, satır içi betik blokları, base64 kodlanmış görseller ve hidrasyon için basılan JSON blokları sunucunun gönderdiği belgenin parçası olduğu için doğrudan 2 MB'lık bütçeden yer yer.
Google, eşiğin HTTP başlıklarını da kapsadığını belirtiyor. Başlıklar pratikte birkaç kilobayt tuttuğu için bu ayrıntı tek başına karar değiştirmez, ama sınırın soyut bir metin uzunluğu değil, yanıt baytları üzerinden işlediğini gösterir.
Render aşamasında da aynı eşik geçerlidir. Google'ın render servisi JavaScript ve CSS dosyalarını çekerken ve XHR isteklerini işlerken her kaynak için ayrı ayrı 2 MB sınırına uyar, görselleri ve videoları ise render için istemez. Bunun az konuşulan bir sonucu var: 2 MB'ı aşan tek bir JavaScript paketi ortasından kesildiğinde geriye sözdizimsel olarak geçerli bir betik kalmaz ve render o noktada bozulabilir.
Sıkıştırma bu sınırı kurtarmaz
Sınır sıkıştırılmamış veriye uygulanır. Sunucu gzip veya Brotli ile yanıt verdiğinde tarayıcının ağ panelinde 180 KB görünür, ama Google'ın saydığı sayı açılmış boyuttur. Tekrar eden markup çok iyi sıkıştığı için açılmış boyut, telden geçen boyutun birkaç katı olur. Telden 250 KB geçen bir kategori sayfasının açıldığında bir megabaytı aşması olağan bir durumdur.
Ölçüm hatalarının en yaygın kaynağı tam olarak burasıdır. Bir sayfa için söylenen boyut neredeyse her zaman sıkıştırılmış boyutu anlatır ve bu sayı, sınır açısından yanlış sayıdır.
15 MB rakamı neden hala dolaşıyor?
Sektörde uzun süre Googlebot'un bir HTML dosyasının ilk 15 MB'ını taradığı bilgisi dolaştı ve hala birçok kaynakta bu rakam geçiyor. 15 MB gerçek bir sayı, ama artık Google Search için geçerli olan sayı değil.
Google'ın tarama altyapısını kullanan her istemci kendi bayt eşiğini belirler. Kendi eşiğini belirtmeyen bir tarayıcı için platform varsayılanı 15 MB'dır. Google Search'ün istemcisi olan Googlebot ise kendi eşiğini 2 MB olarak belirlemiştir. Aradaki fark küçük değil: bir web sayfası için 15 MB rakamına güvenmek, gerçek eşiğin yedi katından fazlasını güvenli bölge sanmak demektir. Googlebot Görsel ve Googlebot Video gibi diğer Google tarayıcılarının eşikleri de birbirinden ayrıdır, dolayısıyla Google için tek bir bayt sayısı yoktur.
Hangi sayfalar sınıra takılır?
Düz metin bu sınırı tek başına aşamaz. Kaba bir hesap işi netleştiriyor. 2 MB yaklaşık iki milyon karakterlik yer demektir ve 1.500 kelimelik bir Türkçe yazının düz metni, Türkçe karakterlerin UTF-8'de iki bayt tuttuğu hesaba katılsa bile 12 KB civarında kalır. Sınır, normal bir makale metninin yüz katından fazlasına yer verir. Sorun metinden değil, metnin etrafındaki yükten çıkar.
Pratikte şu sayfa tipleri risk taşır:
- Sayfalama yapılmamış listeler. Tek URL'de binlerce ürün veya ilan basan kategori sayfalarında her satır kendi markup'ını, veri özniteliklerini ve işaretlemesini taşır. Ürün başına 1 KB HTML, iki bin üründe 2 MB eder.
- Base64 gömülü görseller. Base64 her üç baytı dört karaktere çevirdiği için gömülü bir görsel, dosya halinden yaklaşık üçte bir daha büyük olur. 400 KB'lık bir fotoğraf HTML içinde 530 KB'a yakın yer kaplar ve dört tanesi tek başına sınırı doldurur.
- Satır içi devasa JSON. Modern çatıların sayfaya bastığı hidrasyon verisi, veri katmanı nesneleri ve API yanıtlarının olduğu gibi gömülmesi görünür metnin defalarca katına ulaşabilir. Aynı ürün verisinin bir kez HTML olarak bir kez JSON olarak basılması yaygın bir kalıptır.
- Satır içi CSS ve JavaScript. Performans için kritik CSS'i gömmek makul bir tercihtir, stil dosyasının tamamını gömmek değildir.
- Sayfalanmamış arşivler ve yorum akışları. Bin yorumlu bir forum konusu veya bütün bir yılı tek sayfada toplayan arşiv, kullanıcı içeriğiyle birlikte şablon markup'ını da tekrar tekrar biriktirir.
Kesintinin ikinci ve daha sinsi etkisi bağlantı keşfidir. Sayfanın alt kısmındaki iç bağlantılar hiç indirilmediği için Google onları o sayfadan görmez. Sayfalanmamış bir arşivde bu, binlerce URL'nin keşif yollarından birinin sessizce kapanması demektir ve etkisi tarama bütçesi yönetimi tarafında hissedilir.
HTML boyutu nasıl ölçülür?
Ölçüm için doğru sayı sıkıştırılmamış yanıt gövdesidir. Şu sırayla ilerlemek çoğu durumda yeterli olur.
- Sıkıştırmayı kapatarak tek bir URL'yi indirin.
curl -s -H "Accept-Encoding: identity" -o /dev/null -w "%{size_download}\n" https://ornek.com/kategorikomutu, Google'ın saydığı büyüklüğü bayt cinsinden verir. - Tarayıcı geliştirici araçlarında ağ sekmesini açın ve belge isteğine bakın. Aktarılan boyut ile kaynak boyutu ayrı ayrı gösterilir, sınır açısından geçerli olan ikincisidir.
- Search Console'daki URL denetleme aracıyla taranan sayfayı görüntüleyin. Burada Google'ın gerçekten aldığı HTML görünür, dolayısıyla belgenin sonunun eksik olup olmadığı doğrudan anlaşılır.
- Şüphe tek bir sayfada değil bir şablonda ise siteyi tarayıp belge boyutlarını topluca listeleyin. Şablon kaynaklı şişme her zaman aynı sayfa tipinde kümelenir. Site içi SEO analizi aracı bu taramaya başlangıç noktası olarak kullanılabilir.
Kesintiyi doğrulamanın en hızlı yolu, HTML'in en sonuna kısa ve benzersiz bir dize koymaktır. Kapanış etiketinden hemen önce duran bu dize taranan sayfa görünümünde yer almıyorsa belge kesiliyor demektir. Aynı yöntem düzeltmenin işe yarayıp yaramadığını da tek adımda gösterir.
Sayfa boyutu nasıl küçültülür?
Küçültme işi bayt dağılımına bakılarak yapılır, çünkü kazanç neredeyse her zaman tek bir kalemde toplanır. Sıra genellikle şöyle işler.
Satır içi varlıkları dışarı taşımak en büyük ve en ucuz kazancı verir. Google'ın kendi tavsiyesi de bu yöndedir: ağır CSS ve JavaScript harici dosyalara alınır, çünkü harici kaynaklar ayrı çekilir ve kendi sınırlarına tabi olur. Base64 gömülü görseller de gerçek dosyalara dönüştürülür.
Ardından veri tekrarı temizlenir. Sayfaya basılan JSON, sayfanın gerçekten ihtiyaç duyduğu alanlara indirilir. Ürün açıklamalarının tamamını hem HTML hem JSON olarak taşımak belgeyi iki katına çıkarır ve arama tarafında hiçbir şey kazandırmaz.
Uzun listeler sayfalanır. Sayfalama hem belgeyi eşiğin altında tutar hem de bağlantı keşfini taranabilir URL'lere dağıtır. Sonsuz kaydırmayla yüklenen içerik, geriye taranabilir bir adres bırakmadığında bu işi görmez.
Son olarak sıralama önemlidir. Google, meta etiketleri, başlık etiketini, bağlantı etiketlerini, canonical'ı ve temel yapılandırılmış veriyi belgenin üst kısmında tutmayı öneriyor. Bu unsurlar kesinti noktasının altında kalırsa sayfanın kimliğine dair bilgi tamamen kaybolur, ki bu içerik kaybından daha ağır bir sonuçtur.
Bu sınır hangi sınırlarla karıştırılıyor?
Sayfa boyutu sınırı, Google'ın yayımladığı tek bayt eşiği değildir. Karışıklık genellikle şu dört kalem arasında oluşur.
| Sınır | Neye uygulanır | Değer | Aşılırsa ne olur |
|---|---|---|---|
| Googlebot sayfa boyutu | Google Search için çekilen tek URL | 2 MB, PDF için 64 MB | Fazlası indirilmez, render edilmez, dizine alınmaz |
| Tarayıcı varsayılanı | Kendi eşiğini belirtmeyen Google tarayıcıları | 15 MB | Sınırın ötesindeki içerik yok sayılır |
| Sitemap dosyası | Tek bir sitemap dosyası | 50 MB sıkıştırılmamış veya 50.000 URL | Dosya bölünmeli, dizin dosyası kullanılmalı |
| robots.txt | Sitenin robots.txt dosyası | 500 KiB | Sonrasındaki kurallar yok sayılır |
En sık karıştırılanı sitemap sınırıdır, çünkü ikisi de megabayt cinsindendir ve ikisi de sıkıştırılmamış veri üzerinden ölçülür. Ama biri bir web sayfasının indirilen kısmını, diğeri bir dosyanın kaç URL taşıyabileceğini belirler. Bir sayfanın 2 MB'ı aşması ile bir sitemap'in 50.000 URL'yi aşması tamamen farklı problemlerdir ve farklı çözümleri vardır. Sitemap tarafındaki bölme mantığını XML sitemap dizin yapısı yazısında ayrıca ele aldık.
Tarama bütçesi ise bir boyut sınırı değildir. Tarama bütçesi Google'ın siteden ne sıklıkla ve kaç URL çekeceğiyle ilgilenir, sayfa boyutu sınırı ise tek bir çekimin nerede kesileceğiyle. İkisi yalnızca dolaylı olarak ilişkilidir: ağır sayfalar sunucuyu yorduğunda Google tarama hızını kendiliğinden düşürür.
Sıkça Sorulan Sorular
Sayfam sınırı aşıyorsa Search Console bunu bildirir mi?
Hayır. Kesinti bir tarama hatası değil, başarıyla tamamlanmış bir isteğin erken bitmesidir. Kapsam raporunda sayfa geçerli görünür ve indeksleme durumu normal kalır. Kesintiyi görmenin yolu taranan HTML'in sonuna bakmak veya sıkıştırılmamış belge boyutunu ölçmektir.
Kesilen bir JavaScript dosyası sayfayı nasıl etkiler?
Render aşamasında çekilen her kaynak aynı eşiğe tabi olduğu için 2 MB'ı aşan bir paket ortasından kesilir. Yarım kalan bir betik geçerli bir program olmayacağından render bozulabilir ve yalnızca JavaScript ile üretilen içerik hiç görünmeyebilir. Büyük paketleri bölmek bu yüzden sadece hız meselesi değildir.
Sınır her Google tarayıcısı için aynı mı?
Hayır. Eşiği her istemci kendi ihtiyacına göre belirler. Görsel ve video tarayıcılarının eşikleri geniş bir aralıkta değişir, favicon çekmek gibi işlerde ise çok daha düşük değerler kullanılır.
Bu eşik ileride değişebilir mi?
Google eşiğin sabit olmadığını ve web geliştikçe değişebileceğini açıkça belirtiyor. Bu yüzden sayfa boyutunu eşiğin hemen altında tutmaya çalışmak yerine eşikten belirgin biçimde uzakta tutmak daha dayanıklı bir tercihtir.



