Bu yazıda robots.txt ile ilgili rehber tadında bilgilere ve sıkça karşılaşılan hataların çözümlerine ulaşabileceksiniz. Şimdi öncelikle robots.txt dosyasının ne işe yaradığından ve neden kullandığımızdan bahsedelim. Robots.txt dosyası arama motorlarının internet sitenizde var olan hangi içeriklere ulaşıp ulaşmamasını söyleyebileceğiniz dosyadır. Basit bir örnek vermek gerekirse “siteadi.com/kategori/” isimli bir kategoriniz var ve bu kategorideki yazıların index almamasını istiyorsunuz. Bunu robots.txt ile yapabilirsiniz. Sitemap adresinizi de robots.txt dosyası içerisinde belirtip Google‘ın sıkça ziyaret ettiği robots.txt dosyasından erişimini sağlayabilirsiniz.
Robots.txt dosyasında 4 adet terime ihtiyacımız olacak. Bunlar User-agent, Allow, Disallow ve sitemap terimleridir. Bu terimlere belirli komutlar vererek arama motorlarına yön verip, komutlarımızı yerine getirmelerini sağlayacağız.
robots.txt bilinmesi gerekenler
Şimdi detaylara girmeden önce bir kaç şeyden bahsedeceğim. Öncelikle robots.txt dosyası sıralamanıza etki etmez, aslında etki eder nasıl etki eder yanlış kullanımlarda etki eder. Sitenizin index almasını yanlışlıkla kapatırsanız doğal olarak arama sonuçlarından silinirsiniz. Bir diğer değineceğim nokta ise dosyanızı oluştururken birşeylerden korkuyorsanız onu en basit haliyle yani Anasayfa dahil tüm içeriğinizi indexleterek bırakın.
robots.txt User-agent kullanımı dikkat edilmesi gereken noktalar
En önemli terimdir çünkü öncelik belirler. Örneğin iki farklı User-agent kullandınız, bir tanesinde * diğerinde ise Googlebot User-agent kullandınız. * olarak kullandığınız engelleme ve erişim izinleri Googlebot kısmında kullanılmadıysa Google * tarafındakileri reddeder, siz istemeseniz bile index aldırmaya devam eder. Örnek;
- Anasayfa dahil tüm içeriği engelleme
User-agent: *
Disallow: /klasor/
User-agent: Googlebot
Allow: /
Yukarıda verdiğimiz örnekte “siteadi.com/klasor/” kısmını Yahoo, Yandex indexlemeyecek ama Google indexleyecektir, çünkü ona özel bir komut oluşturduk ve o genel olarak belirtilmiş komutları reddederek kendi komutlarına yöneliyor.
neden index alınmamasını arama motorlarının engellenmesini isteriz
Aslında bu sorunun cevabı oldukça basit, internet siteniz daha hazır olmadığı için, duplicate content yani tekrarlanan içerikleri engellemek için, gereksiz sayfaların ulaşılmasını engellemek için(fotoğraf galerisi, özel bilgileri bulunduran sayfalar vb.) ve gereksiz olabilecek resim, javascript gibi dosyalara arama motorlarının ulaşmasını engellemek gibi sebeplerden dolayı index alınmamasını isteriz.
açıklamalarıyla robots.txt kullanım örnekleri
- Anasayfa dahil tüm içeriği engelleme
User-agent: *
Disallow: /
- Anasayfa dahil tüm içeriğe izin ver
User-agent: *
Allow: /
- Klasör , kategori ve ona bağlı içerikleri engelleme
User-agent: *
Disallow: /kategori/
Disallow: /klasor/
Not: Bu kullanımda siteadi.com/kategori/ ve siteadi.com/klasor/ dosyalarını ve buna bağlı olan siteadi.com/kategori/konu.html veya siteadi.com/klasor/resim.png gibi içerikleri engellemiş oluyoruz.
- a harfi ile başlayan içerikleri engelleme
User-agent: *
Disallow: /a
Not: Bu kullanımda siteadi.com/a içeriğinin yanısıra a harfi ile başlayan siteadi.com/about içeriği de engellenmiş olur. Bu yüzden engellemeyi kullanırken lütfen dikkatli olalım.
robots.txt karşılaşılan hatalar ve çözümleri
Şimdi ise genellikle karşılaşılan robots.txt hatalarından bahsedelim ve çözümlerine hep birlikte göz atalım. Öncelikle hatalarınızı görebileceğiniz Google Webmaster Tools ortamındaki alandan bahsedelim. Eğer robots.txt dosyanızda herhangi bir hatanız var ise bunu açıkça aşağıdaki resimdeki alanda görebiliyorsunuz.
Yukarıda resimde gördüğünüz alanda hatalarınıza göz atabilirsiniz, herhangi bir hata yok ise aşağıdaki gibi bir görüntü ile karşılaşacaksınız.
Eğer robots.txt dosyanızdan emin değilseniz ve onu test etmek istiyorsanız yine aynı link üzerinde aşağıdaki resimdeki gibi test edebilirsiniz. Sonuç olarak sitenizin ana dizininin index almasına izin verdiyseniz İzin Verildi yazısıyla karşılaşırsınız.
detaylı karmaşık robots.txt kullanım örnekleri
Öncelikle uygulayacağınız komutlar konusunda çok dikkatli olmalısınız çünkü herhangi yapacağınız bir hata yüksek kayıplara neden olabilir. O yüzden denemelerinizi daha çok yedek sitelerinizde ve ya kullanmadığınız kişisel sitelerinizde deneyiniz. Aşağıdaki kullanım örneklerini her arama motoru desteklemiyor. Bildiğim kadarıyla sadece Bing ve Google tarafından destekleniyor
- ? işareti içeren tüm linklerin index alınmasını engelleme
User-agent: *
Disallow: /*?
Not: ? işareti yerine a gibi bir harf koyarsanız a harfi içeren tüm içerikleri engelleyecektir.
- .html ile biten tüm linklerin index alınmasını engelleme
User-agent: Googlebot
Disallow: /*.html$
Not: Sonu html ile biten tüm içeriklerin index almasını engelleyecektir.
robots.txt içerisinde noindex kullanımı
Biraz detaylı bilgilere girip robots.txt içerisinde noindex kullanımı gibi bir konuya değinmek istiyorum. Bir kaç yerde yaptığım araştırmaya göre bununla ilgili test yapıp olumlu sonuç alanlar da olmuş. Örneğin aşağıdaki gibi bir kullanımda sonucun normal döndüğünü yazmışlar fakat başka birisine göre ise kesinlikle noindex komutunun kullanılmaması gerektiğidir. Bunu söyleyen kişi ise Google çalışanıdır.
User-agent: Googlebot
Disallow: /konu/
Noindex: /konuadi-1/
Not: Yukarıdaki kullanımda siteadi.com/konuadi-1/ daha önce index aldıysa webmaster tools üzerinde hata gösterecektir eğer ki index almadan önce böyle bir komutu kullandıysak hata vermeyecek ve index almayacaktır. siteadi.com/konu/ ise index alsa da almasa da hata görünmeyecektir. İşte bu yüzden tartışma yaşanıyor diyebiliriz.
Şimdilik konu hakkında yazacaklarım bu kadar, konuyu sürekli güncelleyeceğim, aşağıda size detaylı ingilizce kaynakları iletiyorum. Siz de herhangi bir soru veya sorununuz olduğunda yorum kısmından yazmaya çekinmeyin.