Bir robots txt dosyası, arama motoru botlarına sitenizin hangi bölümlerini tarayabileceğini söyleyen küçük ama kritik bir metin dosyasıdır. Doğru yazıldığında tarama bütçenizi korur ve gereksiz sayfaların boşuna taranmasını önler; yanlış yazıldığında ise tüm sitenizi Google'a kapatıp organik trafiğinizi bir gecede sıfırlayabilir. Bu yüzden basit görünen bu dosya, teknik SEO'nun en çok hata yapılan noktalarından biridir.
robots.txt tam olarak ne yapar?
robots.txt yalnızca tarama (crawling) davranışını yönetir; indeksleme (indexing) davranışını değil. Bu ayrım kritik. Dosya sitenizin kök dizininde, yani https://siteniz.com/robots.txt adresinde durur. Bot bir adrese istek atmadan önce bu dosyayı okur ve kendisine ait kuralları uygular. Standart adı RFC 9309 ile resmileşmiştir (Robots Exclusion Protocol).
En sık yapılan kavram hatası şudur: "robots.txt ile engellersem sayfa Google'dan kalkar." Hayır. robots.txt bir sayfanın indekslenmesini engellemez; sadece içeriğinin okunmasını engeller. Başka sitelerden link alan, taramaya kapalı bir sayfa hâlâ arama sonuçlarında "Bu sayfa hakkında bilgi yok" açıklamasıyla görünebilir. Bir sayfayı tamamen sonuçlardan çıkarmak istiyorsanız noindex meta etiketi ya da HTTP başlığı kullanın — ve o sayfayı robots.txt ile engellemeyin, çünkü bot noindex etiketini görebilmek için sayfayı tarayabilmelidir.
Temel yapı ve direktifler
Dosya düz metindir (UTF-8) ve gruplar hâlinde okunur. Her grup bir User-agent satırıyla başlar:
User-agent: *
Disallow: /admin/
Disallow: /sepet/
Allow: /admin/genel.css
Sitemap: https://siteniz.com/sitemap.xml
- User-agent: Kuralın hangi bota uygulanacağını belirtir.
*tüm botlar anlamına gelir. Belirli bir bot için ör.Googlebotyazabilirsiniz. - Disallow: Verilen yol önekiyle başlayan adreslerin taranmasını yasaklar.
Disallow: /tüm siteyi kapatır; boşDisallow:ise hiçbir şeyi kapatmaz. - Allow: Bir Disallow kuralının içinde istisna açar. Google'da en uzun (en spesifik) eşleşen kural kazanır.
- Sitemap: Site haritanızın tam URL'sini bildirir. Gruplardan bağımsızdır, dosyanın herhangi bir yerinde olabilir.
Google, joker karakter olarak * (herhangi bir karakter dizisi) ve satır sonu için $ destekler. Örneğin tüm PDF dosyalarını kapatmak için:
User-agent: *
Disallow: /*.pdf$
Yaygın hatalar ve sonuçları
Bu dosyayla yapılan hatalar sessizdir: site çalışmaya devam eder, ama aylar içinde trafiğiniz erir. En sık görülenler:
- Yanlışlıkla tüm siteyi engellemek. Geliştirme ortamından canlıya çıkarken
Disallow: /satırını silmeyi unutmak, klasik felakettir. Canlı sitede bu satır varsa Google taramayı durdurur. - CSS ve JS dosyalarını engellemek.
Disallow: /assets/gibi bir kural, Google'ın sayfayı doğru "render" etmesini engeller. Google sayfayı bir tarayıcı gibi çizer; stil ve script'lere erişemezse mobil uyumluluğu ve düzeni yanlış değerlendirir. - robots.txt'i indeksleme aracı sanmak. Hassas veriyi (ör.
/gizli-rapor.pdf) burada listelemek aslında onu ifşa eder — dosya herkese açıktır ve adresleri merak edenlere fihrist sunar. Erişimi gerçekten kapatmak için kimlik doğrulama ya da sunucu seviyesinde koruma kullanın. - Büyük/küçük harf duyarlılığını gözden kaçırmak. Yollar harf duyarlıdır:
/Sayfaile/sayfafarklı kabul edilir. - 5xx hatası döndürmek. robots.txt sunucu hatası verirse Google dosyayı geçici olarak "her şey yasak" gibi yorumlayabilir ve taramayı yavaşlatır. Dosya 404 dönerse aksine "her şey serbest" sayılır.
Crawl-delay ve diğer yanlış anlaşılan direktifler
Crawl-delay direktifi Google tarafından desteklenmez ve yok sayılır; Bing ve Yandex gibi bazı motorlar dikkate alır. Googlebot'un tarama hızını ayarlamak isterseniz bunu Search Console üzerinden ya da sunucu yanıt sürelerini iyileştirerek yönetirsiniz. Benzer şekilde Noindex: direktifi de bir dönem gayriresmî olarak çalışıyordu ama Google bunu 2019'da kaldırdı — artık çalışmaz. Indekslemeyi engellemek için tek doğru yol, sayfa düzeyinde <meta name="robots" content="noindex"> ya da X-Robots-Tag HTTP başlığıdır.
Dosyanızı test etmek
Yayına almadan önce mutlaka doğrulayın. Pratik bir yaklaşım:
- Google Search Console içindeki robots.txt raporu, Google'ın dosyanızın hangi sürümünü gördüğünü ve hata olup olmadığını gösterir.
- Belirli bir adresin engellenip engellenmediğini URL Denetleme (URL Inspection) aracıyla canlı test edin.
- Değişiklikten sonra dosyayı doğrudan tarayıcıda açıp (
/robots.txt) gerçekten beklediğiniz içeriği döndürdüğünü görün; bazen önbellek ya da yönlendirme eski sürümü servis eder.
Küçük ve sade tutun. Çoğu site için on satırlık net bir dosya, yüzlerce satırlık karmaşık bir yapıdan çok daha güvenlidir. Ne kadar az istisna, o kadar az hata riski.
Sık Sorulan Sorular
robots.txt olmadan sitem taranır mı?
Evet. robots.txt zorunlu değildir; dosya yoksa botlar her şeyi taranabilir kabul eder. Yine de en azından site haritanızı bildirmek ve gerektiğinde kural ekleyebilmek için boş bir dosya bile bulundurmak iyi bir alışkanlıktır.
Bir sayfayı hem robots.txt hem noindex ile kapatabilir miyim?
Hayır, bu ikisini birlikte kullanmayın. Sayfayı robots.txt ile engellerseniz bot içeri girip noindex etiketini göremez, dolayısıyla sayfa indekste kalabilir. Indekslemeyi engellemek istiyorsanız sayfayı taramaya açık bırakıp yalnızca noindex kullanın.
Değişiklik ne kadar sürede etkili olur?
Google robots.txt dosyasını genellikle 24 saatte bir önbelleğe alır. Acil bir düzeltme yaptıysanız Search Console'dan yeniden taranmasını isteyebilirsiniz; aksi hâlde birkaç saat içinde otomatik güncellenir.
Sitenizin tarama ayarları kontrolden mi çıktı? robots.txt, sitemap ve indeksleme yapınızı baştan sona denetleyip güvenli bir kuruluma kavuşturmak isterseniz benimle iletişime geçin.