Robots.txt dosyası nedir

robots.txt nedir nasıl oluşturulur

Robots.txt terimini hiç duydunuz mu ve web sitenize nasıl uygulanacağını merak ettiniz mi? Aslında çoğu internet sitesinin bir robots.txt dosyası var, ancak birçok web yöneticisi bu dosyanın nasıl işlediğini tam olarak bilmemektedir. Bu yazıda WordPress robots.txt dosyası nedir? derin bir dalış yaparak; sitenize erişimi nasıl kontrol edeceğinizi göstereceğim. Yazının sonunda aşağıdakine benzer sorular hakkında yeterince bilginiz olacak.

Haydi başlayalım!

WordPress Robots.txt Dosyası Nedir?

WordPress robots.txt hakkında konuşmadan önce, burada “robot” un ne olduğunu tanımlamak önemlidir. Robotlar internet üzerinde web sitelerini ziyaret eden her tür “bot” dur. En yaygın örneği: arama motoru tarayıcılarıdır. Bu botlar, Google gibi arama motorlarının İnternet üzerindeki milyarca sayfayı dizine ekleyip sıralanmasına yardımcı olmak için web’de tarama yaparlar.

Sonuç olarak, Genelde botlar İnternet için en azından gerekli bir şey. Ancak botların kontrolsüzce dolaşmasını engellemek ve robotlarının web siteleri ile nasıl etkileşime geçtiğini kontrol kontrol etme amaçlı olarak 1990’ların ortalarında robot dışlama standardı oluşturuldu. Robots.txt, o standardın uygulamasıdır. – katılımcı botların siteniz ile nasıl etkileşime girdiğini kontrol etmenize olanak verir. Botları tamamen engelleyebilir, sitenizin belirli alanlarına erişimlerini sınırlayabilir ve daha pek çok şey yapabilirsiniz.

Yukarıda bahsedilen “katılımcı” bölümü önemlidir. Robots.txt  kendi direktiflerine göre bir botu hareket etmeye zorlayamaz. Kötü niyetli botlar robots.txt dosyasını yok sayarlar. Buna ek olarak, saygın kuruluşlar bile Robots.txt dosyasına koyabileceğiniz bazı komutları görmezden gelebilir. Örneğin, Google robot.txt dosyasınıza tarayıcının ziyaret sıklığı hakkında eklediğiniz kuralları yok sayacaktır. Botlar ile ilgili sorun yaşıyorsanız Cloudflare veya Sucuri gibi bir güvenlik çözümü kullanışlı olabilir.

Neden Robot.txt dosyasını önemsememiz ve yapılandırmamız gerekir?

Çoğu web yöneticisi için, iyi yapılandırılmış bir robots.txt dosyasının avantajları iki kategoriye ayrılır:

  • Dizine eklenmesini istemediğiniz sayfaları belirterek; arama motorlarının vakit kaybetmemeleri sağlamak, bize arama motorlarının tarama kaynaklarının en çok önem verdiğimiz sayfalara odaklanmasını sağlar.
  • Sunucu kaynaklarını harcayan botları engelleyerek sunucuda arama işlemlerinin optimize edilmesi ve performansın arttırılması.

Robots.txt, Arama Motorlarının Hangi Sayfaları Dizine Eklediğini Denetleyemez.

Robots.txt arama motorlarının hangi sayfaları indekslediğini kontrol etmek için iyi bir yol değildir. Asıl amacınız, belirli sayfaların arama motoru sonuçlarına dahil edilmesini durdurmak ise, bir meta noindex etiketi veya benzer şekilde doğrudan bir yöntem kullanmak daha doğrudur.

Bunun nedeni, Robots.txt dosyasının arama motorlarına içeriği dizine eklememesini doğrudan söyleyemez, yalnızca bunları taramamasını söylemektedir. Google’ın belirttiğine göre; sitenizin içerisinden işaretli alanları tarama yapmasa bile, başka bir sitenin hariç tuttuğunuz sayfa ile bağlantısını görürse, Google o sayfayı yinede dizine ekleyebilir.

