Robot engelleme standardı
Robot engelleme standardı, (aynı zamanda Robot engelleme protokolü veya robots.txt olarak da bilinir) web böceği (ing web spawler) veya web örümceği (ing. 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 [email protected] üyeleri tarafından 30 Haziran 1984 tarihinde ulaşılmış bir fikir birliğinden ibarettir.[1] 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.[2] 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ının istendiği ö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.[4][5]
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.[6]
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.[7]
Ayrıca bakınız
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
- "RFC History (İngilizce)". Robotstxt.org. 17 Mayıs 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Aralık 2008.
- "Medyalens". Medyalens. 11 Ocak 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Aralık 2008.
- "Wordpress ve Blogger Robots.txt". Hacoos.
- "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.
- "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.
- "An Extended Standard for Robot Exclusion". 10 Kasım 2015 tarihinde kaynağından (HTML) arşivlendi. Erişim tarihi: 16 Aralık 2008.
- "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.