googlebot-robots.txt

Arama motoru botlarının asli görevi bir Web sitesinin sayfalarını taramak ve arşivlemektir. Kimi zaman Web sitenizin önemli bilgiler içeren bazı bölümlerini arama motoru botlarının erişimine kapatmak istersiniz.  İşte Robots.txt dosyası bu amaç için kullanabileceğiniz yöntemlerden birisidir. Yanlış oluşturulan bir Robots.txt dosyası sitenizin önemli bölümlerinin arama motorlarının erişimine kapanması anlamına gelebilir. SEO açısından optimum Robots.txt dosyası nasıl hazırlanır? Nelere dikkat edilmelidir? Gelin hep birlikte inceleyelim.

Robots.txt Nedir?

Robots.txt, arama motoru yazılımlarına sitenizin hangi bölümlerini dizine ekleyebileceğini, hangi dizini taraması gerektiğini, hangi arama motoru yazılımının giriş izni olduğunu veya olmadığını söylemeye yarayan basit bir komut dosyasıdır. Örümcek olarak da adlandırılabilen Arama motoru yazılımları sitenize geldiğinde ilk olarak bu dosyayı tarar ve dosyadaki komutlara göre sitenin izin verilen bölümlerini dizine ekler.

Basitçe açıklamak gerekirse Robots.txt sitenizin sınır kapılarını kontrol etmeye benzer. Arama motoru robotlarının hangi sınır kapılarından girebileceğini, hangilerinden giremeyeceğini, hangi arama motoru robotunun giriş izni olduğunu, hangisinin olmadığını belirlemenizi sağlar. Robots.txt dosyası ve içerdiği komutlar doğru şekilde hazırlandıysa, arama motoru robotları bu kurallara uyar ve sitenizi verdiğiniz komutlar doğrultusunda tarar. Bu işlem Robotları Engelleme Standardı (veya Robot Engelleme Protokolü) olarak adlandırılır.

Robots.txt dosyası, her Web sitesinde mutlaka olması gereken bir dosyadır ve doğru şekilde hazırlanmış olması gerekmektedir. Doğru komutlar kullanılarak hazırlanmamış bir Robots.txt dosyası arama motorları tarafından dikkate alınmaz ve taranmasını istemediğiniz dizinler de taranabilir. Bu yüzden kendisi küçük ama etkisi büyük olan bu dosyanın doğru şekilde hazırlanmış olması gerekmektedir.

Robots.txt Dosyasını ve Komutları Anlamak

Robots.txt dosyası belli standartlara uygun olarak hazırlanmalıdır ve sitenizin kök dizinine yüklenmelidir. Robots.txt dosyası hazırlanırken dikkat edilmesi gereken en önemli üç nokta şunlardır:

  1. Robots.txt dosyasının sitenizin kök dizininde bulunuyor olması
  2. Robots.txt dosyasının UTF-8 karakter kodlamasına uygun şekilde hazırlanmış olması
  3. Robots.txt dosyasının site URL’siyle aynı formatta olması

Robots.txt dosyasının sitenizin kök dizininde bulunuyor olması bir gerekliliktir ve dosya oluşturulurken herhangi bir alt klasörde veya başka bir sayfada yer almaması gerekmektedir. Robots.txt dosyasının URL’si mutlaka standart olmalıdır; örneğin:

Doğru: http://www.siteadresiniz.com/robots.txt

Yanlış: http://www.siteadresiniz.com/main/robots.txt

Robots.txt dosyası düz metinden oluşmalı ve UTF-8 karakter kodlaması dışında bir karakter kodlaması kullanılmamalıdır. Robots.txt dosyası dinamik ve değişken içeriğe sahip olabilir, dosyayı istediğiniz zaman istediğiniz şekilde değiştirebilir ve düzenleyebilirsiniz. Tavsiyemiz, dosyanın her zaman çalışır durumda olması, herhangi bir amaçla kullanımdan kaldırılmaması ve gizlenmemesi yönündedir.

Ayrıca Robots.txt dosyasının sahip olduğu URL, sitenizin erişildiği URL ile aynı olmalıdır. Eğer https protokolü kullanıyorsanız, robots.txt dosyasının adresi de https protokolüne uygun olacak şekilde düzenlenmelidir. Örneğin;

Doğru:
Site URL’si: https://www.siteadresiniz.com/
Robots.txt URL’si: https://www.siteadresiniz.com/robots.txt

Yanlış:
Site URL’si: https://www.siteadresiniz.com/
Robots.txt URL’si: http://www.siteadresiniz.com/robots.txt