WordPress Robots.txt Dosyası Oluşturma ve Düzenleme

 Varsayılan olarak, WordPress otomatik olarak siteniz için bir sanal robots.txt dosyası oluşturur. Dolayısıyla parmağınızı kımıldatmasınız bile, sitenizin varsayılan bir robots.txt dosyası vardır. Alan adı sonuna “/robots.txt” ekleyerek kontrol edebilirsiniz. Örneğin,”https://www.egezon.com/robots.txt” burada Egezon’da kullandığımız robots.txt dosyasını gösterir.
robots.txt nedir
Robots.txt Dosyası Örneği

Bu dosya sanal olduğundan, dosyayı düzenleyemezsiniz. Robots.txt dosyasını düzenlemeyebilmek için sunucunuzda fiziksel bir dosya oluşturmanız gerekir. Bunu yapmak için 3 tane basit yol var…

Yoast SEO İle Bir Robots.txt Dosyası Oluşturma ve Düzenleme

Popüler olan Yoast SEO eklentisi kullanıyorsanız, Yoast’ın arayüzünden robots.txt dosyanızı oluşturabilir (daha sonra düzenleyebilirsiniz). Buna erişmeden önce SEODashboard (Gösterge Tablosu) → Features (Özellikler ) bölümüne giderek Advanced Setting Pages (Gelişmiş sayfa ayarları) kısmını etkinleştirmeniz gerekir:

yoast-ozelliklerini-aktif-etmek
Gelişmiş Yoast özelliklerini etkinleştirme

Bir kez etkinleştirildiğinde, SEOAraçlar‘a gidip Dosya düzenleyicisine tıklayın:

yoast dosya yöneticisi
Yoast Dosya Düzenleyicisi

Robots.txt dosyası yarat tuşuna bastıktan sonra; Robots.txt dosyanızın içeriğini doğrudan aynı yerde düzenleyebilirsiniz.

yoast robots.txt düzenleme ve oluşturma işlemleri
Yoast Robots.txt Düzenleme

WordPress robots.txt dosyasına hangi komutları ekleyeceğimiz konusunda aşağıda daha fazla bilgi edineceğiz.

All In One SEO Uygulamasında Robots.txt Dosyası nasıl oluşturulur ve düzenlenir.

Yoast kadar popüler olan bir diğer SEO uygulaması olan All in One SEO kullanıyorsanız, WordPress robots.txt dosyanızı doğrudan eklentinin arayüzünden oluşturup düzenleyebilirsiniz. Tek yapmanız gereken All in One SEO → Özellik Yöneticisi ve Robots.txt özelliğini etkinleştirmek:

all in one seo uygulamasında özellik yöneticisi içerisinde robots.txt dosyası oluşturma
All In One SEO’da Robots.txt Dosyası Oluşturma

Ardından, Robots.txt dosyanızı All in One SEORobots.txt sayfasına giderek yönetebilirsiniz:

all in one robots.txt dosyası düzenleme
All In One SEO’da Robots.txt Dosyası Düzenleme

FTP yoluyla bir Robots.txt dosyası nasıl oluşturulur ve düzenlenir

Eğer robots.txt dosyası oluşturmanızı sağlayan bir SEO eklentisi kullanmıyorsanız, yinede SFTP üzerinden robots.txt dosyası oluşturabilir ve yönetebilirsiniz. Öncelikle “robots.txt” adlı bir dosya oluşturmak için herhangi bir metin editörü kullanın:

robots.txt dosyası oluşturma
Robots.txt Dosyası oluşturma

Ardından, sitenize SFTP aracılığıyla bağlanın ve bu dosyayı sitenizin kök klasörüne yükleyin. Böylece Robots.txt dosyasını SFTP ile düzenleyebilir ve yeni sürümlerini yükleyerek değişiklik yapabilirsiniz.

