**Robot engelleme standardı**, (aynı zamanda Robot engelleme protokolü veya *robots.txt* olarak da bilinir) web böceği (İngilizce: web spawler) veya web örümceği (İngilizce: web spider) 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)17 Aralık 2008 tarihinde Wayback Machine sitesinde arşivlendi.
* Robots Exclusion (İng.)7 Kasım 2007 tarihinde Wayback Machine sitesinde arşivlendi.
* Using the robots.txt analysis tool (İng.)17 Mart 2009 tarihinde Wayback Machine sitesinde arşivlendi.
* About Robots.txt at the Mediawiki website (İng.)1 Temmuz 2009 tarihinde Wayback Machine sitesinde arşivlendi.
* More info about Robots.txt (İng.)17 Aralık 2008 tarihinde Wayback Machine sitesinde arşivlendi.
* Wikipedia's Robots.txt - an example (İng.)17 Aralık 2008 tarihinde Wayback Machine sitesinde arşivlendi.

Kaynakça
--------

1. ↑  "RFC History (İngilizce)". Robotstxt.org. 17 Mayıs 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Aralık 2008.
2. ↑  "Medyalens". Medyalens. 11 Ocak 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Aralık 2008.
3. ↑  "Robots.txt Nedir". *Hacoos*. 19 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Ocak 2020.
4. ↑  "How can I reduce the number of requests you make on my web site?". *Yahoo! Slurp*. 20 Kasım 2011 tarihinde kaynağından (HTML) arşivlendi. Erişim tarihi: 31 Mart 2007.
5. ↑  "MSNBot is crawling a site too frequently". *Troubleshoot issues with MSNBot and site crawling*. 7 Mayıs 2008 tarihinde kaynağından (HTML) arşivlendi. Erişim tarihi: 8 Şubat 2007.
6. ↑  "An Extended Standard for Robot Exclusion". 10 Kasım 2015 tarihinde kaynağından (HTML) arşivlendi. Erişim tarihi: 16 Aralık 2008.
7. ↑  "Search engines and dynamic content issues". *MSNbot issues with robots.txt*. 1 Nisan 2010 tarihinde kaynağından (HTML) arşivlendi. Erişim tarihi: 1 Nisan 2007.
8. ↑  "Robots.txt Dosyası - HACOOS". 4 Aralık 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Şubat 2021.