İletişim

Robots.txt Nedir?

Kısa tanım

Robots.txt, bir sitenin kök dizininde (örneğin https://ornek.com/robots.txt) yayımlanan ve tarayıcılara hangi URL yollarını tarayabileceklerini bildiren düz metin dosyasıdır. RFC 9309 ile standartlaşan Robots Exclusion Protocol'e dayanır. Dizine eklemeyi değil taramayı yönetir: engellenen bir URL, başka sayfalardan bağlantı alıyorsa açıklamasız biçimde arama sonuçlarında yine görünebilir.

Diğer adları: robots.txt dosyası, Robots Exclusion Protocol, REP, robots dosyası

Tarayıcının önce robots.txt dosyasını okuduğu, izin verilen /blog/ yolunu taradığı ve engellenen /cart/ yolunu atladığı sıra diyagramı

Dosya nasıl çalışır?

Bir tarayıcı siteye geldiğinde önce /robots.txt adresini ister. Dosya yalnızca bulunduğu protokol, alan adı ve port için geçerlidir; https://ornek.com/robots.txt, https://blog.ornek.com alt alan adını kapsamaz. Dosya gruplardan oluşur: her grup bir ya da daha fazla User-agent satırıyla başlar ve o tarayıcılar için geçerli Disallow ve Allow kurallarını içerir.

  • Google yalnızca dört alanı tanır: user-agent, allow, disallow ve sitemap. Crawl-delay Google tarafından desteklenmez; bazı başka arama motorları bu alanı dikkate alabilir.
  • Bir URL'ye birden fazla kural uyduğunda Google yolu en uzun, yani en spesifik kuralı uygular. Eşitlik durumunda en az kısıtlayıcı olan, yani Allow kazanır.
  • * herhangi bir karakter dizisini, satır sonundaki $ ise URL'nin bittiği yeri ifade eder. Yollar büyük-küçük harfe duyarlıdır.
  • Google dosyanın ilk 500 KiB'ını işler ve dosyayı genellikle 24 saate kadar önbellekte tutar.
  • Dosya 4xx hatası döndürürse (429 hariç) Google kısıtlama yokmuş gibi davranır. 5xx hatası ise başlangıçta taramanın durmasına yol açar.

Örnek bir dosya

User-agent: *
Disallow: /panel/
Allow: /panel/yardim/
Disallow: /*?oturum=

User-agent: GPTBot
Disallow: /

Sitemap: https://ornek.com/sitemap.xml

Bu dosyada tüm tarayıcılar yönetim panelinden uzak tutuluyor, ama panelin herkese açık yardım bölümüne izin veriliyor; Allow: /panel/yardim/ daha uzun bir yol olduğu için o alt dizinde öncelik kazanır. Oturum parametresi taşıyan URL'ler de taranmıyor. İkinci grup yalnızca GPTBot'u sitenin tamamından engelliyor. Son satır ise XML site haritasının yerini bildiriyor; bu satır herhangi bir gruba bağlı değildir.

Tarama engeli, dizin engeli değildir

Google'ın kendi ifadesiyle robots.txt, bir sayfayı Google'ın dışında tutmanın yolu değildir; esas amacı sitenin aşırı istekle yorulmasını önlemektir. Engellenen bir sayfaya başka yerlerden bağlantı verilmişse, URL'si ve bağlantı metinleri gibi bilgiler sonuçlarda açıklamasız olarak görünebilir. Bir sayfayı sonuçlardan uzak tutmak istiyorsanız doğru araç noindex'tir ve sayfanın bu yönergeyi görebilmesi için taranabilir kalması gerekir. Robots.txt'ye noindex satırı yazmak da işe yaramaz; Google bu resmî olmayan kuralı 2019'dan beri desteklemiyor. Taramanın genel işleyişi için tarama maddesine bakabilirsiniz.

Yaygın hatalar

  • Test ortamındaki Disallow: / satırının canlı siteye taşınması.
  • Sayfanın düzgün işlenmesi için gereken CSS ve JavaScript dosyalarının engellenmesi.
  • Robots.txt'yi güvenlik önlemi sanmak: Dosya herkese açıktır ve gizlemek istediğiniz yolları listelemek, onları görünür kılar. Gizli içerik parola veya kimlik doğrulamayla korunmalıdır.
  • Kuralların yalnızca belirli bir bot grubuna yazıldığını unutmak: Bir tarayıcı kendi adına bir grup bulursa User-agent: * grubunu yok sayar.

Yapay zekâ tarayıcıları ve robots.txt

Yapay zekâ şirketlerinin botları da robots.txt'deki user-agent adlarına uyar; bu da site sahiplerine hangi yapay zekâ tarayıcısına izin vereceklerine karar verme imkânı tanır. Örneğin OpenAI'ın model eğitimi için kullandığı GPTBot ayrı bir user-agent adıyla engellenebilir. Google-Extended ise ayrı bir tarayıcı değil, Google'ın taradığı içeriğin Gemini modellerinde kullanılmasını yönetmeye yarayan bir kontrol adıdır ve Google Arama'daki görünürlüğü etkilemez. Kuralların resmî tanımı RFC 9309'da, Google'a özgü yorumu ise Google'ın robots.txt belgesinde yer alır.

İlgili terimler

← Sözlüğe dön