Arama motorları web sitelerini robot olarakta adlandırabileceğimiz web böcekleri ile belli aralıklarla tararlar. Web sitemizin bu web böcekleri tarafından taranmasını istemediğimiz veya özellikle taranmasını istediğimiz bölümlerini /robots.txt ile belirtebiliriz.
Kısaca robots.txt sitemizin taranma izinlerinin bulunduğu bir standarttır. SEO kapsamında önemli bir husus olarak ele alınması gereken robots.txt dosyası oluşturma, rakipleriniz karşısında size avantaj sağlayacaktır.
Robots.txt dosyası ne işe yarar?
Arama motorları sitenize ayırdıkları keşif zamanını optimum kullanarak, siteniz hakkında maksimum bilgiyi veritabanına kaydedebilmek için kendine göre belli başlı kurallar ve algoritmalar geliştirmiştir. Biz de SEO ile ilgileniyor ve web sitemizi en önlerde çıkartmak istiyorsak oyunu arama motorlarının bu kurallarına uyarak oynamalıyız.
Eğer arama motorları robots.txt diye bir yapıyı kullanıyorsa bizim de bu yapıyı kendi web sitemize uyarlamamız gerekiyor diyebiliriz. Madem ki robots.txt dosyasını anlatan bir makaleye kadar geldiniz, o halde siz kurallara uyan bir oyuncusunuz ve robots.txt dosyasını oluşturmaktan başka bir şansınız maalesef yok.
Robots.txt dosyası temel olarak arama motoru botlarına, web sitemizin neresinin taranıp neresinin taranmayacağını söylediğimiz kuralların tanımlandığı dosyadır. Hatta hiç bir botun sitemizi taramasına izin vermeyebileceğimiz gibi belli arama motorlarına da tarama yasağı getirebiliriz.
Ancak sadece bir sayfanın taranmasını, indexlenmesini engellemek istiyorsak, bu işlemin yapılacağı yer robots.txt dosyası değildir.
Tüm bu izin ve engellemelerin ötesinde robots.txt dosyasında özellikle kullandığımız bir husus var ki o da site haritamızın adresini göstermektir. Site haritasının ne demek olduğuna bir başka videoda ayrıntılı olarak bakacağız elbette. Hazır değinmişken, kısaca, adı üzerinde, web sitemizdeki tüm linklerin, dosya ve klasörlerin adreslerinin yer aldığı liste diyip geçebiliriz. Site özeti olarak adlandırabileceğimiz bu haritanın adresi robots.txt dosyasında tutulur. Temel olarak bir web sitesinde bir tane site haritası yer alsaydı belki bu tanımlamaya da gerek kalmayabilirdi belki. Ama büyüyen bir web sitesinde birden fazla site haritası oluşturma ihtiyacı olursa bu durumda her haritanın adresini tutabilmek için yine robots.txt dosyasına ihtiyacımız olacak demektir.
Robots.txt dosyasına ihtiyacım var mı?
Belki de sormamız gereken ilk soru: "Bir Robots.txt dosyasına ihtiyacım var mı?" olmalı. Web sitesi robots.txt olmadan çalışmaz mı? Robots.txt dosyasını oluşturmazsam ne kaybederim? Robots.txt dosyası olmadan web sitem önde çıkmaz mı?
Aslında bu soruları giriş cümlesi ile açıklamış olduk ama yine de robots.txt dosyasının 100% olmazsa olmaz bir unsur olduğunu söylemedik. Eğer tüm dizinlerinizi ve dosyalarını tüm arama motoru botlarına açacaksanız robots.txt önemini biraz yitiriyor. Hele bir de sadece bir tane site haritanız var ve bunu manuel olarak arama motoruna tanıttıysanız ihtiyacınız daha da azalıyor. Bir gün her hangi bir tarama botuna da engel koyma ihtiyacınız da olmayacaksa sizin için çok bir sorun yok demektir.
Ama şunu söylemeliz: Sadece Google değil, Yandex ve Bing'e dahi "robots.txt" yazdığınızda bir Google makalesi geliyor ve birşeyler açıklıyorsa, bunu boşu boşuna yapmıyordur, siz de bu konuya ehemmiyet vermelisiniz demektir.
Robots txt Dosyası Nasıl Oluşturulur?
Robots.txt dosyası oluşturma işlemi tahmin ettiğinizden de basit bir çalışma gerektirir. Dosya uzantısından da anlaşılacağı üzere robots.txt oluşturma işlemi, en basit olarak Windows işletim sistemlerinde Not Defteri (Notepad) uygulaması ile de yapılabilir. Ancak linux türevi bir işletim sistemi kullanıyorsanız vi editörü de kullanabilirisiniz. Hangi editörü kullanırsanız kullanın, kullandığınız editör, kaydetme işlemi sırasında robots.txt oluşturma işleminde dosya içerisine bu dosya yapısına uygun olmayan virgül, nokta, tırnak işareti gibi fazladan karakterler de ekliyorsa, dosyanın yapı standartına uygun davranmıyorsunuz demektir. Bu da sizin için bir problem olarak geri dönebilir. Bu nedenle kaydetme işleminin mümkünse UTF-8 kodlamasıyla yapılmasını sağlayabiliyorsanız daha sağlıklı olacaktır.
Diyelim ki bir robots.txt içinde neler olması, nasıl konfigüre yapılması gerektiğini bilmiyorsunuz ve acilen hızlı bir yardıma ihtiyacınız var. O halde Google'da bir şey aratın ve en önde gelen sitelerin robots.txt dosyalarına bakın. Bilgisayarınıza indirip, kendinize göre düzenleyin ve kendi web sitenize aktarın.
Robots txt nereye yüklenir? Robots txt dosyası nerede?
Robots.txt dosyasının konumu root (kök dizin) olarakta tanımlanan, web sitenizin en üst dizininde olmalıdır. Herhangi bir alt klasörde barındırmamız durumunda arama motorları robots.txt dosyamızı göremeyecektir. Ve yine robots.txt adı dışında başka bir isimle bu dosyayı sitemize eklememizin bir esprisi yoktur. Bu dosya kök dizinde ve robots.txt adı ile yer almalıdır. Örneğin; www.bizimkolej.com/robots.txt
Madem dosyanın adı robots.txt olacak ve madem kök dizinde yer alacak, o halde bir web sitesinde sadece bir adet robots.txt dosyası bulunur diyebiliriz.
Alt alan adlarında da robots.txt olmalı mı?
Eğer siteniz alt alan adları yani subdomainler de içeriyorsa bu durumda bu alt alanlarınızda da ayrıca robots.txt dosyası oluşturmalısınız.
Robots.txt dosyasını gizleyebilir miyim?
Robots.txt dosyasını kullanıcılar için görünmez veya okunmaz hale getirmek mümkün değildir. Yani bir başkasını robots.txt dosyasını okumasını etkileyemez, engelleyemezsiniz. Yada böyle birşey yapmaya kalkıştığınızda arama motorlarının önünü de keserek sitenizin indexlenmesi ile ilgili kalıcı hasarlara sebep olabilirsiniz. Bu yüzden ne yapmıyoruz? robots.txt nin okunabilmesini engelleyecek hal ve hareketlerden kaçınıyoruz.
Robots.txt büyük/küçük harf duyarlı mıdır?
Evet, robots.txt dosyasında belirttiğiniz adres adı web dizininde aynen bulunmalıdır. Örneğin;
disallow: /admin
diye bir kural yazdınız. Ama web dizininde klasör /Admin olarak oluşturulmuş. Bu durumda kuralınız bu klasörün taranmasını engellemeyecektir.
Robots txt dosyası nasıl olmalıdır?
Gelelim önemli sorulardan bir tanesine: Robots.txt dosyası nasıl olmalı? İster özgün yazılım ister wordpress, opencart gibi herhangi bir içerik yönetim sistemli bir hazır bir yapı kullanın Robots.txt her zaman her platform için ihtiyacınızdır.
Robot txt dosyası ile sadece belli bir arama motoru botuna izin verebilirken, sadece birini engelleyebiliriz de. Tam bu noktada bilmemiz gereken bir diğer bilgi ise bir arama motorunun birden fazla botunun olabileceğidir.
Sadece bir klasörü taramasına izin verirken, sadece bir klasörün taranmasını da engelleyebiliriz.
Mahrem bir klasörümüzün taranmasını robots.txt de belirterek engellemek isterken, aslında saldırılması gereken mahrem alanımızın adresini de açık ettiğimizi unutmamalıyız.
Robotlar siteyi taramadan önce robots.txt dosyasına bakarlar. Eğer o bota izin verilmemişse botun siteyi taramamasını bekleriz.
Eğer bota belli bir klasörü taramamasını söylemişsek o klasörü taramamasını bekleriz. Yasaklanmış bir klasörü taramaması ile o klasördeki bir sayfayı indekslemesi farklı şeydir. Yani robotlar robots.txt üzerinden atladığı bir dosyayı, linklemeler neticesinden keşfederek indeksleyebilir.
Robots.txt dosyasında birden fazla kural grubu yer alabilir. Botlarda robots.txt dosyalasında yer alan kuralları yukarıdan aşağı doğru okur ve işler. Bir bot sadece bir kural grubundan etkilenebilir.
Bir bot için disallow ile taramaması söylenmeyen her dosya ve dizin taranabilir demektir.
Eğer taranmasını istemediğimiz yer bir klasör ise adresinin sonuna / karakteri koyarak tamamlamalıyız. Disallow: /junk/ gibi.
Bir arama motorunun birden fazla botu olabileceği gözden kaçırılmamalıdır. Örneğin Google'ın Googlebot-Image botu görsel aramalarla ilgilenirken Googlebot botu da diğer aramalarla ilgilenir.
Robots txt Örnekleri
Tüm arama motoru robotlarının web sitemizin tamamını taramasını istiyoruz:
User-agent: *
Disallow:
Hiç bir arama motoru robotunun web sitemizi taramasını istemiyoruz.
User-agent: *
Disallow: /
Tüm arama motoru böcekleri belirttiğim klasörleri taramamalı
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Özellikle bir arama motoru botunun belli bir klasörü taramasını istemiyorum
User-agent: Yandex
Disallow: /private/
Belirttiğim dosya hiç bir bot tarafından taranmamalı
User-agent: *
Disallow: /uye/profile.html
s harfi ile başlayan içerikleri engelle
User-agent: *
Disallow: /s
#Bu kullanımda www.sitemiz.com/s içeriğinin yanı sıra s ile başlayan www.sitemiz.com/sign, www.sitemiz.com/search içeriği de engellenir. Bu engellemeyi kullanırken dikkatli olmakta fayda var.