robots.txt nedir?
Bir robots.txt dosyası, web’i tarayan arama motoru robotlarının sitenize erişimini kısıtlar. Bu botlar otomatiktir ve bir sitenin sayfalarına erişmeden önce, belirli sayfalara erişmelerini önleyen bir robots.txt dosyası olup olmadığını kontrol ederler. (Saygın robotların tümü bir robots.txt dosyasındaki yönergeleri gözetse de bazı robotlar yönergeleri farklı yorumlayabilir. Ancak, bir robots.txt dosyası dayatılamaz ve bazı spam göndericilerle diğer kötü amaçlı kişiler bu dosyayı göz ardı edebilir. Bu nedenle, gizli bilgileri şifreyle korumayı öneriyoruz.)
Yalnızca sitenizde arama motorlarının dizine eklemesini istemediğiniz içerik varsa, robots.txt dosyasına gereksinim duyarsınız. Arama motorlarının sitenizdeki her şeyi dizine eklemesini istiyorsanız, robots.txt dosyasına (boş olanına bile) ihtiyacınız yoktur.
Google, robots.txt tarafından engellenen içerik sayfalarını taramamasına veya dizine eklememesine karşın, URL’lerini web üzerindeki diğer sayfalarda bulduğu takdirde bu URL’leri dizine ekleyebilir. Sonuç olarak, sayfanın URL’si ve büyük olasılıkla herkesin kullanımına açık olan site bağlantılarındaki metin veya Açık Dizin Projesi’ndeki (www.dmoz.org) başlığı gibi diğer bilgiler Google arama sonuçlarında görünebilir. Ancak, sayfalarınızın hiçbir içeriği taranmaz, dizine eklenmez veya görüntülenmez.
Bir robots.txt dosyası kullanmak için etki alanınızın köküne erişebilmeniz gerekir (emin değilseniz, web barındırıcınızdan bunu öğrenebilirsiniz). Bir etki alanının köküne erişiminiz yoksa, erişimi robots meta etiketini kullanarak kısıtlayabilirsiniz.
robots.txt dosyası oluşturma
robots.txt dosyası, sitenizdeki dosyaları veya dizinleri taramasını engellemek istediğiniz robotları (“botlar” veya “örümcekler” olarak da adlandırılırlar) belirlemenize olanak tanır. Web Yöneticisi Araçları’ndaki robots.txt dosyası oluşturun aracı ile, sitenizi taramasını istemediğiniz herhangi bir botu belirleyebileceğiniz bir robots.txt dosyasını kolaylıkla oluşturmanızın yanı sıra, sunucunuzdaki belirli dosyalara ve dizinlere erişme izni verebilir veya erişimi engelleyebilirsiniz. Örneğin, aşağıdakileri yapabilirsiniz:
- Web tarayıcıların sitenizdeki bir dosyaya veya dizine erişimini engelleme
- Web tarayıcıların tüm sitenize erişimini engelleme
- Belirli bir tarayıcının sitenize erişimini engelleme
- Web Yöneticisi Araçları Ana Sayfası’nda, istediğiniz siteyi tıklayın.
- Site yapılandırması altında Tarayıcı erişimi‘ni tıklayın.
- robots.txt dosyası oluşturun sekmesini tıklayın.
- Varsayılan robot erişiminizi seçin. Tüm robotlara izin vermenizi ve sitenize erişmesini istemediğiniz belirli botları hariç tutmak için sonraki adımı kullanmanızı öneririz. Böylece önemli tarayıcıların sitenizi taramasını yanlışlıkla engellemenizin neden olabileceği sorunları önlemiş olursunuz.
- Varsa, diğer kuralları belirtin. Örneğin, Googlebot’un sitenizdeki tüm dosyaları ve dizinleri taramasını engellemek için:
- Eylem listesinden İzin Verme seçeneğini belirtin.
- Robot listesinden Googlebot‘u tıklayın.
- Dosyalar veya Dizinler kutusuna / yazın.
- Ekle‘yi tıklayın. robots.txt dosyanızın kodu otomatik olarak oluşturulur.
- Dosyayı indirerek veya içeriği bir metin dosyasına kopyalayıp robots.txt olarak kaydederek robots.txt dosyanızı kaydedin. Bu dosyayı sitenizin en üst düzey dizinine kaydedin. robots.txt dosyası, etki alanının kök dizinine yerleştirilmeli ve “robots.txt” olarak adlandırılmalıdır. Botlar bu dosyayı yalnızca etki alanının kök düzeyinde kontrol ettiği için, alt dizinde bulunan bir robots.txt dosyası geçerli değildir. Örneğin, http://www.example.com/robots.txt geçerli bir yerdir ancak http://www.example.com/sitem/robots.txt geçerli bir yer değildir.
Google Webmaster sayesinde rahatlıkla robots.txt oluşturabilirsiniz üstte açıklaması var alttada oluşturma alanından bir resim
robots.txt dosyasını el ile oluşturma
Yeşil ışık
Google ve diğer arama motorları http://www.example.com, https://www.example.com ve http://example.com adreslerini farklı siteler olarak ele alabilir. Bu sitelerin her birinin taranmasını kısıtlamak istiyorsanız, sitenizin URL’sinin her sürümü için ayrı bir robots.txt oluşturabilirsiniz.
En basit robots.txt dosyası iki kural kullanır:
- User-agent: aşağıdaki kuralın geçerli olduğu robot
- Disallow: engellemek istediğiniz URL
Bu iki satır, dosyada tek bir giriş sayılır. İstediğiniz kadar çok giriş ekleyebilirsiniz. Tek girişe birden çok Disallow satırı ve birden çok user-agent ekleyebilirsiniz.
robots.txt dosyasındaki her bölüm ayrıdır ve önceki bölümlerin üzerinde oluşturulmaz. Örneğin:
User-agent: * Disallow: /klasor1/ User-Agent: Googlebot Disallow: /klasor2/
Bu örnekte, yalnızca /klasor2/ ile eşleşen URL’lerin Googlebot izni kaldırılacaktır.
User-agent’lar ve botlar
User-agent, belirli bir arama motoru robotudur. Web Robotları Veritabanı‘nda, sık kullanılan pek çok bot listelenir. Bir girişi belirli bir bota (adını listeleyerek) veya tüm botlara (yıldız işareti koyarak) uygulanacak şekilde ayarlayabilirsiniz. Tüm botlara uygulanan bir giriş şöyle görünür:
User-agent: *
Google, birbirinden farklı çeşitli botlar (user-agent’lar) kullanır. Bizim web aramamız için kullandığımız bot, Googlebot‘tur. Googlebot-Mobile ve Googlebot-Image gibi diğer botlarımız, Googlebot için belirlediğiniz kurallara uyar, ancak bu botlar için de belirli kurallar ayarlayabilirsiniz.
User agent’ları engelleme
Disallow satırında engellemek istediğiniz sayfalar listelenir. Belirli bir URL’yi veya dize kalıbını listeleyebilirsiniz. Girişin düz eğik çizgiyle (/) başlaması gerekir.
- Sitenin tamamını engellemek için düz eğik çizgi kullanın.
Disallow: /
- Bir dizini ve o dizinin içinde bulunan tüm öğeleri engellemek için dizin adının sonuna bir düz eğik çizgi koyun.
Disallow: /onemsiz-dizin/
- Bir sayfayı engellemek için o sayfayı listeleyin.
Disallow: /ozel_dosya.html
- Belirli bir görseli Google görsel aramasından kaldırmak için şunları ekleyin:
User-agent: Googlebot-Image Disallow: /gorseller/kopekler.jpg
- Sitenizdeki görsellerin tümünü Google görsel aramasından kaldırmak için:
User-agent: Googlebot-Image Disallow: /
- Belirli bir dosya türündeki dosyaları (örneğin, .gif) engellemek için şunları kullanın:
User-agent: Googlebot Disallow: /*.gif$
- Sitenizdeki sayfalarda AdSense reklamları görüntülemeye devam ederken bu sayfaların taranmasını engellemek için Mediapartners-Google dışındaki tüm botları engelleyin. Bu, sayfaların arama sonuçlarında görünmesini engellemekle birlikte Mediapartners-Google robotunun gösterilecek reklamları belirlemek üzere sayfaları analiz etmesine olanak sağlar. Mediapartners-Google robotu, sayfaları diğer Google user-agent’ları ile paylaşmaz. Örneğin:
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: /
Yönergelerin büyük/küçük harfe duyarlı olduğunu unutmayın. Örneğin, Disallow: /onemsiz_dosya.asp
, http://www.example.com/onemsiz_dosya.asp sayfasını engeller ancak http://www.example.com/Onemsiz_dosya.asp sayfasına izin verir. Googlebot beyaz boşluğu (özellikle de boş satırları) ve robots.txt içindeki bilinmeyen dizinleri yok sayar.
Dize kalıbı eşlemesi
Googlebot (ama tüm arama motorları değil) bazı dize kalıbı eşlemelerini dikkate alır.
- Karakterlerden oluşan bir diziyle eşlemek için yıldız (*) kullanabilirsiniz. Örneğin, özel ile başlayan tüm alt dizinlere erişimi engellemek için:
User-agent: Googlebot Disallow: /ozel*/
- Soru işareti (?) içeren tüm URL’lere erişimi engellemek için (daha açık belirtmek gerekirse, alan adınızla başlayan ve ardından herhangi bir dize, bir soru işareti ve herhangi bir dize gelen URL’leri taramasını engellemek için):
User-agent: Googlebot Disallow: /*?
- URL sonu eşlemesini belirtmek için $ karakterini kullanın. Örneğin, .xls ile biten tüm URL’leri engellemek için:
User-agent: Googlebot Disallow: /*.xls$
Bu dize kalıbı eşlemesini, Allow yönergesi ile birlikte kullanabilirsiniz. Örneğin, ? bir oturum kimliğini gösteriyorsa bu öğeleri içeren tüm URL’leri dışlayarak Googlebot’un aynı sayfaları taramasını önleyebilirsiniz. Ancak ? ile biten URL’ler, eklenmesini istediğiniz sayfanın sürümü olabilir. Bu durumda, robots.txt dosyanızı aşağıda gösterildiği biçimde ayarlayabilirsiniz:
User-agent: * Allow: /*?$ Disallow: /*?
Disallow: / *? yönergesi, ? içeren URL’lerin tümünü engeller (daha açık belirtmek gerekirse, alan adınızla başlayan ve ardından herhangi bir dize, bir soru işareti ve herhangi bir dize gelen URL’lerin tümünü engeller).
Allow: /*?$ yönergesi, ? ile biten tüm URL’lere izin verir (daha açık belirtmek gerekirse, alan adınızla başlayan ve ardından bir dize ve bir ? gelen ve ? işaretinden sonra hiç karakter içermeyen URL’lerin tümüne izin verir).
Meta Etiket kullanarak oluşturma
Eğer sitenizin ana dizinine erişme izniniz yoksa sayfanın başındada yazdığı gibi meta etiket kullanabilirsiniz.
Yeşil ışık
Sayfaya diğer sitelerden bağlantı verilse bile bu sayfanın Google web dizininde listelenmesini tümüyle engellemek için noindex meta etiket kullanın. Google sayfayı getirdiğinde, bir noindex meta etiketi görecek ve bu sayfanın web dizininde görüntülenmesini önleyecektir.
Noindex meta standardı http://www.robotstxt.org/meta.html adresinde açıklanmaktadır. Sunucunuza kök erişiminiz yoksa, sayfa bazında sitenize erişimi kontrol etme olanağı sağladığından bu yöntem yararlıdır.
Robots.txt dosyasına site haritanızı ekleyin.
Site haritanızı robots.txt dosyanıza ekleyebilirsiniz. Google’de bu yöntemi kullanıyor.
örnek: Sitemap: http://www.google.com/sitemaps_webmasters.xml
Robots.txt dosyanıza ” Sitemap: http://siteniz.com/sitemapiniz.xml ” böyle eklemelisiniz. Birden fazla sitemap yani site haritanız varsa alt alta ekleyebilirsiniz.
Örnek robots.txt dosyaları
- http://www.google.com/robots.txt
- http://www.micosoft.com/robots.txt
- http://www.flickr.com/robots.txt
- http://www.alexa.com/robots.txt
- https://rooteto.com/robots.txt
Kaynaklar
Bir robots.txt dosyasını el ile oluşturma