Robots.txt Nedir? Nasıl Oluşturulur ve Kullanılır?

Bu blog yazımızda robots.txt dosyası hakkında merak ettiğiniz tüm konuları kapsamlı olarak ele aldık. Hemen robots.txt kapsamlı içeriğimizi inceleyiniz.

Muhittin Bilgin
Muhittin Bilgin - 08 Temmuz, 2022 - 9 min read
Robots.txt Nedir? Nasıl Oluşturulur ve Kullanılır?

Arama motoru botlarının bir web sitesini ziyaret ettiğinde, tarama ve dizine eklemeyi kontrol etmek için robots.txt dosyasından faydalanılır. Bir diğer ismi robot engelleme standardı olarak bilinen robotst.txt dosyası arama motoru tarayıcılarının bir web sunucusunda yer alan hangi dosyalara erişmesini ya da hangi dosyalara erişmemesini belirtmektedir. Sadece dosya değil ayrıca klasör ve URL’ler ile ilgili yönergeler oluşturulabilir.

Robots.txt dosyası ve kullanımı hakkında bazen çok yanlış bilgiler duyabilirsiniz. Bu dosya siteyi taramak ve keşfetmek için ziyaret eden botlara, web sitesinde yer alan hangi URL’lere tarayacağını söyleyecektir. Arama motoru botlarının oluşturabileceği istek yoğunluğunu azaltmak ve tarama bütçesi optimizasyonu açısından kullanılır.

Bir web sitesinin Google arama motoru sonuç sayfalarından gösterilmesine engel olmak için kullanılabilecek bir yöntem değildir. Bir web sayfasını SERP’te görünürlüğünü engellemek için meta robots etiketi “noindex” ya da sayfayı şifre ile erişim sağlamak içeriğin gösterilmesini engelleyecektir.

Robots.txt Nedir?

Web sitesinde yer alan sayfaları taramak ve keşfetmek için gelen arama motoru botlarına, 200 ‘OK’ HTTP durum koduna sahip sayfalardan hangilerini taramasını ya da hangilerinin taramaması gerektiği hakkında direktiflerin bulunduğu basit metin (txt) dosyasıdır. 

Robots.txt Dosyası Nedir?

Bu basit metin dosyası içerisinde yer alan direktiflere arama motoru botları genellikle uymaktadır. Web sitesini ziyaret eden arama motoru botları, taramasına izin verilmeyen sayfaları taramayacaktır. Bazı durumlarda web sitesi içerisinde bu taranmasını istemediğimiz sayfalara, diğer sayfalardan dahili veya sitelerden harici bağlantılar verilmişse, Google bu direktifi göz ardı edip ilgili sayfayı tarayacaktır. 

Robots.txt dosyası içerisinde arama motoru botlarına genellikle direktif olarak, izin verildi ya da izin verilmedi komutu kullanılır. 

SEO İpucu: Arama motoru botları bir web sitesini ziyaret ettiğinde, robots.txt dosyasını okumak istediğinde eğer ki HTTP 500 Internal Server veya diğer sunucu kaynaklı HTTP durum kodları ile karşılaşırsa, sitede bir hata olduğunu düşünerek taramayı durduracaktır. Bu durum sadece web sitesi için değil, örneğin resimleriniz için bir CDN kullandığınızı düşünürsek, Google ilgili sayfada resim olmadığını düşünecektir. 

SEO İçin Robots.txt Dosyası Neden Önemlidir?

Web sitesini taramak ve keşfetmek için gelen arama motoru tarayıcıları, web sitesi içeriğini görüntülemeden önce ilk baktığı ve kontrol ettiği şey robots.txt dosyasıdır.  Daha sonrasında site haritasında yer alan URL’leri taramaya başlayacak olan botlar, robots.txt dosyasında yer alan direktifler uygulanacaktır. Bu sebepten dolayı dosya içerisinde yer alan her bir direktifin doğru olduğunu kesinlikle kontrol etmeliyiz. 

