Robots.txt Nedir?

02/03/2023
Robots.txt

Arama motoru tarayıcılarının web sitelerinde hangi sayfalara erişebileceklerini belirlemek için robots.txt dosyası kullanılır.


Robots.txt Dosyasının Etki Sınırları

  • Tüm arama motorları robots.txt dosyasını desteklemiyor olabilir.
    Robots.txt dosyası üzerindeki komutları Googlebot ve güvenilir web tarayıları uygulasalar da tüm web tarayıcıları bu kuralları uygulamayabilir. Eğer web tarayıcılarının erişmesini istemediğiniz dosyalar varsa bu dosyaları şifreyle koruyun veya farklı bir engelleme yöntemini tercih edin.
  • Farklı tarayıcılar kuralları farklı yorumlayabilir.
    Web tarayıcıları robots.txt dosyası üzerindeki kuralları doğru uygulasalar dahi farklı tarayıcılar kuralları farklı yorumlayabilir. Farklı web tarayıcılarına hitap edecek doğru kuralların bilinmesi ve ona uygun uygulama yapılması gerekir.
  • Başka sitelerden verilen bağlantılar robots.txt üzerinde engellenmiş olsa dahi Google bu sayfaları indeksleyebilir.
    Google botları robots.txt üzerinde bulunan linkleri taramaz fakat eğer bu linkler web üzerinde herhangi bir yerde geçiyorsa Google bu linkleri dizine ekleyebilir.

Robots.txt Dosyası Oluşturma?

Herhangi bir editör (Notepad, Sublime Text, Visual Studio Code…) üzerinde robots.txt dosyasını oluşturabilirsiniz.

