Robots.txt dosyası oluşturma

Başlarken

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 belirli bir tarayıcının söz konusu web sitesindeki belirli bir dosya yoluna erişimini engeller (veya erişimine izin verir).

Aşağıda, iki kural içeren basit bir robots.txt dosyasının içeriği gösterilmektedir:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

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

Açıklama:

  1. "Googlebot" adlı kullanıcı aracısının, http://example.com/nogooglebot/ dizinini veya herhangi bir alt dizini 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ı http://www.example.com/sitemap.xml adresinde bulunmaktadır.

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

Temel robots.txt yönergeleri

Robots.txt dosyaları ile ilgili bazı temel yönergeleri burada bulabilirsiniz. Robots.txt söz diziminin inceliklerini anlamak için robots.txt dosyalarının tam söz dizimini okumanızı öneririz.

Biçim ve konum

Bir robots.txt dosyası oluşturmak için neredeyse tüm metin düzenleyicilerini kullanabilirsiniz. Metin düzenleyici, standart UTF-8 metin dosyalarını oluşturabilmelidir. 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).

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ğı web sitesi ana makinesinin kök dizininde bulunmalıdır. Örneğin, http://www.example.com/ altındaki tüm URL'lerde taramayı kontrol etmek için robots.txt dosyası, http://www.example.com/robots.txt konumuna yerleştirilmelidir. Bir alt dizine (örneğin, http://example.com/pages/robots.txt) yerleştirilemez. Web 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. Web sitenizin kök dizinine erişemiyorsanız meta etiketler gibi alternatif bir engelleme yöntemini kullanın.
  • Robots.txt dosyası, alt alan adları (örneğin, http://website.example.com/robots.txt) veya standart olmayan bağlantı noktaları (örneğin, http://example.com:8181/robots.txt) için geçerli olabilir.

Söz dizimi

  • Robots.txt dosyası, UTF-8 olarak kodlanmış metin dosyası olmalıdır (bu, ASCII karakterleri de içerir). Diğer karakter kümelerini kullanmak mümkün değildir.
  • Robots.txt dosyası, bir veya daha fazla gruptan oluşur.
  • Her grup, satır başına bir yönerge olacak şekilde birden fazla kural veya yönergeden (talimat) oluşur.
  • 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
  • Gruplar yukarıdan aşağıya doğru işlenir ve kullanıcı aracısı, yalnızca bir kural grubuyla eşleşebilir. Bu, belirli bir kullanıcı aracısıyla eşleşen ilk ve en ayrıntılı kural olur.
  • Bir kullanıcı aracısının Disallow: kuralıyla engellenmeyen bir sayfayı veya dizini tarayabileceği varsayılan olarak kabul edilir.
  • Kurallar büyük/küçük harfe duyarlıdır. Örneğin Disallow: /file.asp, http://www.example.com/file.asp için geçerlidir, ancak http://www.example.com/FILE.asp için geçerli değildir.
  • # işareti ile başlayan her tür içerik yorum olarak değerlendirilir.

Robots.txt dosyalarında aşağıdaki yönergeler kullanılır:

  • User-agent: [Zorunlu, grup başına bir veya daha fazla] Yönerge, kuralın 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. Aşağıdaki örnekte olduğu gibi kullanılacak bir 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 adlarının açık bir şekilde belirtilmesi gerekir. Örnekler:
    # 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 but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [Kural başına en az bir veya daha fazla Disallow ya da 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 tarayıcıda gösterildiği şekliyle tam sayfa adı olmalıdır; bir dizin ile ilgiliyse / işaretiyle bitmelidir.
  • Allow: [Kural başına en az bir veya daha fazla Disallow veya Allow] 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 parametresini geçersiz kılmak için kullanılır. Tek bir sayfa için tarayıcıda gösterildiği şekliyle tam sayfa adı belirtilmelidir. Dizin olması durumunda kural, / işaretiyle bitmelidir.
  • Sitemap: [İsteğe bağlı, dosya başına sıfır veya daha fazla] Bu web sitesinin 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: http://www.example.com/sitemap.xml

sitemap dışındaki tüm yönergeler yol ön eki, son eki veya dizenin tamamı için * joker karakterini destekler.

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

Bir başka örnek dosya

Robots.txt dosyası, her biri grupların hedefini belirten bir User-agent satırıyla başlayan bir veya daha fazla gruptan oluşur. Burada, iki gruplu bir dosya gösterilmektedir. Her grup, satır içi yorumlarla açıklanmıştır:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

Tam robots.txt söz dizimi

Tam robots.txt söz dizimini burada bulabilirsiniz. Robots.txt söz dizimi öğrenilmesi önem taşıyan bazı karmaşık parçalara sahip olduğundan lütfen tüm dokümanları okuyun.

Yararlı robots.txt kuralları

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

Kural Örnek
Web sitesinin taranmasını tümüyle reddetme. Bazı durumlarda web sitesindeki URL'lerin, taranmamış olsalar bile yine de dizine eklenebileceklerini unutmayın.

User-agent: *
Disallow: /
Dizin adından sonra düz eğik çizgi ekleyerek bir dizin ve içeriğin taranmasına izin vermeme. Gizli içeriğe erişimi engellemek için robots.txt dosyasını kullanmamanız gerektiğini unutmayın. Bunun yerine uygun kimlik doğrulama yöntemini kullanın. Robots.txt dosyasıyla taranmasına izin verilmeyen URL'ler, taranmadan dizine eklenebilir ve robots.txt dosyası başkaları tarafından görüntülenerek gizli içeriğinizin yerinin ortaya çıkmasına neden olabilir.

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

User-agent: Googlebot-news
Allow: /

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

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Eğik çizgiden sonra sayfayı listeleyerek tek bir web sayfasının taranmasına izin vermeme.


User-agent: *
Disallow: /private_file.html

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


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

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


User-agent: Googlebot-Image
Disallow: /

Belirli türdeki dosyaların taranmasına izin vermeme (örneğin, .gif):


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

Sitenizin tamamının taranmasına izin vermeme; ancak bu sayfalarda AdSense reklamları gösterme ve Mediapartners-Google dışındaki hiçbir web tarayıcısına izin vermeme. Bu uygulama, sayfalarınızı arama sonuçlarından gizler. Ancak Mediapartners-Google web tarayıcısı, sitenizin ziyaretçilerine hangi reklamların görüntüleneceğine karar vermek üzere sayfaları analiz etmeye devam eder.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Belirli bir dize ile biten URL'leri eşleştirme; $ kullanın. Örneğin, bu örnek kod .xls ile biten tüm URL'leri engeller:

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