Robots.txt içerisinde belirli işlemleri gerçekleştirmek için standartlaşmış komutlar kullanılır. Bu komutlar temel olarak üç ana başlıkta toplanmaktadır:

  • Grup komutları
    • Arama motoru robotu engelleme / izin verme
    • Dizin engelleme / izin verme
    • Sayfa engelleme / izin verme
    • Tarama gecikmesi belirtme
  • Grup dışı komutlar
    • Site haritası belirtme
  • Yorum ve notlar
    • Dosyaya eklediğiniz komutlar için yorum ve notlar yazma

Grup Komutları

Grup komutları, kesin ve net ifadelerden oluşmalıdır. Yazım hatası yapılmış veya var olmayan dizin ya da sayfalarla ilgili komutlar dikkate alınmaz. Komutlarda küçük – büyük harf ayrımı yapılmaz ancak komutla belirtilmiş dizin ya da URL’lerde büyük küçük harf ve özel karakter ayrımı yapılmaktadır, komuttan sonra belirlediğiniz bölüm, dizin veya URL’nin nasıl isimlendirildiğine göre değişkenlik gösterebilir. Grup komutlarına örnek olarak aşağıdaki komutlarını kullanabiliriz:

  • User-agent: Kullanıcı aracısı olarak da belirtebileceğimiz bu komut, sitenize hangi arama motoru robotunun gelebileceğini ya da gelemeyeceğini belirtmenizi sağlar. Örneğin arama motorlarının sitenizi taramasını istemiyorsanız, user-agent komutunu kullanabilirsiniz. Böyle bir ayırım yapmak için dizin veya sayfa engelleme / izin verme komutunu da kullanmanız gerekmektedir.
  • Dizin engelleme / izin verme: Sitenizdeki belli bir dizinin taranmasını isteyip istemeyeceğinize göre belirleyebileceğiniz komut satırını oluşturmanızı sağlar. Örneğin sitenizde yer alan görsellerin arama motorları tarafından taranmasını istemiyorsanız, bu komut satırını kullanabilirsiniz.
  • Sayfa engelleme / izin verme: Sitenizdeki belli bir sayfanın taranmasını isteyip istemeyeceğinize göre belirleyebileceğiniz komut satırını oluşturmanızı sağlar. Örneğin sitenizde yer alan spesifik bir sayfanın arama motorları tarafından taranmasını istemiyorsanız, bu komut satırını kullanabilirsiniz.
  • Tarama gecikmesi belirtme: Sitenizin belirttiğiniz süre içerisinde taranabildiği kadar taranmasını, bu süre dışında kalan sayfaların taranmamasına sebep olan bir komut satırıdır.

Komut satırlarının kullanım örnekleri:

User-agent: user-agent komutunu kullanarak bütün arama motorlarının sitenizi taramasını engellemek istiyorsanız robots.txt dosyasını aşağıdaki gibi düzenlemeniz gerekir:

user-agent: *
disallow: /

Önerilen: Tüm arama motoru robotlarına izin vermek için, user-agent: * komut satırını tek başına kullanın.

Dizin Engelleme / izin verme: allow ya da disallow komutlarını kullanarak sitenizdeki belirli dizinlere erişim izni verebilir ya da sınırlama koyabilirsiniz. Bu bölümde yapacağınız değişiklik sadece arama motoru robotuna özeldir. Kullanıcılar komut verdiğiniz dizine erişmeye devam edebileceklerdir. Örneğin:

user-agent: *
disallow: /ozel/

Yukarıdaki komut satırını kullandığınızda, arama motoru robotu sitenizdeki http://www.siteadresiniz.com/ozel/ URL’sine sahip olan “ozel” dizinini taramayacak ve bu dizinin içinde yer alan sayfaları dizine eklemeyecektir.

Sayfa Engelleme / izin verme: allow ya da disallow komutlarını kullanarak sitenizdeki belirli sayfalara erişim izni verebilir ya da sınırlama koyabilirsiniz. Bu bölümde yapacağınız değişiklik sadece arama motoru robotuna özeldir. Kullanıcılar komut verdiğiniz sayfaya erişmeye devam edebileceklerdir. Örneğin:

user-agent: *
disallow: /ozel-belgeler.html/

Yukarıdaki komut satırı da, sadece http://www.siteadresiniz.com/ozel-belgeler.html adresinde yer alan içeriğin taranmasını ve dizine eklenmesini engelleyecektir. Dizin ve URL arasındaki ayrımı yapmak bu açıdan önemlidir.

Tarama Gecikmesi Belirtme: Crawl-delay komutunu kullanarak, arama motoru robotunun tarama için harcayacağı zamanı sınırlandırabilirsiniz. Bu komut genelde sıklıkla sunucu hatası yaşanan ya da çok yüksek ziyaretçi trafiği yüzünden zaman zaman geçici olarak hizmet vermeme ihtimali olan siteler için kullanışlıdır. Bu amaçlar dışında kullanılmamasını tavsiye ederiz. Örneğin belirli bir arama motoru robotunun sitenize geldiğinde sadece 2 dakika boyunca sitenizi taramasını istiyorsanız, şöyle bir komut kullanabilirsiniz:

