Robot engelleme standardı

Robot engelleme standardı, (aynı zamanda Robot engelleme protokolü veya robots.txt olarak da bilinir) web böceği () veya web örümceği () gibi yazılımların web sunucularının kamuya açık bölümlerinin tamamına veya bir kısmına erişimini engellemeye yarayan bir standarttır. Genelde web sitelerini sınıflandırmak ve arşivlemek amacı ile arama motorları ya da düzeltilmiş kaynak kodları için site yöneticileri robotları kullanırlar. Robotlar bu işlem sonucunda web siteleri için site haritaları oluştururlar.

Standart Hakkında 
Bir web sitesinin kodunda bulunan robots.txt isimli dosya, robotlara yaptıkları indeksleme çalışmalarında o sitenin tamamını veya belirli bir bölümünü indekslememesini (göz ardı etmesini) talep eder. Örneğin, web sitenizde arama motorunda çıkmasını istemediğiniz mahrem bilgiler olabileceği gibi ya da sitenizdeki belirli bir içeriğin arama motorlarında çıkmasının sitenin bütününü yanlış tanıtacağı ya da yanlış anlaşılmalara yol açabileceği durumlarda olabilmektedir. Bu gibi durumlar dosyanın kullanım amaçlarından bazı örneklerdir.

Ana domain ile beraber birçok alt-domain'i bulunan web siteleri için, her bir alt-domain kendine ait bir robots.txt dosyasına sahip olmalıdır. Örneğin;

example.com domain'i kendine ait bir robots.txt dosyasına sahipse, fakat a.example.com altında bu dosya yok ise, arama motoru robotları olmayan siteyi arama sayfalarında tarama yaptıysa, listeleyecektir.

Dezavantajları 
Bu protokol tamamen tavsiye niteliğinde, isteğe bağlı olmasına rağmen, web robotlarının bu protokolü uygulamasına ihtiyaç duymaktadır. Yani sitenize bir robots.txt dosyası koymanız, mahremiyetinizi garanti altına almamaktadır. Bazı web site idarecileri robots dosyalarını web sitelerinin özel bölümlerini tüm dünyaya görünmez yapmak için kullanmayı denediler fakat dosyanın kamuya açık olması gerekmekteydi ve dosyanın içeriği bir web tarayıcısı olan herkese açıktı.

Robots.txt dosyası için herhangi bir resmi standart kurum ya da RFC (İng. Request For Comments - internet ve internetin çalışması ile ilgili metotlar araştırmalar ve bilgilerin bulunduğu dokümanlar arşivi) yoktur. Sadece bir robot mail grubu olan robots-request@nexor.co.uk üyeleri tarafından 30 Haziran 1984 tarihinde ulaşılmış bir fikir birliğinden ibarettir. Robotlar tarafından erişilmesinin istenmediği bölümlerin bulunduğu robots.txt dosyası, sitenin kök dizininde bulunmalıdır. Dosya içeriğinde kullanılabilecek metinler aşağıda ayrıca açıklanmıştır.

Otomatik İçerik Kullanım Protokolü 

İngilizcesi Automated Content Access Protocol olan ve Dünya Gazeteler Birliği tarafından başlatılan bu girişimin amacı, kendi ifadelerine göre,  gazete ve dergi içeriklerinin izinsiz kullanılmasını önlemek. Bu amaçla geliştirilen yazılım; gazete ve dergi içeriklerinin kullanımını denetliyor, bunun için izin alınmasını kolaylaştırıyor, izinsiz kullanılan malzemeyi saptıyor ve fikri hakların takibi için müthiş bir destek sağlıyor. Bu uygulamada web sitelerinin içeriğini tarayıp izinsiz kullanım olup olmadığını tarayacağı sistemi nedeni ile, Robot Engelleme Standardının gelecekteki muhtemel eklentisi olarak görülmektedir.

Örnek Kullanımlar 
Bütün robotların, site üzerindeki bütün dosyaları tarayabileceğine izin veren örnek;
"  *  " yıldız işareti istisnasız tüm robotları indeksleme yapabileceğini gösterir.

User-agent: *
Disallow:

Bütün robotların, site üzerindeki hiçbir dosyayı taramaması istenen örnek;

User-agent: *
Disallow: /

Bütün robotlar, site üzerindeki aşağıdaki 4 klasörün içeriğini indekslememeli;

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

İsmi verilen robot, site üzerindeki ismi verilen klasörün içeriğini indekslememeli;

User-agent: BadBot # 'BadBot' kelimesi ilgili botun adı ile değiştirilir.
Disallow: /private/

Bütün robotlar, site üzerindeki aşağıdaki dosyayı indekslememeli;
O klasördeki diğer bütün dosyalar ve sayfalar taratılır.

User-agent: *
Disallow: /directory/file.html

a harfi ile başlayan içerikleri engelleme
User-agent: *
Disallow: /a
#Bu kullanımda siteadi.com/a içeriğinin yanı sıra a harfi ile başlayan siteadi.com/about içeriği de engellenmiş olur. Bu yüzden engellemeyi kullanırken lütfen dikkatli olalım.

Kod içinde yorum yazılan örnekler;
# Yorumlar "#" işaretinden sonra bir satır başında ya da bir komuttan sonra kullanılabilir.
User-agent: * # bütün botları kapsasın
Disallow: / # bütün botları uzak tutsun

