Google ve diğer arama motorları, kullanıcılarına en doğru sonuçları en hızlı şekilde sunmayı amaçlar. Bu arama motorlarına ait olan ve bot olarak adlandırdığımız yazılımlar da web sayfalarını tarayarak kullanıcılara sunmak üzere dizinlerine eklerler. Fakat bazı sayfalarımızın arama motoru botları tarafından taranmasını ve dizine eklenmesini tercih etmeyebiliriz. Bu gibi durumlarda robots.txt olarak adlandırdığımız basit bir metin dosyası bize yardımcı olabilir.

Robots.txt Dosyası Nedir?

Arama motoru botlarına bazı direktiflerin verildiği ve genellikle hangi sayfalara erişebileceklerinin ya da erişemeyeceklerinin bildirildiği metin dosyası robots.txt olarak adlandırılır. Bu dosya sayesinde bazı sayfalarımızın ya da sayfa gruplarımızın, hatta web sitemizin tamamının arama motoru botları tarafından taranmamasını sağlayabiliriz. Bazılarının “Bunu neden isteyeyim ki?” dediğini duyar gibiyim. Fakat bazı durumlarda robots.txt dosyasından yararlanarak sayfa ya da sayfalarımızı taramaya kapatmak çok mantıklı bir hareket olabilir.

Örneğin arama motoru botlarının erişmesini ve dizine eklemesini istemediğimiz bazı özel sayfalarımız olabilir. Ya da çok fazla sayıda web sayfasına sahip olduğumuz için arama motoru botlarının bize ayırdığı kaynağı, yani tarama bütçemizi daha doğru kullanmak isteyebiliriz. Böylece arama motoru botlarının daha önemli sayfalarımız ile ilgilenmesini sağlayabiliriz. Bu gibi özel durumlarda robots.txt dosyası bizim için hayat kurtarıcı olabilir.

Robots.txt Dosyası Neden Önemlidir?

Arama motoru botları web sitemizi ziyaret etmeden önce ilk olarak bu dosyayı inceler. Sonrasında bu dosyadaki komutlar ışığında web sayfalarımızı taramaya başlar. Bu nedenle robots.txt dosyası içerisindeki her bir komutun doğru olduğundan kesinlikle emin olmamız gerekiyor. Aksi takdirde web sitemizin tamamını ya da önemli bir bölümünü yanlışlıkla taramaya kapatmış olabiliriz. Bu durum SEO performansımız açısından büyük bir felakete yol açabilir.

Diğer senaryoda da tarama bütçemizi optimize etmek için robots.txt dosyası ile önemsiz sayfalarımızı taramaya kapatabiliriz. Bu durum da SEO performansımıza olumlu şekilde yansıyabilir. Çünkü arama motoru botlarının web sitemiz için ayırdığı kaynağı, gerçekten önemli sayfalarımız için harcamalarını sağlayabiliriz. İşte tam da bu nedenle robots.txt dosyası ve içerisinde yer alan komutlar bir web sitesi için oldukça önemlidir.

Robots.txt Dosyası Nasıl Oluşturulur?

Robots.txt dosyasını oluşturmak için Notepad, TextEdit vs. gibi bir metin düzenleyici kullanabilirsiniz. Çünkü eğer gerekli komutları biliyorsanız ihtiyacınız olan tek şey “txt” uzantılı basit bir metin dosyasıdır.

Bu işlem için ücretsiz robots.txt oluşturma araçlarını da kullanabilirsiniz. Arama motorları üzerinde “robots.txt generator” şeklinde bir arama yaparak aşağıdaki örnek ekran görüntüsüne benzer araçlara ulaşabilirsiniz. Bu araçları kullanmak komutlarda hata yapma ihtimalinizi de azaltacaktır.

Önemli Robots.txt Komutları

Her robots.txt dosyasında görebileceğiniz bazı temel komutlar bulunuyor. Örnek bir robots.txt dosyasına, dosyada bulunan komutlarına ve anlamlarına aşağıdan ulaşabilirsiniz.

User-agent: Bu komut ile direktif vermek istediğimiz arama motoru botunu seçebiliriz. Aşağıda yer alan örnekteki  “User-agent: * ” komutu, web sayfalarımızı tüm arama motoru botlarının taramasına izin vermemiz anlamına geliyor. Ayrıca “User-agent” komutunu birden fazla kere kullanarak farklı arama motoru botlarına farklı direktifler verebiliriz.

Allow: Bu komut ile arama motoru botlarının erişmesini istediğimiz web sayfalarını ya da sayfa gruplarını bildiriyoruz.

Disallow: Bu komut ile arama motoru botlarının erişmemesini istediğimiz web sayfalarını ya da sayfa gruplarını bildiriyoruz.