Robots.txt Dosyasında Nelerin Olması Gerekir

Artık sunucunuzda düzenleyebileceğiniz fiziksel bir robots.txt dosyası olduğuna göre, aslında o dosya ile ne yapıyorsunuz ona bakalım. İlk bölümde öğrendiğiniz gibi, robots.txt robotların siteniz ile nasıl etkileşime girdiğini kontrol etmenizi sağlar. Bunu iki temel komutla yaparsınız:

  • User-agent komutu (kullanıcı ajanı) – Bu size belirli botları hedeflememize olanak verir. Kullanıcı ajanları, botların kendilerini tanımlamak için kullandıkları bir şeydir.
  • Disallow komutu (İzin Verme) – Bu, robotlara sitenizin belirli alanlarına erişememeleri gerektiğini söyler.

Bazı durumlarda kullanacağımız Allow (izin ver) komutu da bulunmaktadır. Varsayılan olarak, sitenizdeki her şey İzin Ver olarak işaretlenmiştir; bu nedenle durumların %99 unda kullanılması gerekli değildir. Ancak, bir klasöre Disallow (erişimi engellemek) ancak belirli bir alt klasöre erişime izin vermek istediğinizde kullanışlı olabilir.

Kuralları belirlerken önce User-agent komutu uygulanır; ardından Disallow ( izin verme) ve Allow (izin ver) komutlarını sırasıyla kullanırız. Craw-delay (Tarama gecikmesi) ve Sitemap (Site Haritası) gibi bazı başka komutlar da vardır yalnız bunlar :

  • Çoğu ana Web tarayıcı tarafından göz ardı edilir veya çok farklı şekillerde yorumlanır (tarama gecikmesi durumunda)
  • Google Search Console gibi uygulamalar ile gereksiz hale getirildi (site haritaları için) Not: sitemizde yinede biz bu komutu kullanıyoruz.

Şimdi bu komutları nasıl kullanıyoruz örnekler ile inceleyelim.

Robots.txt Dosyasını Kullanarak Sitenize Erişimi Tamamen Engelleme

Diyelim ki sitenize yapılan tüm tarayıcı erişimini engellemek istiyorsunuz. Halen geliştirmek üzere olduğunuz bir siteniz var ve botlar tarafından taranmasını istemiyorsunuz, Bunu yapmak için, aşağıdaki kodu WordPress robots.txt dosyasına ekleyin.

User-agent: *
Disallow: /

Bu kod da neler oluyor?

User-agent yanındaki * işareti : tüm kullanıcı aracı anlamına gelir. Yıldız işareti joker karakteridir, yani her kullanıcı aracısı için geçerlidir. Disallow (izin vermeme) nin yanındaki / işareti: “website.com/” içeren tüm sayfaların engellenmesi anlamına gelir buda kısaca tüm siteniz demektir.

Robots.txt Dosyasını Kullanarak Tek Bir Botu Engellemek

Bu örnekte, Bing’in sayfalarınızı taramasını beğenmediğinizi varsayacağız. Google Ekibi üyesiniz ve Bing’in sitenize bakmasını bile istemiyorsunuz. Yalnızca Bing’in sitenizi taramasını engellemek için * işaretini Bingbot ile değiştirin.

User-agent: Bingbot
Disallow: /

Aslında, yukarıdaki kod, kullanıcı aracısı: “Bingbot” olan botlara sadece uygula ve tüm dizine erişimi engelle anlamındadır.

Robots.txt Dosyasını Kullanarak Belirli Bir Klasöre veya Dosyaya Erişimi Engelleme

Bu örnek için, yalnızca belirli bir dosya veya klasöre (tüm alt klasörler dahil olmak üzere) erişimi engellemek istediğinizi varsayalım.

Bu dosyalar için:

  • Tüm wp-admin klasörü
  • wp-login.php

Aşağıdaki komutları kullanabilirsiniz:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php

