SEO 03 Mart 2021

Robots.txt Nedir? Nasıl Kullanılır?

Oskay Günaçar

Robots.txt (Robot Engelleme Standartı), web crawlers (arama motoru botlarının) web sitemizin hangi bölümlerini ne şekilde tarayacağını direktifler ile aktarabildiğimiz txt dokümanına verilen isimdir. Robots.txt dosyasını verimli kullanarak sitenizin alt klasörlerini, alt klasör içerisinde yer alan herhangi bir URL’yi yada herhangi bir prefix’i (alt kırılımı) içeren bir url bloğunu tümüyle arama motoru botlarının taramasına kapatabilir yada açabilirsiniz. Sitelerin ana domain dizininde barındırılan robots.txt dosyası günümüzün tüm büyük arama motorları tarafından takip edilmektedir. Yani robots.txt dosyanızda oluşturacağınız komut direktifleri arama motoru botları tarafından takip edilerek sizin yönlendirmeleriniz dahilinde sitenin tarama işlemleri gerçekleştirilecektir. Büyük arama motorlarının önemli bir bölümü robots.txt dosyasının komut direktiflerine uyumluluk gösterse de günümüzde hala robots.txt dosyasını pas geçen bot tipleri de mevcuttur.

Bu durumdan kaynaklı olarak Google,  robots.txt dosya yönlendirmelerine ek olarak her zaman için sayfa kaynak kodlarından meta robots işaretlemelerinin kullanılmasını da önermektedir.

Robots.txt Dosyası Nerede Barındırılır, Bulunur?

Üst bölümde değindiğimiz gibi web sitelerine özel olarak oluşturulan robots.txt dosyaları sitenin barındırıldığı ana dizin (httpdocs, public_html vb) üzerinde barındırılır. Herhangi bir sub folder (alt klasör) altına eklenmeden doğrudan site ana dizi içerisinde diğer dokümanlar ile birlikte “yalın (İşleme tabi tutulmadan)” olarak barındırılır.

Robots.txt Dosyası Nasıl Çalışır?

Robots.txt dosyası adından anlaşabileceği gibi .txt formatında oluşturulan ve içerisinde herhangi bir HTML işaretleme barındırmayan son derece kolay oluşturabilir bir web dokümanıdır. Ana dizine eklenen robots.txt dosyası web sitesinin URL uzantısı bölümüne /robots.txt yazarak görüntülenebilir. Pek çok kullanıcı için herhangi bir önem arz etmeyen robots.txt dosyasının barındırıldığı bu URL arama motoru botlarının siteye gerçekleştirdiği ziyaretlerde uğradığı mutlak adrestir.

Örneğin: https://boosmart.com/robots.txt

Web sitesini ziyaret eden arama motoru botları site üzerinde herhangi bir tarama işlemine başlamadan önce web sitesinde yer alan robots.txt dosyasını ziyaret ederek web sitesinin hangi bölümlerinin taramaya açık olup olmadığı ile alakalı direktifleri kontrol ederler.

Arama motoru botlarının tarama biçimlerinin yönetilmesinde görevli robots.txt dosyası görevi itibariyle bir rehber görevi görürken botlar için bağlayıcı bir yapı değildir. Yani arama motoru botlarının tamamı robots.txt dosyasında yer alan direktiflere uymakla yükümlü değildir ancak Google, Bing gibi arama motoru botları ilgili direktifleri takip ederler. Buna karşın harici (zararlı, amaçsız) botların büyük bir bölümü robots.txt dosyasında yer alan direktifleri görmezden gelerek serbest tarama gerçekleştirirler.

Robots.txt dosyası ile alakalı akılda tutulması gereken en önemli konu, subdomain yani asıl domainin bir alt domain yapısı içerisinde ayrıca bir robots.txt dosyasının oluşturulması gerektiğidir. Örneğin asıl domain olan boosmart.com içerisinde oluşturduğunuz bir robots.txt dosyası ornek.boosmart.com subdomaini için geçerli değildir. Subdomain üzerinde yer alan URL adresleri ile alakalı tarama direktifleri subdomain içerisinde oluşturulacak farklı bir robots.txt dosyası ile ayrıca yönetilmelidir.

Robots.txt Dosyasının Oluşturulması ve Kullanımı

Robots.txt herhangi bir text editörü yani metin oluşturma editörü (metin belgesi) ile kolaylıkla oluşturulabilir. Robots.txt oluşturulurken çeşitli protokol formatları kullanılarak robot tarama direktifleri oluşturulur. Protokol formatları kullanılarak arama motoru botlarının anlayacağı şekilde direktifler iletilir. Arama motoru botları için kullanılan protokol Robots Exclusion Protocol olarak adlandırılır.

Örneğin:

User-agent: *

Disallow: /

Robots.txt dosyası içerisinde kullanılan bir diğer protokol sitemap protokolüdür. Sitemap: kullanımı ile belirtilen protokol ile arama motoru botlarına sitenin haritası iletilerek site içerisinde yer alan URL’ler ile alakalı arama motoru botlarının takip edebileceği bir site haritası iletilir.

User-agent: *

Disallow:/

Sitemap: https://boosmart.com/sitemap.xml

User-Agent Nedir? Nasıl Kullanılır?

Robots.txt içerisinde user-agent: kullanımı ile ifade edilen user-agent bölümü arama motoru botlarını yani robotları doğrudan hedeflediğimiz, internette dolaşan her kullanıcı ve program için oluşturulan bilgilendirici bir string / kod dizgisidir. Web üzerinde gezinme gerçekleştiren kullanıcı ve programlar için oluşturulan user-agent ile ziyaret gerçekleştirilen sunuculara ziyareti gerçekleştiren kişi yada program ile alakalı bilgilendirme sağlanır.

Bot olmayan “insan” kullanıcılar için tipik bir user-agent içerisinde bağlantı gerçekleştirilen bilgisayarın işletim sistemi, bağlantının gerçekleştirildiği tarayıcının ismi gibi bilgiler yer alır.

Örnek: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Robots.txt dosyası içerisinde user-agent kullanılarak dosya içerisinde yer alan protokol ve direktiflerin hangi user-agent’a sahip bot için oluşturulduğunun bilgisi sağlanır.

Örneğin: User-agent: Googlebot

ifadesi kullanıldığında user-agent:Googlebot bölümünün altında yer alan ikinci bir user-agent bilgilendirmesine kadar olan direktif bloğu yalnızca Googlebot için geçerli olacaktır.

User-agent: Googlebot

Disallow:/deneme/

Allow:/deneme/burasiserbest.html

–! User-agent:Bingbot yazan bölüme kadar kullanılan tüm Allow ve Disallow direktifleri Googlebot’u ilgilendirir ve Googlebot tarafından takip edilir —!

User-agent: Bingbot

Disallow:/deneme/

Buradaki örnekte Googlebot için deneme klasörünün tamamı taramaya kapatılırken deneme klasörünün altında yer alan burasiserbest.html sayfası taramaya açılmıştır. Aynı robots.txt dosyası içerisinde siteyi ziyaret eden bingbot için ise deneme klasörünün (prefixinin) içerisinde yer alan tüm URL adresleri taramalara kapatılmıştır.

Allow, Disallow Nedir? Nasıl Kullanılır?

Robots.txt içerisinde kullanılan allow ve disallow direktifleri site içerisindeki hangi sayfaların taramaya açılıp kapanacağının belirtildiği protokollerdir. Allow’un türkçe karşılığı izin vermek ve Disallow’un karşılığı izin vermemektir. Bu bilgiden hareketle Allow: protokol kulllanımı ile site içerisindeki herhangi bir dizini, URL yolunu tümüyle yada kısmen taramalara açabilirsiniz. Aynı şekilde Disallow: kullanımı ile herhangi bir dizini, URL yolunu tümüyle yada kısmi olarak taramalara kapatabilirsiniz.

Tümüyle İzin Vermek  – Örnek:

User-agent: *

Allow:/

Bu şekilde bir robots.txt dosyası oluşturduğunuzda sitenizin tüm dizinini yani tüm URL adreslerini arama motoru botlarına açık hale getirirsiniz. Sitenizin tüm URL adresleri dizin fark etmeksizin taramalara dahil edilecektir.

Yalnızca Bir URL’yi taramalara açmak:

User-agent: *

Disallow:/burasi-kapali/

Allow:/burasi-kapali/ancak-burasi-acik.php/

Bu kullanımda Allow: kullanımı ile Disallow direktifi kullanılarak tamamen taramalara kapatılan /burasi-kapali/ alt klasörü içerisinden burasi-kapali/ancak-burasi-acik.php/ URL adresi taramalara açılmıştır.

Disallow komutu ile taramalara kapatılan bir dizin içerisinden istediğiniz herhangi bir url’yi allow: direktifi ile taramalara açabilirsiniz. Bu noktada tümüyle sitenize özel bir robots.txt yapısı kurgulamanız mümkündür.

Siteyi Tümüyle Taramalara Kapatmak:

User-agent: *

Disallow:/

Bir URL’yi yada alt klasörü taramalara kapatmak:

User-agent:*

Disallow: /bu-klasoru-tarama/

Disallow: /search/

vb.

Robots.txt Özel Direktifleri

Web sitenizin yapısının derinliği ve sitenizin büyüklüğüne göre robots.txt üzerinden arama motoru botlarına sağlayacağınız direktiflerin yoğunluğu ve ihtiyaçlarınız değişiklik gösterecektir.

Bu noktada özellikle çeşitli durumlar için olmazsa olmaz özel bir kaç direktif (düzenli ifadeler) ile arama motoru botlarını son derece verimli şekilde yönlendirebilirsiniz.