Robots.txt dosyasında yanlış kullanılan bir direktif, geçici bir fatal hata olarak değerlendirebilir. Yanlışlıkla web sitesini ya da bir kısmını taramaya kapatılmış olması geri dönülemez bir hata olarak değerlendirilmemelidir. Hatanın en kısa sürede fark edilip düzeltilmesi, kötü sonuçlar oluşmasını engelleyecektir.

SEO İçin Robots.txt Dosyası Neden Önemlidir?

Örneğin, robots.txt dosyasında web sitesinin herhangi bir kategori sayfasını yanlışlıkla arama motoru botlarının taramasını engelleyecek şekilde bir komut olduğunu düşünelim, bu hatanın fark edilmemesi kötü sonuçları beraberinde getirebilir. Bu komut yanlışlıkla eklediğinde, bot ilgili sayfanın çok fazla bağlantısı yoksa muhtemelen taramayacak, fakat bir gün sonrasında yanlış komut kaldırıldığında ya da düzeltiğinde arama motoru botları ilgili sayfayı taramaya başlayacaktır.

SEO İpucu: Googlebot web sitesini ziyaret ettiğinde, robots.txt dosyasını önbelleğe kaydetmektedir. Bu önbelleği 24 saatte bir yenilemektedir. Eğer ki robots.txt dosyasında bir düzenleme yaptıysanız, yapılan düzenlemeler 24 saat sonra geçerli olacaktır. 

Farklı bir örnek ise, özellikle e-ticaret web sitelerinde tarama bütçesi optimizasyonu için robots.txt dosyasından faydalanılmalıdır.  Arama motoru botlarının bir web sitesini taramak için harcayacağı süre oldukça kısıtlıdır. Bu durumda siteyi ziyaret eden botların, önemli sayfaları daha kolay ve hızlı taraması için web sitesindeki dinamik olan veya önemsiz sayfalar taramaya kapatılabilir.  

Robots.txt Dosyası Nerede Bulunur?

Arama botlarının bir web sitesinin robots.txt dosyasını kolayca bulması için her zaman sunucularda web sitesi dosyalarının bulunduğu ana kök dizin altına şifresiz olarak eklenir. Düz metin dosyası olarak oluşturulan bu dosya tüm herkes tarafında okunabilecek ve görüntülenebilecek şekilde yetkilendirme yapılmaldır.

Bir web sitesinin robots.txt dosyasına ulaşmak ve görüntülemek için örneğin, web tarayıcısında adres çubuğuna analyticahouse.com/robots.txt yazılması yeterli olacaktır. Tüm tarama botları tarafından evrensel olarak ulaşılabilecek URL yapısı bu olduğundan asla, robots.txt dosyasının yeri değiştirilmemelidir.

Web Sitesi İçin Robots.txt Dosyası Oluşturma

Bir web sitesi için robots.txt dosyası oluşturmak için farklı yöntemler bulunmaktadır. Tercih edilen yöntemlerden biri uygulandığında, oluşturulan robots.txt dosyası, yukarıda bahsettiğimiz gibi kök dizin altına yerleştirilmelidir.

Manuel olarak dosyayı oluşturmak istediğinizde, bilgisayarınızda yüklü olan herhangi bir metin düzenleyicisinden rahatlıkla faydalanabilirsiniz. Yapmanız gereken komutların editöre yazılması ve kaydederken dosya ismine, “robots” verilmeli, uzantısı ise “txt” olmalıdır.

Otomatik olarak oluşturulması için, online bir robots.txt oluşturuculardan faydalanabilir. Oluşturulan dosyayı kök dizin altına yüklemeden önce mutlaka kontrol etmelisiniz. 

Manuel Olarak Robots.txt Dosyası Oluşturma

Manuel olarak robots.txt dosyası oluşturma için yukarıda bahsettiğimiz üzere bir editörden faydalanacağız. Sublime Text, notepad, notepad++ vb. uygulamalarında boş bir dosya açtıktan sonra, dosya içerisine şu komut yazılabilir:

Manuel Olarak Robots.txt Dosyası Oluşturma

  • İlk satırda kullanılan “User-agent:*” komutu, bir sonraki satırlarda yer alan tüm yönergelerin, (ikinci bir “User-agent:” komutu yoksa) siteyi taramaya gelen tüm botlar için geçerli olduğundan bahsetmektedir. 
  • İkinci satırda yer alan “Allow:/” komutu, arama motoru botların sitenin tamamına erişebileceğinden bahsetmektedir.
  • Üçüncü satırda yer alan “Sitemap:” komutu, arama motoru botlarına web sitesinin site haritası dosyasının yerini ve URL adresini belirtilerek, rahatça ulaşmasını sağlamaktadır.

Manuel Olarak Robots.txt Dosyası Oluşturma -1

Standart robots.txt komutlarını yazdıktan sonra, kaydetmelisiniz. Kaydet işlemi sırasında karşımıza çıkan pencerede dosya ismi kısmına “robots.txt” yazmanız yeterlidir.

Oluşturduğunuz dosyası, kök dizin altına yerleştirmeniz gerekmektedir. Sitenizi taramaya gelen botlar burada yazan yönergelere uyacaktır.

Robots.txt Dosyasında Kullanılması Tavsiye Edilen Komutlar

Arama motoru botlarının bir siteyi taramaya başlamadan önce ilk olarak kontrol ettiği robots.txt dosyaları, SEO performansınız açısından oldukça önemlidir. Daha önceden de bahsettiğimiz gibi yanlış kullanımı, web sitenizin ya da önemli sayfalarınızın SERP’te (Search Engine Results Page) görünmesini engelleyebilir. 

Tavsiye edilen robots.txt komutları:

  • User-agent,
  • Allow,
  • Disallow,
  • Sitemap,

Bu çok sık kullanılan robots.txt komutlarını ne işe yaradığını öğrenelim.

User-Agent Komutu Nedir?

User-Agent Komutu Nedir?

Robots.txt dosyasında yer alan “User-Agent” komutu web sitesini ziyaret edecek olan botlardan hangileri için hangi komut geçerli olduğunu belirlemeye yarar. Web sitesini ziyaret edenlerin içeriği görüntülemek için istekte bulunduğu sırada “HTTP Header” başlığı içinde isteği yapan kişi hakkında bilgi aktarır.

HTTP istek başlığında yer alan user-agent bilgisi ayrıca log dosyası analizi yapmak istediğinizde size kullanıcı ile botları rahatlıkla ayırma imkanı sunmaktadır.

İnternet ortamında yüzlerce arama motoru botları yer almaktadır. Arama motoru botları listesi:

  • Googlebot
  • Ahrefsbot
  • AppleBot
  • Screaming Frog SEO Spider
  • DuckDuckBot
  • YandexBot
  • Yahoo! Slurp
  • Yeti
  • Baiduspider
  • Bingbot
  • CatchBot
  • GalaxyBot
  • MJ12bot
  • msnbot
  • SBIder
  • SandCrawler
  • Scrubby
  • SearchSight
  • Seekbot
  • sogou spider

Google tarama botlarının listesi:

  • Googlebot
  • APIs-Google
  • AdsBot-Google-Mobile
  • AdsBot-Google
  • Mediapartners-Google
  • AdsBot-Google-Mobile-Apps
  • FeedFetcher-Google
  • Google-Read-Aloud
  • DuplexWeb-Google
  • googleweblight
  • Storebot-Google

User-agent direktifleri yazılırken, kullanım sırası oldukça önemlidir. 

User-agent ile ilgili bazı senaryolu örnekleri incelersek:

Robot.txt User-Agent Örneği-1: 

Web sitesini taramaya gelen Googlebot’un iş başvurusu sayfası altında yer alan teşekkürler adlı sayfamızı taramasını istemezken, diğer kalan tüm botların taramasını istiyoruz.

User-agent: * 

Allow: /

User-agent: Googlebot

Disallow: /is-basvurusu/tesekkurler

Yukarıda yer alan komut ile Googlebot, Teşekkürler sayfası hariç diğer tüm sayfaları tarayacaktır. İş başvurusu ve onun altındaki diğer tüm sayfaları tarayacaktır. 