İzin Verilmemiş bir Klasör İçerisinde Belirli Bir Dosyaya Erişim İzini Vermek İçin Robots.txt Nasıl Kullanılır?

Şimdi bütün bir klasörü engellemek istediğinizi varsayalım, ancak yine de o klasör içerisinde belirli bir dosyaya erişime izin vermek istiyorsunuz. Bu örnekte Allow (izin ver) komutu çok işimize yarar:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Bu snippet, / wp-admin/admin-ajax.php dosyası hariç tüm /wp-admin/ klasörüne erişimi engellemektedir.

Varsayılan olarak WordPress site içi aramalar için “?s=” parametresini kullanır. Dolayısıyla bu arama sonuçlarının taranmasını engellemek için aşağıdaki kuralı uygulayın:

User-agent: *
Disallow: /?s=
Disallow: /search/

Bu, Google Search Console’u içerisinde verdiği  404 hatalarını da engellemenin bir yoludur.

Not: Sitemizde arama sonuçları ile ilgili aynı hatayı SEO denetim programları da hata olarak gösteriyordu. Daha önce Robots.txt dosyasından engelleme yapıldığını bilmediğimden dolayı; Sitede arama yapma özelliğini hata almamak için komple kaldırmıştım, böylece 100 küsür seo hatası vermesini engelledim.

Robots.txt Dosyasında Farklı Botlar için Farklı Kurallar Nasıl Oluşturulur?

Şimdiye dek, tüm örnekler ;aynı anda tek bir kuralla uğraşıyordu, ancak farklı botlara farklı kurallar uygulamak isterseniz ne olur? Her bir bot için User-agent kural kümesi eklemeniz yeterlidir. Örneğin, tüm botlar için geçerli olan bir kural ve sadece Bingbot için geçerli olan başka bir kural koymak istiyorsanız, bunu söyle yapabilirsiniz:

User-agent: *
Disallow: /wp-admin/
User-agent: Bingbot
Disallow: /

Bu örnekte, tüm botlar da /wp-admin/ adresine erişim engellenecek, ayrıca Bingbot un siteye erişimi tümüyle engellenecektir.

Robots.txt Dosyasını Test Etme

WordPress robots.txt dosyanızın kurulumunun doğru olduğunu Google Search Console’da test edebilirsiniz. Sitenize tıklamanız ve “Tarama” başlığının altında “robots.txt Test Aracı” na tıklamanız yeterlidir. Daha sonra ana sayfanız da dahil olmak üzere herhangi bir URL gönderebilirsiniz. Her-şey tarana biliyorsa yeşil olarak görmeniz gerekir. Ayrıca engellediğiniz URL’leride test edebilirsiniz.

robots.txt dosyasının google search console'da test edilmesi
Robots.txt Dosyası Test Edilmesi

Robots.txt Dosyasını Doğru Şekilde Kullanın

Robots.txt dosyanızda Allow (izin verme) komutunu kullanmanın noindex etiketi kullanmak ile aynı olmadığını bir kez daha hatırlatmak isterim. Robots.txt taramayı engeller, ancak mutlaka dizine eklenmesini engellemez. Arama motorlarının ve diğer botların siteniz ile nasıl etkileşime geçtiğini şekillendirmek için bu kuralları kullanabilirsiniz ancak içeriğinizi dizine eklenip eklenmediğini acıkça bu dosya kontrol etmemektedir.

Çoğu durumda WordPress’in oluşturduğu varsayılan robots.txt dosyasını değiştirme gerekliliği yoktur. Ancak belirli bir botla ilgili bir sorun yaşıyorsanız veya arama motorlarının, kullandığınız belirli bir eklenti veya temayla olan etkileşimini değiştirmek istiyorsanız, kendi kurallarınızı eklemek isteyeceksiniz.

Umarım bu yazı konu hakkında yeterince bilgilendirici olmuştur. WordPress robots.txt dosyasını kullanma konusunda başka sorularınız varsa aşağıda yorum kısmına yazın. Teşekkürler