user-agent: yandexbot
crawl-delay: 2

Yukarıdaki komut satırında, yandexbot’un 2 dakika içinde taradığı kadar sayfayı taraması, 2 dakika bittikten sonra kalan dizin ve sayfaları taramadan siteyi terk etmesi gerektiği belirtilmiştir.

Grup Dışı Komutlar

Grup dışı komutlar, sitemap.xml dosyasının yerini belirtmek için kullanılabilir. Kullanımı oldukça basit olup, sadece sitemap.xml dosyasının URL’sinin doğru şekilde yazılmış olması gerekmektedir. Sitemap.xml dosyası, sitenizin taranması konusunda arama motoru robotlarına en önemli bilgileri vereceği için, mutlaka kullanılmalıdır. Arama motoru robotu sitenizi tararken ilk olarak robots.txt dosyasına göz atmaktadır ve bu dosyada ve sitede sitemap.xml dosyasına dair herhangi bir içerik bulunmaması bir dezavantaj yaratabilir. Örneğin:

user-agent: *
Sitemap: http://www.siteadresiniz.com/sitemap.xml

Yorum ve Notlar

Robots.txt dosyası içerisine, kendinize, site yöneticisine, tasarımcıya veya kullanıcıya hitap eden, arama motoru robotlarının dikkate almadığı notlar bırakabilirsiniz. Bunun için # karakterini kullanmanız gerekmetekdir. Örneğin:

# Not: Tasarım dizini 1 hafta sonra robot erişimine açılacak.
user-agent: *
Disallow: /tasarim/
Disallow: /dosyalar/ # Bu dizin, kopyalama bittikten sonra erişime açılacak.

Bu örnekte # karakterinden sonra yazılı olanlar arama motoru robotları tarafından dikkate alınmaz.

Robots.txt Dosyasında Kullanılabilen Özel Komutlar

Robots.txt dosyasına ekleyeceğiniz özel komutlarla, belli bir karakteri içeren ya da belli bir URL uzantısını içeren sayfaları bütünüyle arama motoru robotlarınnın erişimine kapatabilirsiniz. Örneğin;