Robots.txt Formatı Nasıl Olmalı?

  • Dosyanın adı robots.txt olmalı.
  • Her web sitesinde yalnızca 1 adet robots.txt dosyası bulunmalı.
  • Robots.txt dosyası root dizininde bulunmalı, alt dizinlerde bulunmamalı.
    Doğru Kullanım: https://juniortoexpert.com/robots.txt
    Hatalı Kullanım: https://juniortoexpert.com/sayfa/robots.txt
    Eğer root dizinine ulaşamıyorsanız sayfaları engellemek için alternatif meta etiketlerini kullanabilirsiniz.
  • Subdomainlerde ayrı robots.txt dosyası kullanılabilir. (Örnek: https://tools.juniortoexpert.com/robots.txt) veya standart olmayan bağlantı noktalarında da kullanılabilir. (Örnek: https://juniortoexpert.com:8080/robots.txt)
  • Robots.txt dosyası gönderildiği protokol, host ve port üzerindeki dosya yollarını içerebilir. Örnek olarak https://juniortoexpert.com/robots.txt dosyası https://juniortoexpert.com/ üzerindeki dosya yollarını barındırabilir, subdomain olan https://tools.juniortoexpert.com/ ve farklı bir protokol olan http://juniortoexpert.com/ dosya yollarını barındıramaz.
  • Robots.txt dosyasının UTF-8 olarak kodlanmış olması (ASCII karakter içeren) gerekiyor. Google UTF-8 aralığında olmayan karakterleri görmeyebilir ve dosyanın kuralları geçersiz kalabilir.

Robots.txt Kuralları Nasıl Yazılır?

Kurallar botlara sitenin hangi alanlarının taranabileceğini söyler, aşağıdaki maddelerde robots.txt kuralları hakkındaki yönergeleri inceleyin.

  • Robots.txt dosyası bir veya daha fazla kural grubundan (kurallar kümesi) oluşur.
  • Her grup satır başına bir kural olacak şekilde birkaç kuralı içerir. Her grup user-agent satırı ile başlayarak grubun hedefini belirler.
  • Her bir grup aşağıdaki bilgileri verir.
    • Grubun hedefini belirler. (user-agent)
    • Botların hangi dizine veya sayfalara ulaşacağını belirler.
    • Botların hangi dizine veya sayfalara ulaşamayacağını belirler.
  • Arama motoru botları robots.txt içerisindeki grupları yukarıdan aşağıya doğru işleme alır. User-agent bir kural kümesiyle eşleşir. Eğer birden fazla aynı user-agent kuralına sahip grup varsa işleme başlamadan önce bu gruplar birleştirilerek tek bir grupmuş gibi taranır.
  • Temel varsayım olarak disallow kuralı ile engellenmeyen herhangi bir sayfa veya dizin botlar tarafından taranır.
  • Kurallar büyük küçük harf duyarlıdır. Örnek olarak disallow: /file.html kuralı https://example.com/file.html için geçerlidir ama https://example.com/FILE.html için geçerli değildir.
  • Başına # işareti gelen satırlar yorum satırlarıdır, yorum satırları dikkate alınmaz.

Arama Motoru Botlarının Desteklediği Robots.txt Kuralları

  • user-agent: Robots.txt dosyası içerisinde kesin olarak bir veya birden fazla grup için bulunması gereken bir kuraldır. Sitenin taranması için kabul edeceği botları onaylar. Yıldız (*) karakteri kullanıldığında çeşitli AdsBot botları dışında tüm arama motoru botlarını kabul eder.
    # Tüm botlar için /tags/ dizini engellendi.
    User-agent: *
    Disallow: /tags/
    # Googlebot ve Adsbot-Google tarayıcıları engellendi.
    User-agent: Googlebot
    User-agent: Adsbot-Google
    Disallow: /
    # Googlebot için /tags/ dizini engellendi.
    User-agent: Googlebot
    Disallow: /tags/
    
    # Bingbot için tüm sayfalar taranmaya açık.
    User-agent: Bingbot
    
    # Twitterbot için tüm sayfalar engellendi.
    User-agent: Twitterbot
    Disallow: /
  • disallow: User-agent’in taramasını istenilmeyen sayfa, dizin ve doğrudan sitenin tamamı belirtilebilir. Eğer bir sayfa engellenmek isteniyorsa, sayfanın tam adresi kullanılmalıdır. Eğer bir dizin belirtilecekse “/” karakteri ile başlayıp “/” karakteri ile bitirilmelidir.
    # /en/ dizini ve https://juniortoexpert.com/de/externes-ressourcen-link-element/ sayfası engellendi.
    User-agent *
    Disallow: /en/
    Disallow: https://juniortoexpert.com/de/externes-ressourcen-link-element/
    
  • allow: Allow kuralı bir veya birden fazla satırda kullanılabilir. Domain ismi, dizin ve doğrudan sayfanın ismi belirtilerek arama motoru botlarına belirtilen sayfa için izin verilebilir. Bu kural disallow kuralını ezmek için kullanılır, örnek olarak taranması engellenmiş bir dizin altında bulunan bir sayfanın taranması isteniyorsa allow kuralı kullanılarak bu sayfanın taranmasına izin verilir. Tek bir sayfa belirtilecekse sayfanın domainden sonraki gelen URL uzantısını belirtin. Eğer bir dizin belirtilecekse “/” karakteri ile başlayıp “/” karakteri ile bitirilmelidir.
    # /en/ dizini tamamen engellenmişken allow kuralı ile https://juniortoexpert.com/en/html-script-tag/ sayfasının taranmasına izin verildi.
    User-agent: *
    Disallow: /en/
    Allow: https://juniortoexpert.com/en/html-script-tag/
  • sitemap: Robots.txt üzerinde site haritasını belirtmek için kullanılır. Opsiyonel olarak hiç kullanılmayabilir veya birden fazla satırda farklı site haritaları belirtilebilir.
    # Sitemap kuralı birden fazla satırda farklı site haritalarını belirtmek için kullanılabilir.
    Sitemap: https://juniortoexpert.com/post-sitemap.xml
    Sitemap: https://juniortoexpert.com/page-sitemap.xml
    Sitemap: https://juniortoexpert.com/category-sitemap.xml

Robots.txt Dosyasını Google’a Tanıtma

Web sitesine yüklenmiş robots.txt dosyası arama motoru botları tarafından otomatik olarak bulunur, herhangi bir ek çalışma yapılmasına gerek yoktur.

Kaynak:

https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt