Robots.txt dosyası nasıl yazılır ve gönderilir?

Robots.txt dosyası kullanarak sitenizdeki hangi dosyaların tarayıcıların erişimine açık olacağını belirleyebilirsiniz.

Robots.txt dosyası, sitenizin kök dizininde bulunur. Dolayısıyla robots.txt dosyası, www.example.com sitesinde www.example.com/robots.txt adresindedir. Robots.txt, Robot Hariç Tutma Standardı'na uygun bir düz metin dosyasıdır. Robots.txt dosyası, bir veya daha fazla kuraldan oluşur. Her kural, robots.txt dosyasının barındırıldığı alan adında veya alt alan adında belirtilen bir dosya yoluna tüm tarayıcıların ya da belirli bir tarayıcının erişimine izin verir veya erişimi engeller. Robots.txt dosyanızda aksini belirtmediğiniz sürece tüm dosyaların taranmasına izin verilir.

İki kural içeren basit bir robots.txt dosyasını aşağıda görebilirsiniz:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

Bu örnekteki robots.txt dosyasında şunlar belirtilmiştir:

  1. Googlebot adlı kullanıcı aracısının, https://example.com/nogooglebot/ ile başlayan hiçbir URL'yi taramasına izin verilmez.
  2. Diğer tüm kullanıcı aracılarının sitenin tamamını taramasına izin verilir. Varsayılan davranış, kullanıcı aracılarının sitenin tamamını taramasına izin verilmesi olduğundan bu durum belirtilmese dahi sonuç aynı olacaktır.
  3. Sitenin site haritası dosyası, https://www.example.com/sitemap.xml adresinde bulunmaktadır.

Daha fazla örnek için söz dizimi bölümüne bakın.

Robots.txt dosyası oluşturmak için temel kurallar

Robots.txt dosyası oluşturup dosyanın genel olarak erişilebilir ve faydalı olmasını sağlamak için uygulayacağınız dört adım vardır:

  1. Robots.txt adlı bir dosya oluşturma.
  2. Robots.txt dosyasına kural ekleme.
  3. Robots.txt dosyasını sitenizin kök dizinine yükleme.
  4. Robots.txt dosyasını test etme.

Robots.txt dosyası oluşturma

Bir robots.txt dosyası oluşturmak için neredeyse tüm metin düzenleyicilerini kullanabilirsiniz. Örneğin, Notepad, TextEdit, vi ve emacs, geçerli robots.txt dosyaları oluşturabilir. Kelime işlemci kullanmayın (kelime işlemciler, dosyaları genellikle özel bir biçimde kaydeder ve tarayıcılar için sorunlara neden olabilecek kıvrık tırnak gibi beklenmedik karakterler ekleyebilir). Dosyayı kaydet iletişim kutusunda sorulması halinde dosyayı UTF-8 kodlamasıyla kaydettiğinizden emin olun.

Biçim ve konum kuralları:

  • Dosya, robots.txt olarak adlandırılmalıdır.
  • Sitenizde yalnızca bir robots.txt dosyası olabilir.
  • Robots.txt dosyası, geçerli olacağı sitenin ana makinesinin kök dizininde bulunmalıdır. Örneğin, https://www.example.com/ altındaki tüm URL'lerde taramayı kontrol etmek için robots.txt dosyası, https://www.example.com/robots.txt konumuna yerleştirilmelidir. Bir alt dizine (örneğin, https://example.com/pages/robots.txt) yerleştirilemez. Sitenizin kök dizinine nasıl erişeceğinizden emin değilseniz veya bunun için izin almanız gerekiyorsa web barındırma hizmeti sağlayıcınıza başvurun. Sitenizin kök dizinine erişemiyorsanız meta etiketler gibi alternatif bir engelleme yöntemini kullanın.
  • Robots.txt dosyası, alt alan adında (örneğin, https://site.example.com/robots.txt) veya standart olmayan bağlantı noktalarında (örneğin, https://example.com:8181/robots.txt) yayınlanabilir.
  • Robots.txt dosyası yalnızca yayınlandığı protokol, ana makine ve bağlantı noktası içindeki yollarda geçerlidir. Yani, https://example.com/robots.txt içindeki kurallar yalnızca https://example.com/ dosyalarında geçerlidir. https://m.example.com/ gibi alt alan adlarında veya http://example.com/ gibi alternatif protokollerde geçerli değildir.
  • Robots.txt dosyası, UTF-8 olarak kodlanmış metin dosyası olmalıdır (bu, ASCII karakterleri de içerir). Google, UTF-8 aralığı dışındaki karakterleri yoksayabilir ve bu durumda robots.txt kurallarını geçersiz olarak algılayabilir.

Robots.txt kuralları nasıl yazılır?

Kurallar, tarayıcıların sitenizin hangi bölümlerini tarayabileceğini belirten talimatlardır. Robots.txt dosyanıza kural eklerken aşağıdaki esasları dikkate alın:

  • Robots.txt dosyası bir veya daha fazla gruptan (kural grubu) oluşur.
  • Her grup, satır başına bir kural (ayrıca yönerge olarak da adlandırılır) olacak şekilde birden fazla kuraldan oluşur. Her grup, grupların hedefini belirten bir User-agent satırıyla başlar.
  • Bir grup şu bilgileri verir:
    • Kuralın kimin için geçerli olacağı (kullanıcı aracısı).
    • Söz konusu aracının erişebileceği dizinler veya dosyalar.
    • Söz konusu aracının erişemeyeceği dizinler veya dosyalar.
  • Tarayıcılar, grupları yukarıdan aşağıya doğru işler. Kullanıcı aracıları yalnızca bir kural grubuyla eşleşebilir. Bu grup, kullanıcı aracısıyla eşleşen ilk ve en ayrıntılı grup olur. Aynı kullanıcı aracısı için birden fazla grup varsa gruplar, işlenmeden önce tek bir grupta birleştirilir.
  • Bir kullanıcı aracısının kuralıyla engellenmeyen bir sayfayı veya dizini tarayabileceği disallow varsayılan olarak kabul edilir.
  • Kurallar büyük/küçük harfe duyarlıdır. Örneğin disallow: /file.asp, https://www.example.com/file.asp için geçerlidir, ancak https://www.example.com/FILE.asp için geçerli değildir.
  • # karakteri, bir yorumun başlangıcını belirler. Yorumlar, işleme sırasında yoksayılır.

Google'ın tarayıcıları, robots.txt dosyalarında aşağıdaki kuralları destekler:

  • user-agent: [Zorunlu, grup başına bir veya daha fazla] Kural, geçerli olduğu arama motoru tarayıcısı olarak bilinen otomatik istemcinin adını belirtir. Bu, tüm kural gruplarının ilk satırıdır. Google kullanıcı aracısı adları, Google kullanıcı aracısı listesinde yer alır. Yıldız işareti (*), çeşitli AdsBot tarayıcıları dışındaki tüm tarayıcılarla eşleşir. Eşleşmeyen AdsBot tarayıcılarının adlarının açıkça belirtilmesi gerekir. Örneğin:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly)
    User-agent: *
    Disallow: /
  • disallow: [Kural başına en az bir disallow veya allow girişi] Kullanıcı aracısının taramasını istemediğiniz, kök alana göreli olarak belirtilen dizin veya sayfa. Kural, bir sayfaya işaret ediyorsa tam sayfa adını tarayıcıda gösterildiği şekliyle belirtmelidir. / karakteriyle başlamalı ve bir dizine işaret ediyorsa / işaretiyle bitmelidir.
  • allow: [Kural başına en az bir disallow veya allow girişi] Az önce bahsedilen kullanıcı aracısı tarafından taranabilecek bir dizin veya sayfa; kök alanla göreli olarak belirtilir. Bu parametre, izin verilmeyen bir dizindeki bir alt dizinin veya sayfanın taranmasına izin vermek üzere disallow kuralını geçersiz kılmak için kullanılır. Tek bir sayfa için tam sayfa adını tarayıcıda gösterildiği şekliyle belirtin. / karakteriyle başlamalı ve bir dizine işaret ediyorsa / işaretiyle bitmelidir.
  • sitemap: [İsteğe bağlı, dosya başına sıfır veya daha fazla] Bu siteye ait site haritasının konumudur. Site haritası URL'si, tam nitelikli URL olmalıdır; Google, http/https/www.non-www alternatiflerini varsaymaz veya kontrol etmez. Site Haritaları, Google'a tarayabileceği veya tarayamayacağı içeriğe karşılık hangi içeriği taraması gerektiğini bildirmek için iyi bir yoldur. Site haritaları hakkında daha fazla bilgi edinin. Örnek:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: https://www.example.com/sitemap.xml

sitemap dışındaki tüm kurallar yol öneki, soneki veya dizenin tamamı için * joker karakterini destekler.

Bu yönergelerin hiçbiriyle eşleşmeyen satırlar yoksayılır.

Her bir kuralın kapsamlı açıklamasını Google'ın robots.txt spesifikasyonunu yorumlayışı konulu sayfamızda okuyabilirsiniz.

Robots.txt dosyasını yükleme

