Robots.txt dosyası SEO çalışmalarında dikkat edilmesi gereken önemli bir teknik detaydır. Bu dosyalar web sitenizin arama motorlarına hangi sayfaları indexlemesi, hangilerini indekslememesi konusunda bildirimde bulunurlar. Bu nedenle indexlenmesi gereken bir sayfanın taranması engellenmiş olması bu dosyadan kaynaklı bir talimat hatası olabilir.
Bu yazıda robot.txt dosyası oluşturulması sırasında dikkat edilmesi gerekenler ve robot.txt dosyasının önemi anlatılmaktadır. Yazı sonunda sizde robots.txt dosyalarınızı oluşturabilecek kapsamlı bilgiler elde edeceksiniz.
Bu Yazımızda Neler Var :
Robots.txt Nedir?
Robots.txt dosyası küçük kod metinlerinden oluşan ve sitenin kök dizinine yerleştirilen basit bir dosya türüdür. Bu dosya arama motoru tarayıcıları için standart bir protokol dosyasıdır. Robots.txt sayesinde arama motorları bir siteyi dizine eklemeden önce burada bulunan komutları gözden geçirir. Bu sayede site yöneticileri bir robots.txt dosyası oluşturarak sitenin hangi sayfalarının taranacağını kontrol altına alabilmektedirler.
Kısaca anlatmak gerekirse Robots.txt sitenin özel alanlarının sınırını çizer. Arama motorlarına hangi özel alanlara girilmemesi gerektiğini, hangi arama motorunun siteye girişine izin verilmesi gerektiğini bu dosya sayesinde belirlemiş olursunuz. Arama motorları doğru şekilde hazırlanmış olan komutları dikkate alırlar. Buna Robot Engelleme Protokolü denir.
Robot.txt dosyasının kendisi küçük ancak etkileri büyük olduğu için doğru şekilde hazırlanması ve her web sitesinde bulunması gerekir.
Robots.txt dosyası bir sitenin neresinde bulunur?
Arama motorları tarayıcıları sitenizi taramaya geldiklerinde ilk olarak web sitenizin kök dizininde Robots.txt dosyası olup olmadığını kontrol ederler. Tarayıcıda www.siteadi.com/robots.txt sorgulaması sırasında bir komut dosyası karşınıza çıkmıyorsa sitenizde Robot.txt dosyası yoktur. Bu durumda arama motorları sitenin tamamının taranmaya açık olduğunu kabul edeceklerdir.
Bu nedenle mutlaka web sitenizde bu dosyanın olmasına ve gerekli izin ve kısıtlamaların yapıldığına dikkat edin. Ayrıca Robots.txt dosyanızın bulunmasını istiyorsanız ana dizininize ya da kök domaininize eklemelisiniz.
Robots.txt Hangi Amaçla Kullanılır?
Yukarıda da açıkladığımız durumlarda kullanmanın yanında özellikle yeni açılan web sitelerinin içerik ve optimizasyon işlemlerinin bitimine kadar ki sürede siteyi arama motorlarının indekslemesine kapatmalısınız. Bu durumda da Robots.txt dosyası kilit rol oynayacaktır.
Daha önceden indekslenmiş sayfaların Robots.txt ile engellenmesi mümkün değildir. Bu nedenle bu dosyanın kullanımı konusunda hatalara düşülmektedir. Örneğin arama motorlarına indeksleme iznini kapatınca daha önceden indekslenmiş sayfaların da sonuç sıralamalarından çıkarıldığı yanılgısına kapılmak.
Önemli: Arama motorları Robot.txt dosyasında bulunan komutlara kesinlikle uyacak diye bir kural yoktur. Bu nedenle taranmasını istemediğiniz sayfalara ki bu sayfalar önemli sayfalar ise mutlaka bu sayfalarda noindex etiketi kullanmalısınız.
Robots.txt Nasıl Oluşturulur?
Robots.txt dosyasını oluşturmadan önce, bu dosya içerisinde bulunan komutların neler olduğu ve ne işe yaradığını bilmelisiniz.
Robots.txt Komutları
Robots.txt dosyasının web sitenizin kök dizininde bulunması bir zorunluluktur. Oluşturduğunuz dosya herhangi bir alt klasörde olmamalıdır. Bunun nedeni arama motorları bu dosyanın varlığını kontrol ederken “siteadi.com/robots.txt” URL uzantısına bakarlar. Alt klasörde bulunan bir Robot.txt dosyasının URL yapısı “siteadi.com/klasor-adi/robots.txt” olacağı için bu geçersiz bir dosyalama olacaktır.
Robots.txt dosyası düz metinden oluşmalıdır. Bu metinde ise UTF-8 karakter kodlaması dışında bir karakter kodlaması kullanılmamalıdır. Yani metinde Türkçe karakterler olmamalıdır. Örnek bir sorgulama sonucunda dosya aşağıdaki gibi çıkar.
Dikkat ettiyseniz benim komut dosyamda sitemap dosyamın URL uzantısı da bulunmaktadır. Bunun nedeni ise ilk olarak arama motorları botlarını site haritasını taramaya teşvik etmektir.
Robots.txt içerisinde izin işlemleri gerçekleştirmek için bazı standartlaşmış komutlar kullanılır. Bu komutlar liste komutları ve liste dışı komutları olmak üzere ikiye ayrılır.
Liste komutları
- Arama motoru tarama engelleme / izin verme komutu
- Dizin engelleme / izin verme komutu
- Sayfa engelleme / izin verme komutu
- Tarama gecikmesi belirtme komutları
Liste dışı komutlar
- Site haritası belirtme komutu
Liste Komutları
Liste komutları, yazı hatasından uzak kesin ifadeler içermelidir. Komutlarda belirtilmiş dizin ya da URL’lerde büyük küçük harf ve özel karakter ayrımı olduğu için kullanılan karakterlere dikkat edilmesi gerekir. Burada sadece komutların kendisinde büyük-küçük harf hassasiyeti yoktur. Liste komutlarına örnek olarak aşağıdaki komutlar sıklıkla kullanılır.
- User-agent: Sitenize hangi arama motoru robotunun gelip gelemeyeceğini belirtmenizi sağlar.
- Dizin engelleme / izin verme: Sitenizdeki belli bir dizinin taranıp taranmayacağını belirleyebileceğiniz komuttur.
- Sayfa engelleme / izin verme: Sitenizdeki herhangi bir sayfanın taranıp taranmayacağını belirleyebileceğiniz komuttur.
- Tarama gecikmesi belirtme: Sitenizde gerçekleşen taramalara süre kısıtlaması getirebileceğiniz komuttur.
Komut satırlarının kullanım örnekleri:
User-agent: Aşağıdaki kullanım örneği ile sitenizi tüm arama motoru botlarının taramasına kapatabilirsiniz.
user-agent: *
disallow: /
Dizin Engelleme / izin verme: Allow veya Disallow komutlarını kullanarak sitenizdeki belirli dizinlere tarama izni verebilirsiniz. Örneğin:
user-agent: *
disallow: /seo/
Yukarıdaki komut satırını kullandığınızda, arama motoru robotu sitenizdeki https://siteadi.com/seo/ bağlantısına özel “seo” dizinini taramayacaktır.
Sayfa Engelleme / izin verme: Sitenizdeki belirli sayfalara tarama izni verebilir ya da sınırlama koyabilirsiniz. Örneğin:
user-agent: *
disallow: /ozel-belgeler.html/
Yukarıdaki komut arama motoru botlarının sadece https://siteadi.com/seo-seo.html adresinde yer alan içeriğin taranmasını engelleyecektir.
Tarama Gecikmesi Belirtme: Crawl-delay komutunu kullanarak, arama motoru botlarının sitenizi taraması için harcayacağı zamanı sınırlandırabilirsiniz. Örnek olarak Googlebotun sitenize geldiğinde sadece 2 dakika boyunca tarama yapmasını istiyorsanız aşağıdaki komutu kullanmalısınız.
user-agent: googlebot
crawl-delay: 2
Grup Dışı Komutlar
Grup dışı komutlar, genelde sitemap.xml dosyasının yerini belirtmek için kullanılır. Yukarıda da ekran görüntüsünde bunun örneğini vermiştik.
İpucu: Ayrıca Robots.txt dosyası içerisine, arama motoru botlarının dikkate almadığı notlar ve yorumlar bırakabilirsiniz. Bunun için # karakterini kullanmanız gerekir. Örneğin:
# Not: Seo rehberi
user-agent: *
Disallow: /wp-admin/
Disallow: /seo/ # Bu dizin, içerikler bittikten sonra erişime açılacak.
Diğer Örnekler
Belli bir karakteri içeren ya da belli bir URL uzantısını içeren sayfaları tamamen arama motoru botlarının erişimine kapatabilirsiniz. Örneğin;
user-agent: *
Disallow: /*!
Yukarıdaki örnekte, URL bağlantısında ünlem işareti (!) olan tüm URL’ler arama motoru botlarının erişimine kapatılmış durumdadır. Ünlem işareti yerine farklı karakterler de kullanabilirsiniz.
User-agent: *
Disallow: /gizli/
Allow: /gizli/gizli-degil.html
Yukarıdaki örnekte, “gizli” dizinini erişime kapattık ancak “gizli degil” sayfasına tarama erişim izni verdik. Bu durumda arama motoruları “gizli” dizinini taramaz ancak “gizli” dizini içinde yer alan “gizli-degil.html” sayfasını tarayabilir.
User-agent: bingbot
Disallow: /gizli/
User-agent: *
Disallow: /
Yukarıdaki örnekte, sadece Bing botun “gizli” dizinine erişimini engelliyoruz. Bingbot dışındaki diğer tüm arama motoru botlarının sitenin tamamına erişimini engellemiş oluyoruz.
User-agent: googlebot
Disallow: /gizli/
User-agent: googlebot-images
Disallow: /gizli/
Disallow: /resimler/
Yukarıdaki örnekte, Google Bot’un “gizli” dizinine erişimini engellerken, Google Görsel Bot’un “gizli” ve “resimler” dizinlerine erişimini engellemiş oluyoruz.
Sitenizde yer alan jpeg uzantılı tüm görsellerin gizli kalmasını istiyorsanız bu durumda $ dolar işaretini kullanıp bir filtre oluşturabilirsiniz.
User-agent: *
Disallow: /*.jpg$
Belirli bir dizinin engellenmesini ama bu dizine ait alt dizinin taranmasını istiyorsanız aşağıdaki gibi bir komut verebilirsiniz.
User-agent: *
Disallow: /ayakkabi/
Allow: /ayakkabi/spor/
Robotlara yönelik bu komut dosyası aracılığıyla komutlarınızı istediğiniz gibi iletebilirsiniz. Bu komutları iletirken * ve $ en çok işinize yarayacak semboller olacaktır.
Bu sembolleri Disallow komutu ile birlikte kullanarak bir sitenin tamamını, belirli bir bölümünü veya bir dosyayı hariç tutabilirsiniz. * sembolü nerede kullanılırlarsa kullanılsın botlar tarama işlemi sırasında bu dosyaları pas geçerler.
Bu terimler size yabancı geliyorsa bu durumda onpage.org adresinde yer alan robots.txt oluşturma aracını kullanabilirsiniz.
Bir robots.txt dosyası doğru yapılandırılması için çeşitli kriterlerin yerine getirilmesi gerekmektedir. Dosyanızı çevrimiçi ortamda yayınlamadan önce bazı kuralları gözden geçirmelisiniz:
- Tüm sayfaları ve dosyaları kapsayacak şekilde gerçekleştirilecek olan tarama engellemeleri için Dolar $ işareti kullanılmalıdır.
- Genel olarak talimat dosyası “izin ver” (Allow) talimatını işler. Belirli alanları engellemek istiyorsanız bu durumda “izin verme” anlamına gelen “disallow” komutunu kullanın.
- Çoklu talimatlar arasında mutlaka bir karakter boşluk bırakılmalıdır.
Son Söz
Sitenizde bulunan komut dosyalarınızı aşağıdaki konuları kontrol ederek gözden geçirmenizde büyük fayda vardır.
- Web sitenizde taranmasını istediğiniz herhangi bir sayfanın botların taramasına engellenmediğinden emin olun.
- txt, küçük ve büyük harflere duyarlı olduğu için dosyanızın adını “robots.txt”olarak yapılandırmalısınız.
- Bazı user agentler(arama motoru botları) robots.txt dosyası görmezden gelebilir. Bu nedenle çok özel ve gizli bölümleri farklı yöntemlerle taramalara kapatmalısınız. (noindex etiketi gibi)
- Bir kök domain adının altında yer alan her alt domain yani subdomain, ayrı bir talimat dosyası kullanır. Yani hem siteadi.comhem de siteadi.com‘un kendisi ayrı ayrı birer robots.txt dosyasına sahip olmalıdır.
Teknik SEO çalışmaları web site sahiplerinin genelde çok sevmediği konulardır. Aslında odaklanıldığı zaman o kadar da karmaşık olmayan bu konuların SEO açısından etkileri zayıf bir içeriğin etkisinden çok daha fazladır. Bu nedenle sitenizi optimize ederken hiçbir kriteri gözardı etmemelisiniz. Arama motoru optimizasyonuna bir bütün olarak yaklaşmalı ve stratejilerinizi bu doğrultuda oluşturmalısınız.