Sitemap: Bu komut ile arama motoru botlarına site haritasının adresini işaret ediyoruz.

 Özetle yukarıdaki örnek robots.txt dosyasından; bu web sitesinin tüm botlara açık olduğunu, fakat arama motoru botlarının “/demo/example-content” sayfası hariç içerisinde /demo/ path’i bulunan sayfalara erişmesini istemediğini görüyoruz. Son olarak da “Sitemap” komutu ile site haritasının adresi arama motoru botlarına sunulmuş. Yukarıdaki komutları birden fazla kere kullanıp farklı stratejiler oluşturabiliriz.

Örnek Senaryolar

Aktarılan bilgilerin biraz daha akılda kalıcı ve anlaşılır olması amacıyla birkaç basit örnek robots.txt komutunu birlikte inceleyelim.

 

- Web sitesi tüm arama motoru botlarına açık

- Hiçbir sayfa arama motoru botları tarafından taranmasın

- Web sitesi tüm arama motoru botlarına açık

- Tüm sayfalar arama motoru botları tarafından taranabilir

- Web sitesi tüm arama motoru botlarına açık

- URL’si “/zeo/” ile başlayan sayfalar taranmasın

- Web sitesi tüm arama motoru botlarına açık

- URL’si “/zeo/” ile başlayan sayfalar taranmasın

- Fakat “/zeo/ekibimiz” sayfası taransın


- Googlebot-Image botu “.jpg” ile biten URL’leri taramasın