Robots.txt dosyanızı bilgisayarınıza kaydettikten sonra, dosyayı arama motoru tarayıcılarının erişimine açabilirsiniz. Robots.txt dosyasını sitenize nasıl yükleyeceğiniz, site ve sunucu mimarinize bağlı olduğundan bunu yapmanıza yardımcı olabilecek tek bir araçtan söz edemeyiz. Barındırma şirketinizle iletişime geçebilir veya barındırma şirketinizin dokümanlarında arama yapabilirsiniz (örneğin, "infomaniak dosya yükleme" araması yapabilirsiniz).

Robots.txt dosyanızı yükledikten sonra, herkese açık ve Google tarafından ayrıştırılabilir olup olmadığını test edin.

Robots.txt işaretlemesini test etme

Yeni yüklediğiniz robots.txt dosyasının herkesin erişimine açık olup olmadığını test etmek için tarayıcınızda bir gizli tarama penceresi (veya tarayıcınızdaki eşdeğeri) açıp robots.txt dosyasının bulunduğu yere gidin. Örneğin: https://example.com/robots.txt Robots.txt dosyanızın içeriğini görüyorsanız işaretlemeyi test etmeye hazırsınız demektir.

Google, robots.txt işaretlemesiyle ilgili sorunların düzeltilmesi için iki seçenek sunar:

  1. Search Console'daki robots.txt raporu. Bu raporu yalnızca sitenizde halihazırda erişilebilir olan robots.txt dosyaları için kullanabilirsiniz.
  2. Geliştiriciyseniz Google Arama'da da kullanılan Google'ın açık kaynak robots.txt kitaplığına göz atabilir ve ekleme yapabilirsiniz. Bu aracı, robots.txt dosyalarını bilgisayarınızda yerel olarak test etmek için kullanabilirsiniz.

Robots.txt dosyalarını Google'a gönderme

Robots.txt dosyanızı yükleyip test etmenizin ardından, Google'ın tarayıcıları robots.txt dosyanızı otomatik olarak bulup kullanmaya başlar. Herhangi bir işlem yapmanız gerekmez. Robots.txt dosyanızı güncellediyseniz ve Google'ın önbelleğe aldığı kopyayı en kısa sürede yenilemeniz gerekiyorsa, güncellenen robots.txt dosyalarını gönderme hakkında bilgi edinin.

Faydalı robots.txt kuralları

Yaygın olarak uygulanan bazı faydalı robots.txt kuralları aşağıda listelenmiştir:

Faydalı kurallar
Sitenin tamamının taranmasına izin vermeme

Bazı durumlarda sitedeki URL'lerin, taranmamış olsalar bile yine de dizine eklenebileceklerini unutmayın.

User-agent: *
Disallow: /
Bir dizin ve içeriğinin taranmasına izin vermeme

Tüm bir dizinin taranmasına izin vermemek için dizin adının sonuna bir öne eğik çizgi ekleyin.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
Tek bir tarayıcının erişimine izin verme

Yalnızca googlebot-news tüm siteyi tarayabilir.

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Bir tarayıcı dışında tüm tarayıcıların erişimine izin verme

Unnecessarybot hariç tüm botlar siteyi tarayabilir.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Tek bir web sayfasının taranmasına izin vermeme

Örneğin, https://example.com/useless_file.html adresinde bulunan useless_file.html sayfasına ve junk dizininde other_useless_file.html sayfasına izin vermeme.

User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html

Alt dizin dışında, sitenin taranmasını tümüyle reddetme

Tarayıcılar yalnızca public alt dizinine erişebilir.

User-agent: *
Disallow: /
Allow: /public/

Google Görseller'den belirli bir görseli engelleme

Örneğin, dogs.jpg görselinin taranmasını reddedebilirsiniz.

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Google Görseller'den sitenizdeki tüm görselleri engelleme

Google, görselleri ve videoları taramadan dizine ekleyemez.

User-agent: Googlebot-Image
Disallow: /

Belirli bir türdeki dosyaların taranmasına izin vermeme

Örneğin, tüm .gif dosyalarının taranmasını reddedebilirsiniz.

User-agent: Googlebot
Disallow: /*.gif$

Sitenin tamamının Mediapartners-Google dışındaki tarayıcılar tarafından taranmasına izin vermeme

Bu uygulama, sayfalarınızı arama sonuçlarından gizler. Ancak Mediapartners-Google web tarayıcısının sitenizde ziyaretçilere hangi reklamların gösterileceğini belirlemek için sayfalarınızı analiz etmesi engellenmez.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Belirli bir dizeyle biten URL'leri eşleştirmek için * ve $ joker karakterleri kullanın

Örneğin, tüm .xls dosyalarının taranmasını engelleyebilirsiniz.

User-agent: Googlebot
Disallow: /*.xls$