Robots.txt protokolünün veya "robot dışlama protokolünün" kökenleri, web robotlarının web sitelerini okumak için interneti gezdiği ilk günlerde 1990'ların ortalarına kadar izlenebilir. Bazı web yöneticileri, sitelerini hangi robotun ziyaret ettiği konusunda endişelendi. Hangi site bölümlerinin taranması gerektiğine ilişkin yönergeleri içeren ve site sahiplerine, hangi tarayıcıların URL'lerini ziyaret edebileceği ve ne kadar kapasite tüketmelerine izin verildiği konusunda daha fazla denetime sahip olma sözü veren bir dosya olarak ortaya çıktı.
O zamandan beri robots.txt, modern web tasarımcılarının ve web sitesi sahiplerinin ihtiyaçlarını karşılayacak şekilde büyüdü. Protokolün mevcut sürümleri, büyük arama motorlarının ilgili sıralama algoritmaları için bilgi toplamak üzere gönderdiği robotlar tarafından kabul edilecektir. Farklı arama motorları arasındaki bu ortak anlaşma, bu nedenle komutları SEO raporlarında markalar için potansiyel olarak değerli, ancak genellikle gözden kaçan bir araç haline getirir.
Robots.txt Nedir?
Robots.txt, web sitenizin kök dizininde bulunan ve arama motorları tarayıcılarına, tarama ve dizine ekleme işlemi sırasında hangi sayfaları tarayabilecekleri ve dizine ekleyebilecekleri konusunda talimatlar veren bir metin dosyasıdır. Arama motorlarının nasıl çalıştığına dair tarama ve indeksleme aşamasında, arama motorlarının halka açık web'de bulunan ve indekslerine ekleyebilecekleri sayfaları bulmaya çalıştıklarını bilirsiniz. Bir web sitesini ziyaret ederken, yaptıkları ilk şey robots.txt dosyasının içeriğini aramak ve kontrol etmektir.Dosyada belirtilen kurallara bağlı olarak, tarayabilecekleri URL'lerin bir listesini oluştururlar ve daha sonra belirli web sitesi için dizine eklerler. Robots.txt, arama motoru robotuna bir web sitesinin belirli sayfalarını veya bölümlerini taramamalarını söyleyen bir dosyadır. Çoğu büyük arama motoru (Google, Bing ve Yahoo dahil) Robots.txt isteklerini tanır ve kabul eder. Çoğu web sitesinin robots.txt dosyasına ihtiyacı yoktur. Bunun nedeni, Google'ın genellikle sitenizdeki tüm önemli sayfaları bulup dizine ekleyebilmesidir. Ayrıca önemli olmayan veya diğer sayfaların yinelenen sürümlerini otomatik olarak dizine almazlar.
Neden Robots.Txt Dosyası Kullanmalısınız?
Google'ın web sitelerini nasıl taradığını anlamak, robots.txt kullanmanın değerini görmenize yardımcı olacaktır. Google'ın bir tarama bütçesi vardır. Bu, belirli bir siteyi taramaya ayıracakları süreyi açıklar. Google, bu bütçeyi bir tarama hızı sınırına ve tarama talebine göre hesaplar. Google, bir siteyi taramasının o URL'yi yavaşlattığını ve dolayısıyla herhangi bir organik tarayıcı için kullanıcı deneyimine zarar verdiğini görürse, taramaların hızını yavaşlatacaktır. Bu, sitenize yeni içerik eklerseniz Google'ın bunu o kadar hızlı görmeyeceği ve potansiyel olarak SEO' nuza zarar vereceği anlamına gelir. Bütçe hesaplamasının ikinci kısmı olan talep, daha popüler olan URL'lerin Google robotundan daha fazla ziyaret alacağını belirtir. Diğer bir deyişle, Google'ın belirttiği gibi, sunucunuzun Google'ın tarayıcısı tarafından boğulmasını veya sitenizdeki önemsiz veya benzer sayfaları tarayarak tarama bütçesini boşa harcamasını istemezsiniz. Protokol, arama motoru tarayıcılarının nereye ve ne zaman gideceği konusunda daha fazla kontrol sahibi olmanıza olanak tanıyarak bu sorunu önlemenize yardımcı olur. Arama motoru tarayıcılarını sitenizdeki daha az önemli veya tekrar eden sayfalardan uzaklaştırmanıza yardımcı olmanın yanı sıra, robots.txt başka önemli amaçlara da hizmet edebilir. Bununla birlikte, bir robots.txt dosyası kullanmak istemenizin 3 ana nedeni vardır.
Herkese Açık Olmayan Sayfaları Engelleyin: Bazen sitenizde dizine alınmasını istemediğiniz sayfalar olabilir. Örneğin, bir sayfanın aşamalı bir sürümüne sahip olabilirsiniz. Veya bir giriş sayfası. Bu sayfaların var olması gerekiyor. Ama rastgele insanların onlara inmesini istemezsiniz. Bu, bu sayfaları arama motoru tarayıcılarından ve botlardan engellemek için robots.txt'yi kullanacağınız bir durumdur.
Tarama Bütçesini En Üst Düzeye Çıkarın: Tüm sayfalarınızın dizine eklenmesinde güçlük çekiyorsanız, bir tarama bütçesi sorununuz olabilir. Önemsiz sayfaları robots.txt ile engelleyerek, Googlebot gerçekten önemli sayfalara tarama bütçenizin daha fazlasını harcayabilir.
Kaynakların İndekslenmesini Önleyin: Meta yönergeleri kullanmak, sayfaların indekslenmesini önlemek için Robots.txt kadar işe yarayabilir. Ancak meta yönergeler, PDF'ler ve resimler gibi multimedya kaynakları için iyi çalışmaz. Robots.txt burada devreye giriyor.
Robots.txt Nasıl Kurulur?
İlk adımınız robots.txt dosyanızı gerçekten oluşturmaktır. Bir metin dosyası olarak, aslında Windows not defteri kullanarak bir tane oluşturabilirsiniz. Ve nihayetinde robots.txt dosyanızı nasıl yaparsanız yapın, biçim tamamen aynıdır. Kullanıcı-aracı, konuştuğunuz belirli bottur. Ve "izin verme" seçeneğinden sonra gelen her şey, engellemek istediğiniz sayfalar veya bölümlerdir. Bu kural, Googlebot’a web sitenizin resim klasörünü dizine eklememesini söyler. Web siteniz tarafından durdurulan tüm botlarla konuşmak için yıldız işareti (*) de kullanabilirsiniz.
"*", Tüm robotlar resimler klasörünüzü taramamayı söyler.
Bu, robots.txt dosyasını kullanmanın birçok yolundan yalnızca biridir. Google'ın bu yararlı kılavuzu, botların sitenizin farklı sayfalarını taramasını engellemek veya bunlara izin vermek için kullanabileceğiniz farklı kurallar hakkında daha fazla bilgi içermektedir.
Robots.txt dosyanızı aldıktan sonra, onu yayınlama zamanı gelmiştir.Robots.txt dosyanızı teknik olarak sitenizin herhangi bir ana dizinine yerleştirebilirsiniz. Ancak robots.txt dosyanızın bulunma olasılığını artırmak için, şu adrese yerleştirmeniz önerilir:
https://ornekdomain.com/robots.txt
(Robots.txt dosyanızın büyük / küçük harfe duyarlı olduğunu unutmayın. Bu nedenle, dosya adında küçük harf "r" kullandığınızdan emin olun) Robots.txt dosyanızın doğru ayarlanması gerçekten önemlidir. Tek bir hata ve sitenizin tamamı indekslenebilir.
Robots.txt ve Meta Yönergeleri
Sayfa düzeyinde "noindex" meta etiketiyle sayfaları engelleyebildiğinizde neden robots.txt kullanasınız? Daha önce bahsettiğim gibi noindex etiketinin videolar ve PDF'ler gibi multimedya kaynaklarına uygulanması zordur. Ayrıca, engellemek istediğiniz binlerce sayfanız varsa, her sayfaya manuel olarak bir noindex etiketi eklemek yerine bazen o sitenin tüm bölümünü robots.txt ile engellemek daha kolaydır. Noindex etiketi olan sayfalarda Google açılışında herhangi bir tarama bütçesini boşa harcamak istemediğiniz uç durumlar da vardır.
Bu uç durum dışında, robots.txt yerine meta yönergeleri kullanmanızı öneririm. Uygulanması daha kolaydır. Ve bir felaketin olma olasılığı daha düşüktür (sitenizin tamamını engellemek gibi).
Robots.txt Dosyası Nasıl Oluşturulur?
Bir robots.txt dosyasına sahip olmak pek çok web sitesi için, özellikle de küçük olanlar için çok önemli değildir. Bununla birlikte, buna sahip olmamak için iyi bir neden de yoktur. Bu dosyaya sahip olmak arama motorlarının web sitenize nerelere girip giremeyeceği konusunda size daha fazla kontrol sağlar ve bu, aşağıdaki gibi konularda yardımcı olabilir:
- Yinelenen içeriğin taranmasını önleme; Bir web sitesinin bölümlerini gizli tutmak (örneğin, hazırlık siteniz),
- Dahili arama sonuçları sayfalarının taranmasını önleme,
- Sunucu aşırı yüklenmesinin önlenmesi,
- Google'ın "tarama bütçesini" boşa harcamasını önleme,
- Görsellerin, videoların ve kaynak dosyalarının Google arama sonuçlarında görünmesini engelleme,
Robots.txt Dosyası Kullanımı
Google genellikle robots.txt dosyasında engellenen web sayfalarını dizine eklemese de robots.txt dosyasını kullanmak, arama sonuçlarından dışlanmayı garanti etmenin bir yolu değildir. Google'ın dediği gibi, içerik web'deki diğer yerlerden bağlantılıysa, yine de Google arama sonuçlarında görünebilir. Site haritanızı doğru bir şekilde oluşturduysanız ve standartlaştırılmış, indekslenmemiş ve yeniden yönlendirilmiş sayfaları hariç tuttuysanız, gönderilen hiçbir sayfa robots.txt tarafından engellenmemelidir. Etkilendiyse, hangi sayfaların etkilendiğini araştırın, ardından robots.txt dosyanızı uygun şekilde düzenleyerek o sayfanın engelini kaldırın. Hangi yönergenin içeriği engellediğini görmek için Google'ın robots.txt test aracını kullanabilirsiniz.
Robots.txt Kullanım Örnekleri
Yeni bir metin belgesi açalım ismini Robots.txt yapalım. Robots.txt dosyamız içersinde iki farklı değişkenimiz olacak. Bunlar ve anlamları şöyledir:
User-agent: Google Botu'nun adı gelecek
Disallow: Botun izinlerini gireceğimiz komutlar yer alacak
Örnek 1:
User-agent: *
Allow: /
Kodlarımızı yorumlayalım. 1. satırdaki kodumuz da bakınız Google Botları'nın isimleri gelecekti fakat "*" işaretini gördünüz. Bunun anlamı, siteniz tüm Google Botları'nca istisnasız indexlenmesine izin vermişsiniz demektir.
Örnek 2:
User-agent: *
Disallow: /
Gördüğünüz gibi birinci satırdaki user-agent kodumuzun anlamı tüm Google Botları'na sitenizi indexlemesi için izin verilmesiydi. Fakat ikinci satırda "/" böyle bir karakter görüyorsunuz. Bu karakterin anlamı site üzerinde tüm dosyaların taranmaması isteniyor.
Yani bu Robots.txt kod bütününden de anlayacağımız şey, bütün Google Botları'nca sitemizin hiçbir dosyası indexlenmeyecek, taranmayacak.
Örnek 2:
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/
Bütün Google botları, bu 4 dosyayı indexlemeyecektir.
Örnek 3:
User-agent: DeepCrawl
Disallow: /private/
DeepCrawl, bir Google botudur. Görevi ise; sitenizi uzun aralıklarla ziyaret edip, indexlenmesi için gerekli bilgileri toplar. Bu kodların anlamı ise, ismi verilen botun ilgili private klasörünü indexlememeli.
Örnek 4:
User-agent: *
Disallow: /directory/dosya.html
Tüm botlar, ilgili dosyayı indexlemeyecektir. Ama directory dizinindeki dosya.html hariç diğer tüm dosyaları tarar ve indexler.
Örnek 5:
User-agent: *
Allow: /dosya1/site.html
Disallow: /dosya1/
Bu kodların anlamı ise, tüm Google Botları dosya dizininde bulunan site.html dosyası hariç diğer tüm dosyaları taramaz ve indexlemeyecektir.
User-agent: Googlebot
Disallow: /wp-content/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /archives/
Disallow: /index.php
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.css$
Disallow: */feed/
Disallow: */trackback/
User-agent: Googlebot-Image
Disallow: /wp-includes/
User-agent: ia_archiver
Disallow: /
User-agent: duggmirror
Disallow: /
Dilerseniz Robots.txt Oluşturucu araç ile kolayca robots.txt kodlarınızı oluşturup kullanmaya başlayabilirsiniz.
Robots.txt İle İlgili Soru ve Cevaplar
- SEO Açısından En Faydalı Robots.txt nedir?
En faydalı robots.txt dosyası yoktur. Doğru veya yanlış kurgulanan dosyalar vardır. Sitenize en uygun robots.txt dosyasını ancak siz oluşturabilirsiniz. Hangi sayfaların arama motorları tarafından indexlenmesini istemiyorsanız onları belirtiyorsunuz. Örneğin eğer Google, Yandex, Bing arama motorlarında farklı farklı indexlenmesini istiyorsanız aşağıdaki gibi robots.txt dosyanıza uygulayabilirsiniz;
User-agent: Googlebot
Disallow: /wp-admin/
Disallow: /indexlenmesini-istemediginiz-sayfa/
User-agent: YandexBot
Disallow: /wp-admin/
Disallow: /indexlenmesini-istemediginiz-sayfa/
Ayrıca bunlar dışında Google’ın kendi örümceklerini ekleyebilirsiniz. Örneğin görseller için özel robots.txt kodu;
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
Mobil için özel Google robotu;
User-agent: Googlebot-Mobile
Allow: /
Bunlar ekleyebilirsiniz. Ancak robots.txt dosyanızın sade olması sizin için daha yararlı olacaktır. Tabi temanızda indexlenmesini istemediğiniz sayfa yoksa onları belirtebilirsiniz.
- Google Bot Robots.txt Hata Uyarısı
Eğer sitenizin fonksiyonlarına ve tasarımlarına ait kodları engellerseniz Googlebotları sitenizi düzgün tarayamayacaktır. Bu sebeple Disallow: /*.js$ Disallow: /*.css$ komutları kodları ile css ve js dosyalarını engellemek, "Google sistemleri, yakın zamanda ana sayfanızla ilgili, algoritmalarımızın içeriğinizi oluşturma ve dizine ekleme başarısını etkileyecek bir sorun tespit etti. Daha ayrıntılı ifadeyle, Googlebot, robots.txt dosyanızdaki kısıtlamalardan dolayı JavaScript ve/veya CSS dosyalarınıza erişemiyor. Bu dosyalar, Google’ın, web sitenizin düzgün şekilde çalıştığını bilmesine yardımcı olduğundan, bu öğelere erişimin engellenmesi, sıralamanın gerektiği gibi olmamasına yol açacaktır." uyarısıyla karşılaşmanıza neden olabilir.
- Subdomaini Robots.txt Tarafından Engelleme
Subdomain bulunan URL’lerinize özel robot.txt dosyası oluşturabilirsiniz. Bu dosya örneğin sub.ornekdomain.com/robots.txt şeklinde açılmalıdır. Bu dosya içerisine aşağıda belirttiğim kod bloğunu ekleyerek hedef kitlenizin URL adresiniz ile sayfanıza erişmesini ve arama motoru botlarının taramamasını sağlayabilirsiniz.
User-agent: *
Disallow: /
- Arama Sonuçlarında WordPress Dosya İçeriklerim Yer Alıyor
Robots.txt dosyanızda disallow olarak arama sonuçlarına kapatılması gerekenleri allow olarak belirtmişsiniz bu sebeple arama sonuçlarında görünmesi çok normaldir. robots.txt aracınızı aşağıdaki gibi revize etmenizi tavsiye ediyorum.
User-agent: *
Disallow: /wp-admin/
Disallow: /readme.html
Allow: /wp-admin/admin-ajax.php
Sitemap: site haritasının yolu
Bu işlemi yaptıktan sonra Search Console > Tarama > Robots.txt Google’a robots.txt dosyanızı güncellediğinizi belirtmeniz gerekiyor.
- Yeni açacağım sitede düzenleme yaparken robots.txt ile index almasını engellemek zararlı mı?
Sitenizin URL’lerin index almasını engellemek sitenize şu durumda zarar verecektir;
İndex alıp üst sıralarda olan ve ziyaretçi alan sayfalarınız varsa, onların sıralamasını düşürecektir. Dolayısıyla sitenizi tamamen index almasını engellemek yerine, tek tek istediğiniz sayfaları robots.txt dosyası içerisinde belirtin. Böylece önemli olan sayfalar yerini korumuş olacaktır.
Eğer sitenizi yeni oluşturuyorsanız bu SEO için sorun teşkil etmeyecektir. URL’lerin index almasını engelleyip ardından işlerini tamamlarsanız, kodu tekrar kaldırın ve birkaç gün bekleyin. Sonra tekrar istediğiniz işlemlere başlayabilirsiniz. İlkten index alma durumu biraz zorlayabilir, bunu sosyal medya paylaşımlarıyla veya Google gibi getir aracıyla index almasını sağlayabilirsiniz.
- robots.txt ve sitemap.xml Sitemde Görünmüyor
Bazı toollar hatalı sonuç verebilmektedir, manuel olarak kontrol ederek veya Google Search Console üzerinden site haritanızı ekleyip doğrulayarak emin olabilirsiniz.
- Robots.txt yerine Meta Robot Tag Kullanmak
Google ve diğer arama motorları bir siteye girdiğinde ilk olarak Robots.txt dosyasını kontrol eder ve oradaki içeriklerden yola çıkarak sayfaya giriş yapar. Eğer sitede robots.txt dosyası yoksa sayfa içindeki meta name=”robots” etiketine göre hareket eder.
Bir açıdan bakıldığında eğer sitenin tüm indekslerinin kontrolünü mantıklı olarak sağlayabiliyorsanız yapabilirsiniz ki WordPress’te bir çok SEO eklentisi bu duruma imkan sağlıyor, manuel olarak robots kodlarını ekliyor.
Siz bu konuda Google’a daha kesin direktifler vermek istiyor ve tüm sayfaları manuel olarak yönlendirmek istiyorsanız Robots.txt dosyasını kullanmayabilirsiniz.
Eğer aksi bir durum varsa kullanmanız sitenizdeki gizli dosyalar açısından önemlidir.