Önemli Not: Komutun sonuna gelen “$” işareti bu şekilde biten URL’ler anlamına gelirken, önündeki “/*” işareti URL’nin öncesinde ne olursa olsun anlamına gelir.


- Googlebot içerisinde “/deneme/” bulunan hiçbir URL’yi taramasın

Not: Yukarıdaki gibi komutun önünde ve sonunda “*” işareti kullanmak, önünde ya da arkasında ne olduğu önemli değil, içerisinde “/deneme/” varsa taranmasın anlamına gelir.

Robots.txt Test Aracı

Robots.txt dosyasında yer alan komutlar ile alakalı bir değişiklik yapmak istiyorsanız, öncesinde Google’ın Robots.txt Test Aracını kullanmanızı öneririm. İlgili araca buradan ulaşabilirsiniz.


Bu araçla daha önce eklediğiniz komutları ya da araç üzerinde deneme amacıyla eklediğiniz komutların doğru çalışıp çalışmadığını kolayca test edebilirsiniz. Özellikle birden fazla “Disallow” ve “Allow” komutu eklediğiniz karışık kombinasyonları yayına almadan önce örnek sayfaların taranabilir olup olmadığını mutlaka bu araç ile test etmenizde fayda var.


 

Ayrıca Google’a ait farklı arama motoru botlarına yönelik komutlar eklediyseniz sağ alt bölümde bulunan “Googlebot” butonuna tıklayarak eklediğiniz komutun ilgili arama motoru botu için çalışıp çalışmadığını da deneyebilirsiniz.

 


Gerekli testleri yaptıktan sonra dosyanın son halini yayına almak istiyorsanız da “Gönder” butonuna tıklamanız yeterli olacaktır.

Search Console Kontrolleri

Search Console aracına giriş yaptıktan sonra sol menüden “Kapsam” butonuna tıklayarak dizinde olan ya da olmayan web sayfalarınıza dair birçok detaya ulaşabilirsiniz.

Buraya giriş yaptıktan sonra robots.txt dosyanızdaki komutlar nedeniyle engellenen sayfaları ve engellenmesine rağmen dizine eklenen sayfaları da görebilirsiniz.

Buradan taranmasını istediğiniz sayfaların robots.txt dosyasındaki bir komut nedeniyle engellendiğini ya da dizine eklenmemesi gereken bazı sayfalarınızın dizinde bulunduğunu görebilirsiniz. Bu nedenle buradaki sayfaları belirli periyotlarda ve özellikle robots.txt dosyasındaki komutları güncelledikten bir süre sonra kontrol etmekte fayda var.

Önemli Noktalar ve Merak Edilenler

Robots.txt dosyasında yer alan komutların ne kadar önemli olduğundan bahsetmiştik. Çünkü kullanacağınız bir karakter ya da bu dosya ile alakalı küçük bir ayrıntı çok farklı sorunlara sebep olabiliyor. Bu nedenle özellikle bazı noktalara dikkat etmek gerekiyor.

Ana dizin: Robots.txt dosyası “example.com/robots.txt” şeklinde ana dizinde bulunmalı.

Dosya ismi: Dosya adı küçük harflerle “robots”, dosya uzantısı da “txt” olmalı.

Dosya sayısı: Bir web sitesi için yalnızca bir tane robots.txt dosyanız olmalı.

Subdomain’e özet robots.txt: Oluşturduğunuz subdomain’ler için özel bir robots.txt dosyası oluşturabilirsiniz. Blog için ayrı bir subdomain oluşturduğunuzu varsayalım. Bu örnekteki robots.txt adresi blog.example.com/robots.txt şeklinde olmalıdır.

Küçük ve büyük harf duyarlılığı: Arama motoru botları ve komutlar küçük / büyük harf duyarlıdır. Örneğin “Disallow: /demo/” şeklinde bir komut eklediyseniz, “example.com/DEMO/” şeklinde bir sayfa taranabilir olacaktır. Fakat tüm URL’leri küçük harf olarak kullanıyorsanız bu konuda endişe etmenize gerek bulunmuyor.

Birbiriyle çelişen komutlar: Komutların birbiriyle çelişmediğinden emin olun. Özellikle birden fazla “Disallow” ya da “Allow” komutunun kullanıldığı karışık kombinasyonlarda komutlara hangi sayfaların dahil edildiğine ve komutların birbirini etkisiz kılmamasına dikkat edin.

 

Site haritası komutu: Site haritası komutunu dosyanın en başına ya da en sonuna ekleyin. Farklı arama motoru botlarına yönelik komutlar verdiyseniz ve sitemap komutu bu komutların arasında kaldıysa yalnızca o arama motoru botuna site haritanızı işaret ediyor olabilirsiniz.

Robots.txt ve indeks konusu: Robots.txt dosyasında kullanılan “Disallow” komutu sayfayı indeksletmeme komutu değildir. Yalnızca arama motoru botlarının ilgili sayfaya ya da sayfalara erişmemesi ile alakalıdır. Bu nedenle ilgili sayfa indekslenmeye devam edebilir, indekslenmemesi için “noindex” etiketini kullanabilirsiniz.

Dosya çeşitleri: Web sayfalarının yanı sıra görsel, video, ses ve kaynak dosyaları için de robots.txt dosyası aracılığıyla komut verebilirsiniz.

Site dışı linkler: Bir web sayfasını robots.txt dosyasından taramaya kapatsanız bile, eğer ilgili sayfaya farklı web sitelerinden link verilmişse arama motoru botları bu linkleri takip ederek sayfayı indekse sokabilir. Bu noktada yine “noindex” etiketi kullanmakta fayda var.

Robots.txt zorunluluğu: Her web sitesi robots.txt dosyasını kullanmak zorunda değildir. Arama motoru botları bir web sitesini ziyaret ettiğinde robots.txt dosyası olmadığını fark ederse normal bir şekilde sayfaları tarayarak dizinine ekleyebilir. Fakat kullanılması tavsiye edilir.

Allow komutu: Taranmasını istediğiniz tüm sayfa ya da sayfa grupları için “Allow” komutu eklemenize gerek yoktur. Eğer aksi bir komut verilmediyse arama motoru botları tüm sayfalarınızı tarayabilir.


Birden fazla site haritası: Birden fazla site haritanız varsa, hepsini sırasıyla ekleyebilirsiniz. Bu konuda bir kısıt bulunmuyor.

Komut yazım şekli: Robots.txt dosyasındaki komutları yan yana da yazabilirsiniz. Fakat arama motoru botlarının kafasını karıştırmamak adına her komutu alt alta ayrı satırda yazmakta fayda var.

User-agent’a özel komut: Bir user-agent’a özel bir komut verdiğimizde diğer genel komutları görmezden gelecektir. Örneğin siteyi tüm arama motoru botlarına kapattık. Fakat bir alt satırda Googlebot-Image’a sonu “.jpg” ile biten URL’leri taraması konusunda bir komut verdik. Bu durumda tüm sayfalar arama motoru botlarına kapalı olsa da kendisine özel bir komut verildiği için Googlebot-Image diğer genel komutu görmezden gelip, sonu “.jpg” ile biten URL’leri tarayacaktır.

 

İndekslenmesi istenmeyen sayfalar: Bir site geçişi ya da tasarım değişikliği söz konusu ise, henüz hazır olmadığı için indekslenmesi istenmeyen web sayfalarını robots.txt aracılığıyla taramaya kapatmak mantıklı bir hareket olacaktır.

Bu içeriğimizde bolca robots.txt dosyasından, içerisindeki komutlardan, bu dosyanın neden önemli olduğundan bahsettik ve birçok önemli noktaya da değinmeye çalıştık. Umarım faydalı olmuştur. Başka blog içeriklerinde görüşmek üzere. :)

Kaynaklar:

https://ahrefs.com/blog/robots-txt/

https://yoast.com/ultimate-guide-robots-txt/

https://developers.google.com/search/docs/advanced/robots/intro?hl=tr