Robots.txt Nedir ve Nasıl Yazılır? Kapsamlı Rehber
Robots.txt dosyasının ne olduğunu, nasıl çalıştığını, doğru söz dizimini ve farklı botlar için örnekleri öğrenin. Yaygın hatalar ve en iyi uygulamalar.
Robots.txt, web sitenizin kök dizininde bulunan ve arama motoru botlarına (crawler) hangi sayfaları tarayabileceklerini, hangilerini atlayacaklarını söyleyen düz bir metin dosyasıdır. Robots Exclusion Protocol (REP) adı verilen standarda dayanan bu dosya, 1994 yılından bu yana web'in temel yapı taşlarından biri olarak kullanılmaktadır.
Bir arama motoru botu sitenize ilk geldiğinde, diğer sayfaları taramadan önce yoursite.com/robots.txt adresini kontrol eder. Bu dosyada tanımlanan kurallara göre hangi dizinleri ve dosyaları tarayacağına karar verir. Ancak burada önemli bir ayrım vardır: robots.txt bir "öneri" niteliğindedir; kötü niyetli botlar bu kuralları görmezden gelebilir. Yine de Googlebot, Bingbot ve diğer büyük arama motorlarının botları bu dosyaya büyük ölçüde saygı gösterir.
Robots.txt Söz Dizimi
Dosya birkaç temel yönerge (directive) kullanır:
User-agent: Kuralların hangi bot için geçerli olduğunu belirtir. Yıldız işareti (*) tüm botlar anlamına gelir.
Disallow: Belirtilen yolun taranmasını engeller. Örneğin "Disallow: /admin/" ifadesi admin dizininin taranmasını önler.
Allow: Disallow ile engellenmiş bir dizin içindeki belirli bir yolu taranabilir yapar. Özellikle Google bu yönergeyi destekler.
Sitemap: Sitenizin XML sitemap dosyasının konumunu botlara bildirir. Birden fazla sitemap tanımlanabilir.
Crawl-delay: Bazı botların ardışık istekler arasında beklemesini sağlar. Google bu yönergeyi resmi olarak desteklemez ancak Bing ve Yandex destekler.
Basit Bir Örnek
Tüm botların sitenizin tamamını taramasına izin veren en basit robots.txt şöyle görünür:
User-agent: * Allow: /
Eğer belirli dizinleri engellemek istiyorsanız:
User-agent: * Disallow: /admin/ Disallow: /api/ Disallow: /tmp/ Sitemap: https://example.com/sitemap.xml
Farklı Botlar İçin Farklı Kurallar
Robots.txt dosyasında her bot için ayrı bloklar tanımlayabilirsiniz. Örneğin AI botlarını engellerken arama motoru botlarına izin vermek istiyorsanız:
User-agent: GPTBot Disallow: /
User-agent: ClaudeBot Disallow: /
User-agent: Googlebot Allow: /
User-agent: * Allow: /
Bu yapıda GPTBot ve ClaudeBot sitenizin tamamından engellenir, Googlebot ve diğer tüm botlar serbestçe tarama yapabilir.
Yaygın Hatalar
En sık yapılan hata, Disallow satırının sonuna eğik çizgi (slash) koymayı unutmaktır. "Disallow: /admin" yalnızca /admin yolunu engeller; ancak /admin/ altındaki sayfaları engellemez. Doğru kullanım "Disallow: /admin/" şeklindedir.
Bir diğer yaygın hata, robots.txt dosyasını kök dizin dışına yerleştirmektir. Dosya mutlaka sitenizin kök dizininde, yani example.com/robots.txt adresinde bulunmalıdır. Alt dizinlerdeki robots.txt dosyaları botlar tarafından dikkate alınmaz.
Ayrıca robots.txt dosyasında hassas URL yapılarını listelemek de güvenlik açısından riskli olabilir. Engellediğiniz URL'ler herkes tarafından görülebilir; bu nedenle gizli tutmak istediğiniz dizinleri burada açıkça belirtmek yerine sunucu tarafında erişim kontrolü uygulamanız daha güvenlidir.
UTF-8 kodlama kullanmak ve dosyayı BOM (Byte Order Mark) olmadan kaydetmek de önemli bir detaydır. Yanlış kodlama, botların dosyayı doğru okumasını engelleyebilir.
En İyi Uygulamalar
Robots.txt dosyanızı düzenli olarak gözden geçirin. Site yapınız değiştikçe, yeni eklenen dizinlerin de kurallara dahil edilmesi gerekebilir. Google Search Console üzerinden robots.txt test aracını kullanarak dosyanızın doğru çalıştığını kontrol edebilirsiniz.
Sitemap yönergesini her zaman ekleyin; bu, arama motorlarının sitenizin yapısını daha iyi anlamasına yardımcı olur. Son olarak, robots.txt ile sayfaları taranmaktan engellemek, o sayfaların arama sonuçlarında görünmeyeceği anlamına gelmez. Sayfaların indekslenmesini tamamen engellemek istiyorsanız, sayfaya noindex meta etiketi veya X-Robots-Tag HTTP başlığı eklemeniz gerekir.