Wordpress için admin ve giriş panelinde örnek kullanım;
User-agent: *
Allow: /
Disallow: /wp-admin/*
Disallow: /wp-login/*
Disallow: /cgi-bin/

Blogger için arama sonuçları ve etiketlerde örnek kullanımı;
User-agent: *
Disallow: /search
Disallow: /search?q=
Allow: /

Uyumluluk 

Bütün robotların, bütün sayfalara erişiminin istenmediği durumlarda 
Disallow: *  # yıldız kullanmak pek uygun olmayacağı için onun yerine " / " kullanın.

Standart Dışı Kullanımlar 

Geciktirme komutları

Çoğu büyük web arama botları geciktirme komutunu destekler. Örneğin aşağıdaki örnekte robottan ilgili web sitesinden 10 saniyelik aralıklar ile bilgi çekmesi istemi yapılmıştır.

User-agent: *
Crawl-delay: 10

İzin Ver komutu

Bazı büyük botlar, Allow ( izin ver ) komutu kullanarak Disallow ( kısıtla ) komutunu etkisizleştirmeye imkân verirler. Bu özellikle bütün klasördeki sadece bir dosyanın ya da sayfanın taranmasını istediğiniz durumlarda faydalı olacaktır. Fakat dikkat edilmelidir ki genelde standart olarak robots.txt'nin ilk satırı uygulamaya konulabilir. Fakat Google'ın uygulamasında önce tüm Allow ( izin ver ) komutları işleme konulur daha sonra Disallow komutları işleme konulur. Örneğin;

Allow: /folder1/myfile.html
Disallow: /folder1/

Bu örnekte folder1/myfile.html hariç o klasördeki tüm dosyalar göz ardı edilir.

Gelişmiş Standartlar 

Bu standardı geliştirmek için Visit-time (ziyaret-saati) ve request-rate (talep-oranı) gibi çeşitli önerilerin yapıldığını An Extended Standard for Robot Exclusion (Robot Engelleme için gelişmiş bir standart) adı altında bir takım öneriler yapılmıştır.

User-agent: *
Disallow: /downloads/
Request-rate: 1/5         # her 5 saniyede maksimum 1 sayfa
Visit-time: 0600-0845     # sadece 06:00 ile 08:45 UTC (GMT) saatleri arasında ziyaret edilme talebi

Bu standardın ilk versiyonunda " * " ya da " Disallow " diye herhangi bir komut yoktu. Googlebot ve Slurp gibi modern arama botları " * " lı komutları tanısa da, MSNbot ve Teoma bu komutu farklı şekilde anlamaktadır.

En İyi Uygulamalar 
 Web sitenizin taranmasını istediğiniz hiçbir içeriğini engellemediğinizden emin olun.
 Robots.txt tarafından engellenen sayfalardaki bağlantılar taranmayacaktır. Bu da demek oluyor ki: Diğer arama motorlarına erişilebilen sayfalar (yani, robots.txt, meta robotlar veya başka bir yolla engellenmeyen sayfalar) bağlantılı olmadıkça, kaynaklar taranmayacak ve dizine eklenmeyecektir. Engellenen sayfalar arası veri eşitliği sağlanamaz. Eşitliğin sağlanmasını istediğiniz sayfalarınız varsa, robots.txt dışında farklı bir engelleme mekanizması kullanabilirsiniz.
 SERP sonuçlarında hassas verilerin (özel kullanıcı bilgileri gibi) görünmesini engellemek için robots.txt dosyasını kullanmayın. Diğer sayfalar doğrudan özel bilgiler içeren bir sayfaya (domaininizin ana sayfasındaki robots.txt yönergelerini atlayarak) bağlanabileceğinden, izin vermediğiniz dizine erişebilir. Sayfanızı arama sonuçlarından engellemek istiyorsanız, parola koruması veya noindex meta yönergesi gibi farklı yöntemler kullanabilirsiniz.
 Bazı arama motorlarında birden fazla kullanıcı aracısı vardır. Örneğin, Google, aramalar için Googlebot’u ve görsel arama için Googlebot-Image’i kullanır. Aynı arama motorundaki çoğu kullanıcı aracısı aynı komutlara göre hareket eder, böylece bir arama motorunun birden fazla tarayıcısının her biri için yönergeler ayrı komutlar atamanıza gerek kalmaz. Ancak bunu yapabilmeniz için site içeriğinizin nasıl taranacağını iyi ayarlayabilmeniz gerekir.
 Bir arama motoru robots.txt içeriğini önbelleğe alır, ancak genellikle önbellek içeriğini günde en fazla bir kez günceller. Dosyayı değiştirirmek ve olduğundan daha hızlı bir şekilde güncellemek istiyorsanız, robots.txt URL’nizi Google’a gönderebilirsiniz.

Ayrıca bakınız 

 Arama motoru optimizasyonu

Dış bağlantılar 
Google SSS (Türkçe)
Robots Exclusion (İng.)
Using the robots.txt analysis tool (İng.)
About Robots.txt at the Mediawiki website (İng.)
More info about Robots.txt (İng.)
Wikipedia's Robots.txt - an example (İng.)

Kaynakça 

Dünya Çapında Ağ