robots.txt Nedir, Ne İşe Yarar?
robots.txt, uyumlu tarayıcılara hangi yolları taramamaları gerektiğini bildirir. Dosyanın kapsamını, temel kurallarını ve neyi güvence altına alamadığını öğrenin.
Bu yazıda
- robots.txt dosyası hangi amaçla kullanılır?
- Dosya nerede bulunur ve hangi adreslere uygulanır?
- User-agent, Allow ve Disallow ne anlama gelir?
- Bir kuralın hangi sayfaya uygulanacağı nasıl belirlenir?
- robots.txt hangi sorunları çözmez?
- Dosyayı değiştirmeden önce neleri kontrol etmelisiniz?
- Sık sorulan sorular
robots.txt, bir web sitesinin otomatik tarayıcılara hangi adresleri tarayıp taramamaları gerektiğini bildiren, kök dizinde yayımlanan metin dosyasıdır. Kurallar, dosyanın bulunduğu web hizmeti ve belirli kullanıcı aracısı grubu için yorumlanır; bir erişim izni veya gizlilik kilidi oluşturmaz.
Dosyayı doğru kullanmak için önce hangi tarayıcı davranışını yönetmek istediğinizi belirleyin. Ardından dosyanın nerede geçerli olduğunu, kuralların nasıl gruplanıp eşleştirildiğini ve teknik sınırlarını kontrol edin.
robots.txt dosyası hangi amaçla kullanılır?
Robots Exclusion Protocol (REP), site sahibinin otomatik tarayıcılara sunduğu kurallar dizisidir. Internet standardı RFC 9309, tarayıcıların bu kuralları dikkate almasını ister; ancak bunlar erişim yetkilendirmesi değildir. Yani robots.txt, bir sayfaya kimlerin giriş yapabileceğini belirleyen kullanıcı hesabı, parola veya sunucu güvenlik duvarı yerine geçmez.
Dosya, tarayıcıların site yollarını nasıl ziyaret edeceğine ilişkin bir sinyal verir. Örneğin, tarama bütçesini gereksiz filtre sayfalarına harcamamalarını isteyebilir veya belirli bir bot için ayrı bir yol kuralı tanımlayabilirsiniz. Bu tercih, içeriğin arama dizininden kesin olarak çıkarılacağı ya da hiçbir sistem tarafından okunamayacağı anlamına gelmez.
Dosya nerede bulunur ve hangi adreslere uygulanır?
Standart konum, ilgili web hizmetinin en üst yolundaki robots.txt dosyasıdır. RFC 9309 bu adresi, kullanılan protokol ve yetkili alan adıyla birlikte tanımlar. Bu nedenle HTTPS kullanan alan adının dosyası, başka bir protokoldeki veya başka bir ana makinedeki dosyayla aynı sayılmaz.
www bulunan ve bulunmayan alan adlarını, alt alan adlarını ve farklı protokolleri ayrı ayrı kontrol edin. Örneğin, mağaza alt alan adında farklı kurallar varsa kök alan adındaki dosyanın onu yönettiğini varsaymayın. Bir yönlendirme varsa başlangıç ve hedef ana makineleri kaydedin; tarayıcı ilgili robots.txt kurallarını başlangıç hizmeti bağlamında değerlendirir.
User-agent, Allow ve Disallow ne anlama gelir?
Dosyada kurallar gruplar halinde yazılır. User-agent satırı grubun hangi tarayıcıya veya tarayıcı grubuna yönelik olduğunu söyler. Aynı kurala birden fazla bot adını dahil etmek için kurallardan önce birden fazla User-agent satırı kullanılabilir.
Disallow, eşleşen bir yolun taranmamasını isteyen kuraldır; Allow ise eşleşen bir yolu taramaya açık bırakır. Kısa bir örnek:
User-agent: *
Disallow: /yonetim/
Allow: /yonetim/yardim/
Bu örnekte daha dar yol, genel olarak engellenen yolun içinde ayrıca izinli gösterilmiştir. Kendi sitenizde bir dizini engellemeden önce o dizindeki sayfaların, dosyaların veya işlevlerin taranmasına ihtiyaç olup olmadığını kontrol edin. Yanlış bir kapsam, önemli içeriklerin de taranmasını engelleyebilir.
Sitemap satırı, site haritasının yerini belirtmek için kullanılan ek bir kayıttır. RFC, Sitemap gibi diğer kayıtların kural gruplarının ayrıştırılmasını bozmaması gerektiğini özellikle belirtir. Sitemap satırını bir tarama kuralı veya sayfa gizleme yöntemi gibi değerlendirmeyin.
Bir kuralın hangi sayfaya uygulanacağı nasıl belirlenir?
Önce tarayıcının User-agent değeriyle dosyadaki gruplar karşılaştırılır. RFC 9309’a göre bu eşleştirme büyük-küçük harfe duyarsızdır. Belirli bir bot grubuyla eşleşme varsa genel yıldız grubu otomatik olarak o grubun üzerine eklenmez; bir bot için genel kurallarla aynı kısıtlamalar isteniyorsa ilgili özel grupta da gerekli kuralları tanımlayın.
Ardından Allow ve Disallow yolları, ziyaret edilmek istenen URL yolu ile karşılaştırılır. Standartta en uzun eşleşme daha belirleyicidir. Eşdeğer uzunluktaki Allow ve Disallow kuralları çakışırsa RFC Allow sonucunun kullanılmasını önerir. Büyük-küçük harf farkı yol eşleşmesini etkileyebileceğinden, kuralı gerçek URL biçimiyle test edin.
Yıldız işareti birden fazla karakterle eşleşebilir; satırın sonundaki dolar işareti eşleşmenin yol sonunda bitmesini belirtir. Her tarayıcı ayrıntıları aynı şekilde uygulamayabilir. Özel işaretlere veya karmaşık kural kümelerine güveniyorsanız yalnız dosyayı okumakla yetinmeyin; hedef botun kendi dokümantasyonunu da kontrol edin.
robots.txt hangi sorunları çözmez?
Bir yolun Disallow ile işaretlenmesi, sunucunun o yolu kapattığı anlamına gelmez. RFC 9309, dosyadaki yolların herkese açık olduğunu ve robots kurallarının güvenlik önlemlerinin yerini tutmadığını açıkça belirtir. Gizli tutulması gereken müşteri verileri veya yönetim ekranları için uygulama katmanında kimlik doğrulama ve erişim denetimi gerekir.
Benzer biçimde, Allow kuralı bir sayfanın taranacağını, dizine ekleneceğini veya bir yapay zekâ yanıtında kaynak gösterileceğini garanti etmez. Robots.txt belirli botların talep ettiği sayfalara erişim tercihidir; arama görünürlüğü, sıralama ya da önerilme sonucu değildir. Bu ayrımı, GPTBot ve yapay zekâ botları yazımızda botların amaçlarını incelerken de koruyoruz.
Dosyayı değiştirmeden önce neleri kontrol etmelisiniz?
Önce dosyanın geçerli alan adında açıldığını ve beklediğiniz içeriği döndürdüğünü doğrulayın. Sonra her User-agent grubunu, engellenecek veya açık tutulacak gerçek yollarla karşılaştırın. Sitemap kaydını da doğru alan adı ve protokole göre gözden geçirin.
Bir içerik yönetim sistemi kullanıyorsanız robots.txt ayarının yönetim panelinden, eklentiden veya sunucudaki statik dosyadan hangisiyle üretildiğini bulun. Aynı dosyanın iki farklı yerden yazılması, beklenmeyen kuralların yeniden eklenmesine neden olabilir. Yayın öncesinde değişikliğin geri alınabileceği sürümü saklayın ve değişiklikten sonra dosyayı yeniden açıp son halini kontrol edin.
Robots.txt ve diğer teknik erişim kontrolleri konusunda Yapay Zekâya Hazır Olun hizmetimizin kapsamına bakabilirsiniz. Dosyada yapacağınız her değişiklik, tarama politikanızla ve sitenizin gerçek güvenlik ihtiyaçlarıyla uyumlu olmalıdır.
Sık sorulan sorular
robots.txt dosyası zorunlu mudur? Her site robots.txt dosyası sunmak zorunda değildir. Dosya yoksa standartta tanımlanan hata davranışları devreye girer; belirli bir botun bu durumu nasıl ele aldığını ayrıca kontrol etmek gerekir.
robots.txt ile sayfayı şifreleyebilir miyim? Hayır. Dosya erişim denetimi yapmaz ve içindeki yollar herkese açık biçimde görülebilir. Özel içeriği parola, oturum ve sunucu tarafı yetkilendirmeyle koruyun.
User-agent: * ne anlama gelir? Yıldız grubu, kendisi için daha özel bir grup eşleşmeyen tarayıcılar için varsayılan kuralları belirtir. Belirli bot grubu varsa yıldız grubunun kurallarını ona otomatik olarak eklenmiş kabul etmeyin.
Disallow kuralı sayfanın arama sonuçlarında hiç görünmeyeceğini garanti eder mi? Hayır. Disallow, uyumlu tarayıcıya sayfayı taramamasını söyler; gizlilik veya kesin dizinden çıkarma sağlamaz. İçeriği korumak ya da dizinden kaldırmak için ilgili sunucu ve arama motoru araçlarını kullanın.
Kaynaklar
- Internet Engineering Task Force, “RFC 9309: Robots Exclusion Protocol” (Eylül 2022)