Googlebot’un iş başvurusu sayfası altında yer alan tüm sayfaları taranmasını engellemek ve Yandexbot’un iste sadece teşekkürler sayfasını taramasını engellemek istiyorsak.

User-agent: * 

Allow: /

User-agent: Googlebot

Disallow: /is-basvurusu/

User-agent: Yandexbot

Disallow: /is-basvurusu/tesekkurler

Allow ve Disallow Komutu Nedir?

Robots.txt dosyasında yer alan “Allow:” komutu arama motoru botlarına hangi sayfaları taramasına izin verildiği hakkında bilgi aktarır. Disallow komutu kullanılmamışsa, arama motoru botları tüm sayfalara tarama izni verildiği şeklinde yorumlamaktadır. 

Robots.txt Allow ve Disallow Komutu Nedir?

Disallow komutu ise, arama motoru botlarına belirtilen URL veya sayfayı taramaması gerektiğini söylemektedir. Bu sayede arama motoru botları için tarama bütçesi optimizasyonu sağlanmış olacaktır.

3 farklı senaryo ile disallow ve allow komutlarının ne işe yaradığını öğrenelim:

Senaryo - 1: Tarama botlarının web sitesinde ki URL veya sayfaların tamamını taramasına izin vermek istiyoruz?

user-agent: *

Allow:/

Senaryo - 2: Tarama botlarının web sitesinde ki URL veya sayfaların tamamını taramasına izin vermek istemiyoruz yani engellemek istiyoruz?

user-agent: *

Disallow:/

Senaryo - 3: Tarama botlarının web sitesinde ki X sayfasını taramamasını fakat X sayfası altında yer alan Y sayfasını taramasını istiyoruz?

user-agent: *

Disallow:/x-sayfasi/

Allow: /x-sayfasi/y-sayfasi

Robots.txt Dosyasını Google Robots.txt Test Aracı ile Test Etme

Oluşturmuş olduğunuz robots.txt komutlarında, Googlebot için yanlış bir engelleme ya da hatalı bir kullanım olup olmadığından emin değilseniz, bu noktada size bir yardımcı araç bulunuyor. Google’un kendi geliştirdiği robots.txt test aracı ile Googlebot’un sitenizde yer alan URL’lere tarama konusunda izin verilip verilmediğini görebilirsiniz.

Google Robots.txt URL Test Aracı

Bu aracın eksik bir yanı, URL’leri toplu olarak kontrol edemiyor olmanızdır. Bu aracı kullanmak istediğinizde, Google Search Console hesabınızın olması ve kayıtlı olduğunuz e-posta adresi ile erişim sağlamanız gerekmektedir. GSC hesabınızın mail adresi ile erişim yapınız.

Resimde görüldüğü üzere ilgili alanlara, user-agent, allow ve disallow komutlarını uygulayabilirsiniz. Daha sonrasında kontrol etmek istediğiniz URL’i yazarak “Test Et” butonuna tıklayınca size izin verildiğini ya da izin verilmediğini söylemektedir. 

Örneğin, tr path’i altında yer alan SEO sayfamıza Googlebot’un taraması için izin verilip verilmediğini kontrol etmek istediğimizde, en altta sitemizin URL sonrası başında / (slash) olmadan “tr/seo” yazıyoruz ve “test et” butonuna tıklıyoruz. Görüldüğü üzere hangi satırda izin verildiği göstermekte ve sağ alt köşede “izin verildi” yazmaktadır.

Googlebot Robots.txt URL Test Aracı İzin Verildi

Örneğin, tr path’i altında yer alan çerez politikası sayfamıza Googlebot’un taraması için izin verilip verilmediğini kontrol etmek istediğimizde, en altta sitemizin URL sonrası başında yine / (slash) olmadan “tr/cerez-politikasi” yazıyoruz ve “test et” butonuna tıklıyoruz. Görüldüğü üzere hangi satırda izin verilmediğini göstermekte ve sağ alt köşede “engellendi” yazmaktadır.

Googlebot Robots.txt URL Test Aracı Engellendi Hatası

Google Search Console Robots.txt Hata ve Uyarıları