* Direktifi

Robots.txt dosyası içerisinde sıklıkla kullanılan * direktifi hem user-agent içerisinde hemde dizinler ile akalı direktiflerde tümü hepsi anlamına gelir. Herhangi bir protokol içerisinde * ifadesini kullandığınız durumda tümü (hepsini) kast ettiğiniz bilgisini robots.txt dosyanızı görüntüleyen arama motoru botlarına sağlarsınız.

Örneğin:

User-agent: *

ifadesi ile tüm user-agent tipindeki arama motoru botlarına hitap edersiniz ve bu user-agent altında barındırdığınız tüm direktifler tüm arama motoru botları için aktif olur.

User-agent: *

Allow:*

Bu şekilde bir kullanım gerçekleştirdiğinizde tüm user-agent’lar için tüm sitenin taranabilir olduğunu bildirirsiniz.

User-agent: *

Allow: */tesekkurler/

Bu şekilde bir kullanım gerçekleştirdiğinizde tüm user agent’lar için ön eki (üst klasörü) ne olursa olsun /tesekkurler/ sayfasının taranabilir olduğunu söylemiş olursunuz.

$ Direktifi

Robots.txt dosyası içerisinde sıklıkla kullanılan bir diğer direktif $ ifadesidir. * ifadesinden farklı olarak robots.txt üzerinde belirtilen herhangi bir string $ ifadesi ile sonlandırılır. Yani robots.txt üzerinde belirttiğiniz herhangi bir URL yada uzantı için $ ifadesini kullandığınızda arama motoru botları ilgili işlemin belirtilen string (metin) ile sınırlı olduğunu anlayacaktır.

Örneğin:

User-agent: Googlebot

Disallow: *.webp$

bu tarz bir robots.txt direktifinde ön eki ne olursa olsun yalnızca webp formatına sahip url’lerin (adreslerin) arama motoru botları tarafından taranmasının istenmediği bilgisini arama motoru botlarına sağlarsınız.

Bu kullanım da *. ifadesi ile ön eki (ismi) ne olursa olsun ve $ kullanımı ile de formatın yalnızca webp ile sınırlı olduğunu belirtmiş olursunuz.

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

Robots.txt dosyasının web sayfalarının sıralamasında doğrudan veya dolaylı olarak herhangi bir katkısı söz konusu değildir. Robots.txt dosyasının web siteleri ve SEO süreçleri için önemli olmasının en temel sebebi taranabilirlik noktasında üstlendiği görevdir. Hatalı şekilde oluşturulmuş bir robots.txt dosyası sitenizin tamamının yada belirli bir bölümünün arama motoru botları tarafından taranamaz hale gelmesine sebebiyet verebilir. İlgili durumda web siteniz SEO noktasında ne kadar başarılı olursa olsun arama motoru botları sayfalarınızı tarayamayacağından Google’da yer alamayacaksınız.

Web sayfalarınızın arama motoru botları tarafından bulunabilir olmasını sağlamanın anahtar adımlarından olan robots.txt aynı zamanda sitenizin verimli bir şekilde taranabilmesi noktasında da kritik rol oynar. Başarılı ve doğru direktifler ile arama motoru botlarının sitenizin gereksiz bölümlerine ulaşmasını engelleyebilir ve sitenizin kritik bölümlerinin çok daha sık şekilde taranmasını sağlayabilirsiniz.

Örneğin; E-ticaret siteleri için teşekkürler sayfaları arama sonuçlarında trafik getirmeyen önem skalası düşük sayfalar olduklarından robots.txt dosyası üzerinden bu sayfanın taramaya kapatılması tarama bütçesinin optimizasyonunda başarılı bir hamle olacaktır.

Robots.txt Kullanırken Dikkat Edilmesi Gerekenler

  • Hedeflediğiniz botlara özel oluşturduğunuz direktiflere ve user-agent isimlerine dikkat edin. X bir bot için taramaya kapatmak istediğiniz sayfayı yanlışlıkla tüm botlar için kapatmayın.
  • Sitenizde mutlaka düzgün yapılandırılmış bir robots.txt dosyası kullanın. Hatalı formata sahip robots.txt dosyaları direktiflerinizin geçersiz olmasına neden olabilir.
  • Robots.txt dosyanız içerisinde mutlaka Sitemap: protokolünü kullanın ve sitenizin site haritasını (haritalarını) robots.txt dosyanızda belirtin.
  • Sitenizin önemsiz, taranmasını istemediğiniz alanlarını mutlaka robots.txt kullanarak engelleyin. Tarama bütçesinin optimize edilmesinde robots.txt çok kritik bir rol oynamaktadır.
  • Subdomain ve ana domain için ayrı ayrı robots.txt dosyaları oluşturun. Ana domainde oluşturulan robots.txt dosyası subdomaini kapsamamaktadır. Aynı şekilde subdomainde oluşturulan direktifler ana domaini etkilemezler.