user-agent: *
Disallow: /*?

Yukarıdaki örnekte, URL içerisinde soru işareti (?) olan tüm URL’ler arama motoru robotlarının erişimine kapatılmış durumdadır. Yukarıdaki örnekten hariç olarak soru işareti yerine farklı karakterler de kullanabilirsiniz.

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

Yukarıdaki örnekte, dolar işareti ($) kullanarak sitemizde URL uzantısı .asp olan tüm sayfaları arama motoru robotlarının erişimine kapatmış olduk. Yani, http://www.siteadresiniz.com/iletisim/iletisim-formu-deneme.asp benzeri URL’ler bütün olarak arama motoru robotlarının erişimine kapatılmış olur.

robots-txt

Robots.txt Kullanım Amaçları

Yukarıda da bahsettiğimiz gibi, Robots.txt dosyası farklı amaçlar için kullanılabilir. Sadece arama motoru robotlarının sitenizin hangi bölümlerini ziyaret edip etmeyeceğini belirtmeniz dışında, sitenizin yapım aşamasında, tasarım değişikliği çalışmasında ya da genel bakımda olduğu zamanlarda da kullanılması mümkündür. Sitenizi yeni kurduysanız ve tasarım çalışmaları devam ediyorsa veya mevcut tasarımınızı değiştiriyorsanız ve arama motorlarının erişimini engellemek istiyorsanız robots.txt dosyasını kullanabilirsiniz. Çalışmalarınız tamamlandığında dosyayı düzenleyip sitenizi arama motorlarının erişimine tekrar açmayı unutmayın.

Daha önce taranmış ve indekslenmiş sayfaların Robots.txt ile engellenmesi mümkün değildir. Örneğin daha önce Google dizinlerine eklenmiş bir sayfanın arama sonuçlarındaki açıklaması şöyledir:

“Bu sitenin robots.txt dosyası olduğundan, bu sonuç için bir açıklama bulunmamaktadır.Daha fazla bilgi edinin”

Arama motoru kullanıcının yaptığı aramayla eşleşen ve daha önce dizine eklenmiş bir sayfayı arama sonuçlarında gösterdiğinde, sayfa robots.txt ile engellenmişse sayfa açıklaması yerine yukarıdaki açıklamayı eklemektedir. Robots.txt dosyası dizine eklenmiş bir sayfanın ya da dizinin arama motoru dizinlerinden çıkarmak için kullanılmaz.

Önemli: Robots.txt dosyasını kullanarak engellediğiniz bir dizinde yer alan sayfa veya sayfalarınız hala arama motoru robotları tarafından dizine ekleniyor veya arama sonuçlarında çıkıyorsa, bunun sebebi o sayfaların farklı Web sitelerinden link almış olması olabilir. Bu durumda sayfanın izlenmesini robots.txt dosyasını kullanarak engelleyemezsiniz. Bunun yerine robots.txt dosyasında o dizini veya sayfayı engellemeye son verip, taranmasını istemediğiniz dizin ve sayfalarınızda noindex meta etiketini kullanmanız gerekmektedir.

Robots.Txt Kullanım Örnekleri:

Aşağıda örneğini vereceğimiz birkaç komutla, robots.txt dosyasının nasıl kullanılacağını daha iyi anlamaya çalışalım:

User-agent: *
Disallow: /ozel/
Allow: /ozel/ozel-degil.html

Yukarıdaki örnekte, “ozel” dizinini erişime kapattık ancak “ozel degil” sayfasına erişim izni verdik. Bu durumda arama motoru robotu “ozel” dizinini taramıyor ancak “ozel” dizini içinde yer alan “ozel-degil.html” sayfasını tarayabiliyor.

User-agent: googlebot
Disallow: /ozel/
User-agent: *
Disallow: /

Yukarıdaki örnekte, sadece Google Bot’un “ozel” dizinine erişimini engelliyoruz, Googlebot dışındaki diğer tüm arama motoru robotlarının sitenin tamamına erişimini engellemiş oluyoruz.

User-agent: googlebot
Disallow: /ozel/
User-agent: googlebot-images
Disallow: /ozel/
Disallow: /tasarim/

Yukarıdaki örnekte, Google Bot’un “ozel” dizinine erişimini engellerken, Google Görsel Bot’un “ozel” ve “tasarim” dizinlerine erişimini engellemiş oluyoruz.

Not: Yukarıda yer alan komutları kullanırken çok dikkatli olmanızı tavsiye ederiz. Robots.txt dosyanızın düzgün çalışıp çalışmadığını test etmek için Google Search Console Robots.txt test aracını kullanabilirsiniz. Detaylı bilgi için Google’ın robots.txt Spesifikasyonları rehber sayfasına bakabilirsiniz. Ayrıca Google’ın tavsiyesini de göze alarak sitenizdeki bazı bölümleri arama motoru robotlarının erişimine açmanızı tavsiye ederiz. Bilgi için: CSS ve JS Dosyalarınızı Google Botlarının Erişimine Açın!

Son Söz

Web sitenizi yeni kuruyorsanız ya da var olan tasarımınızı değiştirmek istiyorsanız, sitenizin ilk ihtiyacı olan şey, bir Robots.txt dosyasıdır. Ancak daha da önemlisi, bir süredir yayımda olan Web sitenizin bir Robots.txt dosyası yoksa, hemen bir Robots.txt dosyası oluşturmanız gerektiğidir. Samimiyetle söyleyebiliriz ki, SEO projesini yürüttüğümüz Web sitelerinin yarısından fazlası Robots.txt dosyasına sahip değildi ve bu durum büyük bir dezavantaj yaratıyordu. Ancak hemen müdahele ederek standartlara uygun bir robots.txt dosyası oluşturabilir ve dezavantajları ortadan kaldırabilirsiniz.

Robots.txt dosyası bir SEO projesinin teknik kısmını oluşturuyor olsa da çok önemli bir noktadadır ve yeteri kadar önem gösterilmeyi hak etmektedir. Arama motoru robotları sitenize geldiklerinde ilk olarak Robots.txt dosyasına bakmakta ve dosyada yer alan yönergeleri takip etmektedirler. Eğer herhangi bir Robots.txt dosyası yoksa, noindex etiketi olmayan sayfalar taranmaktadır. Ancak çok sayıda sayfaya ve klasöre noindex etiketini tek tek yerleştirmek oldukça zahmetli olacağından, bir Robots.txt dosyası oluşturarak zaman kazanabilir ve sitenizin istediğiniz gibi arama motoru dizinlerine eklenmesini sağlayabilirsiniz.

Emre Ercan
Ben Emre Ercan,
Stradiji Dijtal Pazarlama bünyesinde SEO Uzmanı olarak görev yapmaktayım. Geçmişten beri teknoloji ve internet dünyasıyla olan yakından ilişkim sayesinde SEO'nun olumlu etkilerini müşterilerimize yansıtmak için canla başla çalışmaktayım.