Web sitesinin Googlebot tarafından tarandığı zaman botun karşılaştığı hata ve durumlar hakkında bilgi aldığımız en faydalı yer Google Search Console hesabınızdır.

GSC hesabına giriş yaptıktan sonra sol tarafta yer alan Index > Coverage (Dizin > Kapsam)  tıklamanız gerekiyor. Daha sonrasında sağ tarafta yer alan grafiklerin altında site robots.txt ile ilgili hata ve uyarılardan bahsetmektedir. 

Google Search Console Robots.txt Hata ve Uyarıları

Blocked by robots.txt: Taranmak istenen URL’lerin robots.txt tarafından engellendiğini belirtmektedir. Bunun için ek bir aksiyon almanıza gerek yoktur. Sadece kontrol etmeniz gereken, tarama esnasında site haritasında yer alan URL’in robots.txt tarafından engellenip engellenmediğini kontrol etmelisiniz. Sizin için önemli olan sayfaların durumunu kontrol etmelisiniz.

Indexed, though blocked  by robots.txt: Bazı URL’lerin robots.txt tarafından engellemiş olmasına rağmen, dizine eklendiği bilgisini vermektedir. Dizine eklenen URL’leri kontrol etmeli ve indexlenmesini engelleyecek şekilde aksiyon alabilirsiniz. Örneğin bağlantı ise, nofollow etiketi eklemek, sayfa ise noindex etiketi eklemek gibi çözümler kullanabilirsiniz.

Robots.txt ile ilgili Dikkat Edilmesi ve Unutulmaması Gerekenler

Web sitesini taramak isteyen botları yönlendirmek için kullandığımız robots.txt dosyası ile ilgili dikkat edilmesi ve unutulmaması gerekenler:

  • Botlar bir siteyi taramak için geldiğinde ilk önce robots.txt dosyasını kontrol eder ve indirir.
  • Botların sitenin herhangi bir bölümüne erişmesini istemiyorsanız “disallow:” komutu kullanmalısınız.
  • Botlara yardımcı olmak için, robots.txt dosyasında site haritasının URL’ini “sitemap:” komutu ile belirtmelisiniz.
  • Robots.txt dosyası mutlaka kök dizin altında yer almalıdır. siteadi[.]com/robots.txt gibi olmalıdır.
  • Googlebot robots.txt dosyasını istediğinde eğer ki 429 HTTP durum kodu haricinde, herhangi bir 4XX HTTP durum kodu ile karşılaşırsa sitenin robots.txt dosyası yok gibi davranır. Bu durumda sitenin tüm sayfalarına ve URL’lerini tarayabileceğini belirtir.
  • 429 veya 5XX HTTP durum kodlarından biri ile karşılaştığında örneğin 500 HTTP durum kodu ile karşılaşırsa sitenin taramaya kapalı olduğu şeklinde yorumlar ve taramayı durdurur.
  • Google web sitelerinin robots.txt dosyasını önbellekte tutar. Son 24 saat içerisinde yaptığınız bir değişikliğin etkili olabilmesi için önbelleğin yenilenmesini beklemek zorundasınız.
  • UTF-8 formatında ve txt uzantılı olmak zorundadır.
  • Google, robots.txt dosyalarını maksimum 500KiB’lık bir boyutunu taramaktadır. Bu boyut üzerinde yer alanların, bu sınıra kadar olan satırını dikkate alır sonrasını dikkate almayacaktır.
  • Robots.txt dosyasında yorum satırı oluşturmak için # kullanmanız gerekmektedir.
  • Robots.txt dosyasında yer alan URL path’lerinde mutlaka büyük ve küçük yazımına dikkat ediniz.

Sonuç

Web sitesini taramak için gelen botlara hangi sayfaları taramasını, hangi sayfaları taramaması konusunda direktiflerin bulunduğu robots.txt dosyası, SEO çalışmaları için önemlidir. 

Robots.txt konusunda yayınladığımız blog içeriğimizi faydalı bulduysanız, diğer insanlarında erişebilmesi için sosyal medya hesaplarınızda paylaşarak bizlere destek olabilirsiniz.