robots.txt, bir web sitesinin kök dizininde bulunan ve arama motoru botlarına hangi bölümleri tarayabileceklerini bildiren basit bir metin dosyasıdır. Doğru kullanıldığında sunucu yükünü azaltır ve tarama kaynağının önemli sayfalara harcanmasına yardım eder; yanlış kullanıldığında ise tüm sitenizin aramalardan düşmesine yol açabilir. Bu yazıda sözdizimini, sınırlarını ve sık yapılan hataları anlatıyoruz.
Nerede bulunur ve nasıl çalışır?
Dosya, sitenin kökünde ve tam olarak /robots.txt adıyla olmalıdır: https://www.ornek.com/robots.txt. Her alan adı, alt alan adı ve protokol (http/https) için ayrı bir robots.txt vardır. Bir tarayıcı bir siteyi taramadan önce bu dosyayı okur ve kurallara uymaya çalışır. Standart, 2022'de RFC 9309 olarak yayımlanmıştır. Önemli bir not: robots.txt, kurallara uyan botlar içindir; kötü niyetli botları engellemez ve bir güvenlik mekanizması değildir.
Temel yönergeler
User-agent: * Disallow: /yonetim/ Disallow: /arama? Allow: /yonetim/yardim/ User-agent: Googlebot-Image Disallow: /ozel-gorseller/ Sitemap: https://www.ornek.com/sitemap.xml
User-agent: Kuralların hangi bota uygulanacağını belirtir.*tüm botlar demektir.Disallow: Taranmasını istemediğiniz yolu belirtir. Boş bırakılırsa hiçbir şey engellenmez.Allow: Daha genel bir Disallow kuralının içinde istisna tanımlamak için.Sitemap: Sitemap dosyanızın tam adresini bildirir.*joker karakteri ve$(satır sonu) Google ve çoğu büyük arama motoru tarafından desteklenir:Disallow: /*.pdf$.- Yol eşleştirmesi büyük/küçük harfe duyarlıdır.
Crawl-delay yönergesini Google dikkate almaz; bazı diğer arama motorları kullanabilir.
En önemli fark: robots.txt vs noindex
İkisi sıkça karıştırılır:
- robots.txt (Disallow): Botun sayfayı taramasını engeller. Ancak sayfaya başka sitelerden bağlantı varsa, Google URL'yi içerik görmeden de dizine ekleyebilir; arama sonucunda açıklama olmadan çıkabilir.
- noindex: Sayfanın arama sonuçlarında görünmemesini sağlar.
<meta name="robots" content="noindex">etiketiyle veyaX-Robots-Tag: noindexHTTP başlığıyla verilir.
Kritik nokta: Bir sayfayı noindex yapmak istiyorsanız, o sayfayı robots.txt ile engellememelisiniz; çünkü bot sayfayı tarayamazsa noindex etiketini göremez. Gizli kalması gereken içerik için ise parola koruması veya yetkilendirme kullanın; robots.txt veya noindex gizlilik sağlamaz.
Neyi engellemeli, neyi engellememeli?
- Genellikle engellenebilir: Yönetim paneli yolları, sonsuz sayıda kombinasyon üreten filtre ve arama parametreleri, sepet ve ödeme adımları gibi arama sonucunda değeri olmayan alanlar.
- Engellemeyin: Sayfaların doğru görüntülenmesi için gereken CSS ve JavaScript dosyaları. Google sayfayı çizmek (render) için bunlara ihtiyaç duyar.
- Dikkatle yaklaşın: Sitenin tamamını engelleyen
Disallow: /kuralı, geliştirme sitesinden canlı siteye yanlışlıkla taşınan en yaygın felaket hatalarındandır.
Teknik ayrıntılar
- Google, robots.txt dosyasında yaklaşık 500 KiB sınırına kadar işler; fazlası yok sayılır. Dosyayı kısa tutun.
- Dosya genellikle önbelleğe alınır; değişiklikler hemen yansımayabilir (çoğunlukla 24 saate kadar).
- Dosya sunucuda
404dönerse bot, engel olmadığını varsayar. Sunucu hatası (5xx) dönerse Google bir süre taramayı kısıtlayabilir; robots.txt'nin güvenilir biçimde erişilebilir olması önemlidir. - Dosyanın karakter kodlaması UTF-8 olmalıdır.
Test ve doğrulama
Google Search Console'da "robots.txt raporu", Google'ın dosyanızı en son ne zaman okuduğunu ve sorun olup olmadığını gösterir. Bir URL'nin engellenip engellenmediğini URL Denetleme aracıyla da görebilirsiniz. Dosya adresini tarayıcıda açıp elle kontrol etmek de iyi bir alışkanlıktır. Search Console kullanımı için rehberimize bakın.
Yapay zekâ botları
Bazı yapay zekâ ve veri toplama botları (örneğin kendini GPTBot gibi tanıtanlar), kullanıcı aracısı adlarını belirterek robots.txt kurallarına uyduklarını bildirir. İçeriğinizin bu botlar tarafından kullanılmasını istemiyorsanız ilgili User-agent için Disallow: / ekleyebilirsiniz. Her bot kurallara uymaz, ve her botun adı değişebilir; güncel bilgiler için ilgili şirketin belgelerine bakın.
Kaynaklar ve ileri okuma
- Google Search Central: robots.txt'ye giriş
- Google Search Central: robots.txt belirtimi
- RFC 9309: Robots Exclusion Protocol
Sık Sorulan Sorular
robots.txt olmasa ne olur?
Dosya zorunlu değildir. Yoksa (404 dönerse) botlar sitenin tamamını tarayabileceklerini varsayar. Taramayı kısıtlamak istediğiniz bir alan yoksa dosya olmadan da çalışabilirsiniz.
Bir sayfayı Google'dan nasıl kaldırırım?
Sayfayı silin (404/410 döndürün), noindex ekleyin veya erişimi parolayla kapatın. Acil durumlarda Search Console'daki "Kaldırma" aracıyla geçici gizleme yapılabilir. Yalnızca robots.txt ile engellemek yeterli değildir.
Sitemap satırı zorunlu mu?
Zorunlu değil; ancak sitemap'in adresini robots.txt'ye eklemek, botların onu bulmasına yardımcı olan basit ve yararlı bir uygulamadır. Detay için XML sitemap rehberimize göz atın.