- Konu sahibi
- #1
Crawl-delay, robots.txt içinde bir botun ardışık istekleri arasında beklemesini istemek için kullanılan, ancak tüm arama motorları tarafından desteklenmeyen bir yönergedir. Googlebot bu alanı desteklemez; Bingbot ise kendi belgelerinde desteklediğini belirtir. Bu nedenle sunucu yükünü azaltmak için tek başına güvenilemez; yalnızca bu yönergeyi tanıyan botlarda etkili olabilir. Robots.txt dosyası da gerçek bir hız sınırlayıcı değildir ve kötü niyetli botların isteklerini durdurmaz.Nasıl çalışır?
Bot, alan adının robots.txt dosyasını okur ve kendi kurallarını destekliyorsa Crawl-delay değerini yorumlar. Yaygın kullanımda değer saniye cinsinden bekleme aralığı olarak yazılır; fakat bu davranış botun uygulamasına göre değişebilir. Bazı botlar yönergeyi tamamen yok sayar, bazıları farklı birim veya algoritma kullanabilir.
Bu yönerge,
Disallow gibi erişimi engellemez. Yalnızca destekleyen botun tarama hızını düşürmesi istenir. Ayrıca robots.txt içindeki kural, web sunucusunun her istemciye uyguladığı zorunlu bir kota değildir.Örnek kural ve kapsamı
Aşağıdaki bölüm Bingbot için örnek gecikme talebidir; 10 değeri her site için öneri değildir ve bütün botlara aynı fiziksel zamanlama garantisi vermez. /ozel/ yalnız temsilî yasaklı yoldur:
Kod:
User-agent: bingbot
Crawl-delay: 10
Disallow: /ozel/
Mevcut robots.txt dosyanızı bu örnekle bütünüyle değiştirmeyin. Bingbot için özel grup varsa onu düzenleyin; özel gruba geçildiğinde genel gruptaki kısıtların kendiliğinden birleşeceğini varsaymayın. Gerçek yasaklı yolları koruyun.
- Dosyayı düz metin olarak
robots.txtadıyla kaydedin; dosya uzantısının.txtdışında bir değere dönüşmediğini kontrol edin. - Dosyayı alan adının kök yolundan sunun. Örneğin site
example.comise dosya/robots.txtkonumunda olmalıdır; bir alt klasörde bulunması aynı kapsamı sağlamaz. - Tarayıcıyla dosyayı açıp metnin doğrudan görüntülendiğini ve sunucunun başarılı bir yanıt verdiğini kontrol edin.
- Bir botun tarama raporlarında veya sunucu günlüklerinde istek sıklığını izleyin. İstek aralığı değişmiyorsa önbelleğe alınmış robots dosyası, yanlış grup eşleşmesi veya botun destek/yorumlama kuralı incelenmelidir. Sıklık değişmemesi tek başına kesin neden göstermez.
Başarı ölçütü, dosyanın yayınlanması değil, ilgili botun yönergeyi gerçekten uygulamasıdır. Dosya açılmıyor, yanlış konumdan sunuluyor veya geçersiz biçimde üretiliyorsa kural okunmayabilir. Dosyanın okunması da botun beklemeyi kesinlikle uygulayacağı anlamına gelmez.
Hangi durumda kullanılmalı?
Önce hangi botun sunucuyu zorladığını günlüklerden belirleyin. Tüm botlara yıldızla kural vermek yerine gerekiyorsa yalnızca belirli bir
User-agent grubuna uygulamak daha kontrollü olabilir. Aynı bot için birden fazla çelişkili kural yazmak yerine tek ve açık bir kural kullanın.Aşağıdaki karar tablosu, Crawl-delay'in sınırını doğru değerlendirmeye yardımcı olur:
| İhtiyaç | Uygun yaklaşım | Crawl-delay'in rolü |
|---|---|---|
| Destekleyen botun hızlı taramasını yavaşlatmak | Botun User-agent değerine uygun Crawl-delay kuralı | Yardımcı olabilir; garanti değildir |
| Belirli yolların taranmasını istememek | Uygun Disallow kuralları | Bunun yerine geçmez |
| Tüm istemcilerin istek hızını sınırlamak | Web sunucusu, CDN veya uygulama katmanı hız sınırlaması | Yeterli değildir |
Sunucu kaynakları gerçekten yetersizse asıl çözüm, sunucu veya CDN katmanında kontrollü hız sınırlaması, önbellekleme, sorgu optimizasyonu ve gerekirse ilgili botun kendi yönetim araçlarıdır. Crawl-delay yalnızca uyumlu botlar için ek bir sinyal olarak düşünülmelidir.