robots.txt Nasıl Test Edilir?
robots.txt testinde yalnız yazım biçimine değil, gerçek botun hangi URL yoluyla eşleştiğine bakılır. Kapsamı ve istisnaları adım adım doğrulayın.
Bu yazıda
robots.txt testi, belirli bir botun gerçek bir URL yoluna erişim isteğinin dosyadaki kurallarla nasıl eşleştiğini kontrol etmektir. Dosyanın açılması veya sözdiziminin ilk bakışta düzgün görünmesi tek başına yeterli değildir; doğru alan adı, kullanıcı aracısı, yönlendirme ve yol eşleşmesi birlikte incelenmelidir.
Bu kontrol, kuralların hedeflediğiniz sayfayı etkileyip etkilemediğini anlamaya yardım eder. robots.txt bir güvenlik duvarı değildir; gizli içerik için parola ve sunucu tarafı yetkilendirme kullanın.
Önce doğru robots.txt dosyasını bulun
Test etmek istediğiniz URL’nin tam ana makinesini belirleyin. www ile www olmayan sürüm, alt alan adları, HTTP ve HTTPS farklı web hizmetleri olabilir. Her biri kendi kök dosyasına sahip olabileceğinden, birinden okunan kuralları diğerine uygulamayın.
Dosyanın gerçek içeriğini tarayıcıda açın ve bir HTTP istemcisi ya da güvenilir test aracıyla yanıtı tekrar alın. Yanıt kodunu, yönlendirme olup olmadığını ve dönen içeriğin gerçekten robots.txt olduğunu kontrol edin. HTML hata sayfası, oturum açma ekranı veya önbellekten kalmış eski kopya, geçerli kurallar gibi görünmemelidir.
Hangi bot için test yaptığınızı belirleyin
Her testte bir User-agent değeri seçin. “Yapay zekâ botu” tek bir tarayıcı olmadığı için, bir bot için çıkan kararı başka bir botun sonucu gibi sunmayın. İlgili sağlayıcının kullandığı User-agent token’ını resmi dokümanından alın.
Örneğin, test tablonuzda genel bir tarayıcı ve belirli bir bot bulunabilir:
| Test edilen bot | Kullanılacak grup | Kontrol sorusu |
|---|---|---|
| Genel bot | User-agent: * | Özel bot grubu yoksa hangi kural eşleşiyor? |
| Belirli bot | Botun kendi token’ı | Özel grup var mı, hangi yolları kapsıyor? |
RFC 9309, User-agent grup eşleşmesinde harf büyüklüğünü önemsemez. Ancak gerçek User-agent adını kullanmak, yanlış gruba bakma riskini azaltır.
Kuralları URL yolu ile tek tek karşılaştırın
Engellenecek ve açık kalması gereken her yol için ayrı test satırı oluşturun. Birkaç örnek URL seçip hangi kuralın en uzun eşleştiğini işaretleyin. RFC’ye göre en belirgin, yani en uzun eşleşme kullanılır; Allow ve Disallow eşit uzunlukta çakışırsa Allow tercih edilmelidir.
Dosyanızdaki kuralları şöyle okuyabilirsiniz:
User-agent: *
Disallow: /arama/
Allow: /arama/yardim/
Bu örnekte /arama/yardim/ yolu, daha genel /arama/ kuralından daha uzun eşleşir. Fakat test ettiğiniz adresin harf büyüklüğü, sondaki eğik çizgisi ve alt yolu sonucu değiştirebilir. /Urunler/ ile /urunler/ aynı yol olarak kabul edilmeyebilir.
Yıldız ve dolar işaretli kalıpları kullanıyorsanız bunları da ayrı örneklerle test edin. Standart yıldızı joker, satırın sonundaki doları yolun sonunu belirten işaret olarak tanımlar. Kullandığınız botun dokümantasyonunda farklı bir uygulama notu varsa onu dikkate alın.
Birden fazla User-agent grubunu inceleyin
Birden fazla User-agent satırı, arada başka bir kural yoksa aynı gruba ait olabilir. Kurallardan sonra gelen yeni User-agent satırı yeni bir grup başlatır. Aynı bot adı için dosyada birden fazla grup varsa RFC 9309 eşleşen grupların kurallarının birleştirilmesini ister.
Özel bir bot grubu tanımlandığında yıldız grubundaki kuralların ona da eklendiğini varsaymayın. Bir botun hem genel, hem özel kuralı birlikte uygulayıp uygulamadığını ilgili standarda ve sağlayıcının dokümantasyonuna göre doğrulayın. Sitemap gibi ek kayıtlar da kural gruplarını sonlandırmaz; bu kayıtların yeri tek başına test sonucunu belirlememelidir.
Yanıt kodu ve yönlendirmeleri nasıl değerlendirmelisiniz?
RFC 9309, robots.txt için başarılı erişim, yönlendirme, dosyanın kullanılamaması ve sunucu veya ağ nedeniyle erişilememesi durumlarını ayırır. Yönlendirme varsa son yanıtın hangi alan adından geldiğini ve başlangıç alan adı için nasıl uygulandığını kontrol edin. Yalnız son URL’yi görmek yeterli değildir.
Standartta 4xx yanıtları dosyanın kullanılamadığı durum, 5xx ve ağ hataları ise erişilemeyen durum olarak ele alınır. Bu iki sınıf için tarayıcının uygulayacağı davranış aynı değildir: 4xx durumunda tarayıcı kaynaklara erişebileceğini varsayabilir; erişim hatasında standart geçici olarak tüm kaynakları engellemesini ister. Uygulamada hedef botun kendi belgelerini ve gerçek yanıt davranışını da doğrulayın.
Yayına almadan önce test çizelgesi hazırlayın
Kuralı değiştirmeden önce beklenen sonucu yazın. Böylece test sırasında neye bakacağınız belli olur:
| Senaryo | Kontrol | Beklenen teknik kanıt |
|---|---|---|
| Genel bot | User-agent: * altında yol | Eşleşen Allow veya Disallow satırı |
| Özel bot | Tam bot token’ı | Özel grubun kuralları |
| İzin istisnası | Disallow içinde daha dar Allow | En uzun eşleşmenin sonucu |
| Yol biçimi | Büyük-küçük harf, eğik çizgi, alt yol | Tam URL yoluna göre eşleşme |
| Yönlendirme | robots.txt veya hedef sayfa yönleniyor | Son durum, hedef alan adı ve yol |
| Yanıt hatası | 4xx, 5xx veya zaman aşımı | Standarttaki ayrı hata davranışı |
Testten sonra dosyayı tekrar açıp değişikliğin yayımlandığını doğrulayın. CDN veya CMS önbelleği varsa yeni sürümün gerçekten servis edildiğine bakın. Son olarak, engellenen sayfanın başka yollardan hâlâ erişilebilir olup olmadığını ayrı bir güvenlik kontrolüyle değerlendirin.
GPTBot ve Yapay Zekâ Botları makalemiz, farklı botların amaçlarını ve robots.txt sınırlarını açıklar. Site erişimi, robots.txt ve diğer teknik kontroller için Yapay Zekâya Hazır Olun hizmetimizin kapsamını inceleyebilirsiniz.
Sık sorulan sorular
robots.txt dosyasını test etmek için yalnızca açmam yeterli mi? Hayır. Dosyanın doğru ana makineden geldiğini ve test ettiğiniz User-agent ile yolun hangi kurala eşleştiğini de kontrol edin. Yönlendirme, hata yanıtı ve önbellek etkisini ayrıca inceleyin.
Aynı kural bütün yapay zekâ botları için geçerli midir? Hayır. Özel bot grupları farklı olabilir ve her sağlayıcı farklı bot adları kullanabilir. “Yapay zekâ” etiketi yerine gerçek User-agent token’ını test edin.
Allow ve Disallow çakışırsa hangisi uygulanır? RFC 9309, en uzun eşleşmenin kullanılmasını ister. İki kural aynı uzunlukta eşleşiyorsa Allow sonucunun seçilmesini önerir.
robots.txt testi sayfanın güvenli olduğunu kanıtlar mı? Hayır. Test yalnızca kurallara uyan tarayıcıların ilgili URL için görebileceği robots.txt tercihini inceler. Gerçek erişim güvenliği ayrı olarak sunucu veya uygulama katmanında sağlanmalıdır.
Kaynaklar
- Internet Engineering Task Force, “RFC 9309: Robots Exclusion Protocol” (Eylül 2022)