
Robots.txt dosyası, sitenize gelen tarama botlarına hangi bölümlere girebileceklerini söyleyen basit bir metin dosyasıdır. Bu dosyanın gücü, kuralları herkese birden değil, botlara tek tek ayırarak yazabilmenizden gelir. Bunun anahtarı user-agent satırıdır ve doğru kurulduğunda tarama bütçenizi korur, gereksiz yükü azaltır.
User-agent satırı nasıl çalışır?
Her kural bloğu bir user-agent satırıyla başlar ve ardından gelen Disallow ve Allow satırları yalnızca o bota uygulanır. Yıldız işareti kullanırsanız blok tüm botları kapsar. Belirli bir botun adını yazarsanız o bot yalnızca kendi adına yazılmış bloğu okur, genel bloğu dikkate almaz. Bu yüzden özel bir blok açtığınızda genel kurallarınızı o bloğa da kopyalamanız gerekir; aksi halde bot genel kısıtlamaların dışında kalır. Bot adlarında büyük küçük harf ayrımı yapılmaz, ancak yol bölümleri büyük küçük harfe duyarlıdır.
Örnek kurallar ve öncelik mantığı
Diyelim ki yönetim paneli ve arama sonuç sayfalarını tüm botlara kapatmak istiyorsunuz. Genel blokta bu iki dizini Disallow ile belirtirsiniz. Görsel botunun yalnızca bir klasördeki görselleri taramasını istiyorsanız ona ayrı bir blok yazar, önce tüm dizini kapatır, ardından Allow ile ilgili klasöre izin verirsiniz. Birden fazla kural çakıştığında genellikle en uzun, yani en spesifik yol eşleşmesi öncelik kazanır. Aynı uzunlukta çakışmada ise çoğu büyük arama motoru daha az kısıtlayıcı olan Allow kuralını seçer. Kritik sayfalar için bu davranışa güvenmek yerine kuralları net ve çakışmasız yazmak daha güvenlidir.
Sık yapılan hatalar ve test yöntemi
En yaygın hata, tüm siteyi kapatan tek bir slash karakterini test ortamından canlı siteye taşımaktır. İkinci hata, CSS ve JavaScript dizinlerini engelleyerek botun sayfayı doğru oluşturmasını zorlaştırmaktır. Üçüncüsü ise robots.txt ile bir sayfayı gizlediğini sanmaktır; engellenen bir adres başka sitelerden link aldıysa yine de dizine girebilir. Dizinden çıkarmak için noindex etiketi kullanın ve bu sayfayı taramaya açık bırakın ki bot etiketi görebilsin. Yayına almadan önce arama motorlarının sunduğu robots.txt test araçlarıyla önemli adreslerinizi tek tek deneyin ve sunucu loglarından botların gerçekten kurallara uyup uymadığını izleyin.
Zararlı botlar için ne yapmalı?
Robots.txt bir davettir, zorlama değildir. Saygılı botlar kurallara uyar, kötü niyetli olanlar çoğu zaman görmezden gelir. Veri kazıyan ya da sunucuyu yoran botları engellemek için sunucu düzeyinde IP kısıtlaması, hız sınırı veya güvenlik duvarı kuralları gerekir. Ayrıca user-agent bilgisi kolayca taklit edilebildiği için kritik kararlarda yalnızca bu başlığa güvenmeyin; gerçek arama motoru botlarını ters DNS sorgusuyla doğrulayın.
Robots.txt küçük bir dosya gibi görünse de yanlış bir satır haftalarca görünürlük kaybettirebilir. Kuralları sade tutun, her değişiklikten sonra test edin ve logları düzenli kontrol edin.
