robots.txt dosyası oluşturmak bir çok kaynakta temel SEO değerlendirme kriteri olarak görülür. Bu makalede robots.txt dosyası nedir, ne işe yarar, nasıl çalışır, söz dizilimi nasıldır gibi sorulara cevap bulabilirsiniz.
robots.txt dosyası nedir, ne işe yarar ?
Nedir: robots.txt dosyası, arama motoru botlarına web sitenizdeki, sayfaların ve klasörlerin nasıl taranması gerektiğine dair talimat vermek için oluşturulan bir metin dosyasıdır.
robots.txt dosyası her web sitesinin kök dizininde bulunması gereken ve sitenize gelen arama motoru botlarına yönelik yazılmış talimatlar içeren basit bir metin dosyasıdır.
Ne işe yarar: robots.txt dosyası, bot, örümcek gibi isimleri olan arama motoru tarayıcılarına sitenizde taramasını istemediğiniz yerleri göstermenize yarar.
robots.txt dosyası, robot dışlama protokolünün (REP) bir parçasıdır. Bu protokol siteler ile botlar arasındaki ilişkiyi düzenlemek için 1994 yılından beri kullanılmaktadır. Standardın amacı bir web sitesinin içeriğinde bulunan ve dizine eklenmesi istenmeyen dosyaları belirtmek ve sitelerin botlar tarafından taranmasını daha verimli hale getirmektir. REP ayrıca meta robots gibi direktifleri, arama motorlarının bağlantılara nasıl davranması gerektiği (“follow” veya “nofollow” gibi) konusunda sayfa, alt dizin veya site çapında talimatlar içermektedir.
Arama motoru robotu = robot = bot = spider = örümcek
Botların tarama işlemleri sırasında siteden defalarca sayfa talebi olur. Sunucuların kapasite olarak zayıf olduğu dönemde tarama işlemi sunucuların yada sitelerin çökmesine neden olabiliyordu. Şimdilerde çok sorun olmasa da robots.txt ve sitemap.xml gibi oldukça basit dosyalar tarama işlemlerinin yapılmasında kaynak kullanımı açısından küresel çapta tasarruf sağlar.
robot bir web sitesini ziyaret ettiğinde kök dizindeki robots.txt isimli dosyayı kontrol eder. Bu belgeyi bulursa, sitenin hangi kısımlarına izin verilip verilmediğini görmek için içeriğini analiz eder. robots.txt dosyasını yalnızca belirli robotlara veya belirli dizinlere veya dosyalara erişimi engellemek (sadece talep olarak düşünün) için özelleştirebilirsiniz.
Bir sitede yalnızca tek bir “/robots.txt” olabilir.
robots.txt dosyası oluşturma ve düzenleme
Basit bir metin dosyası olduğundan web sunucunuz üzerindeki yada bilgisayarınızda bulunan basit bir metin editörü ile bu dosyayı oluşturabilirsiniz.
Sunucuda yada bilgisayarınızda yeni bir metin dosyası oluşturun ve “robots.txt” olarak kaydedin. robots.txt dosyasının bulunması gereken yer sunucunun kök klasörüdür, public_html olarak isimlendirilir, dosyanızı oluşturduktan sonra bu klasöre yükleyin.
Sonrasında cPanel üzerindeki metin editörü ile istediğiniz düzenlemeleri yapabilirsiniz. robots.txt dosyasını düzenlemek için metin editörleri ve söz dizilimini bilmeniz gerekir.
robots.txt söz dizilimi
robots.txt sözdizimi, robots.txt dosyalarının “dili” olarak düşünülebilir. Bir robots.txt dosyasında karşılaşmanız muhtemel beş genel terim vardır. Bunlar:
User-agent
Tarama talimatlarını vermekte olduğunuz belirli web tarayıcısını, genellikle bir arama motoru robotunu (bot, spider) tanımlamada kullanılır . User-agent tanımı yapmak isterseniz webde kullanılan botların çoğunu arama motoru robotları veritabanı içinde görebilirsiniz. Buradan isimlerini alarak tanımlama yapabilirsiniz.
Disallow
Bir kullanıcı aracısına belirli URL’yi taramamasını söyleyen komut. Her URL için yalnızca bir “Disallow:” satırına izin verilir.
Allow
(Yalnızca Googlebot için geçerlidir): Googlebot’a üst sayfa veya alt klasör izin verilmese bile bir sayfaya veya alt klasöre erişebilmesini söylemek için kullanlan komut.
Crawl-delay
Tarayıcının, sayfa içeriğini yüklemeden ve taramadan önce kaç milisaniye beklemesi gerektiğini belirtmek için kullanılır. Googlebot’ un bu komutu onaylamadığını, ancak tarama hızının Google Search Console’da ayarlanabileceğini unutmayın.
Sitemap
Site haritasının URL sini botlara bildirmek için kullanılır. Bu komutun yalnızca Google, Ask, Bing ve Yahoo tarafından desteklendiğini unutmayın. XML site haritanızın URL sini robots.txt içerisinde vermek botların ve sizin işinizi kolaylaştırır.Site harita URL niz değiştiğinde bu kısmı değiştirmeyi unutmayın. Örneğin WordPress sitenizde YOAST sitemap_index, Google XML sitemaps eklentisi ise sitamap.xml adıyla dosya oluşturur.
Özel karakterler
* karakteri
Tüm anlamında kullanılır. User-agent tanımlanmasında bütün botları tanımlar.
/ karakteri
Site kök dizinini belirtir. Klasör tanımlarken kullanılırsa siteye ait bütün klasörler anlamına gelir.
robots.txt söz dizilimi örnekleri
Temel söz dizilimi:
Örnekler
User-agent: [bot adı]
Disallow: [URL - klasör adı]
Bütün botlar, site üzerindeki bütün dosyaları tarayabilir talebi. Bu söz dizimini bir robots.txt dosyasında kullanmak, tüm web tarayıcılarına , sitedeki, ana sayfa da dahil , herhangi bir sayfayı taramasını söyler.
User-agent: *
Disallow:
Bütün botlardan, sitenin bütün dosyalarını taramama talebi. Bir robots.txt dosyasında bu sözdizimini kullanmak, web tarayıcılarına ana sayfa da dahil sitedeki tüm sayfaları taramamasını söyler .
User-agent: *
Disallow: /
Not: Disallow bir engelleme değildir. Sadece bir taleptir. Uymak yada uymamak botların niyetine bağlıdır.
Belirli bir robotun belirli bir klasör için engellenmesi. Bir robots.txt dosyasında bu sözdizimini kullanmak, Googlebot’ a site kök dizini altındaki “ozel-klasor” isimli klasörü taramamasını söyler .
User-agent: Googlebot
Disallow: /ozel-klasor/
Belirli bir robotun belirli bir web sayfası için engellenmesi. Bir robots.txt dosyasında bu sözdizimini kullanmak, Bingbot’ a site “ozel-klasor/istenmeyen-sayfa.html” isimli sayfayı taramamasını söyler.
User-agent: Bingbot
Disallow: /ozel-klasor/istenmeyen-sayfa.html
robots.txt nasıl çalışır ?
Siteleri taramak için arama motoru tarayıcıları milyarlarca bağlantı ve web sayfası arasında, bir siteden diğerine ulaşmak için bağlantıları izler. Bu tarama davranışından dolayı bazen “örümcek” olarak adlandırılır. Bir web sitesine gelip tarama yapmadan önce, botlar bir robots.txt dosyası arar. Bir robots.txt dosyası bulursa, tarayıcı sayfa boyunca devam etmeden önce o dosyayı okur. robots.txt dosyası, arama motorunun siteyi nasıl taraması gerektiği konusunda bilgi içerdiğinden bu dosyayı bulamadığı durumda bağlantıları takip ederek tarama işlemine devam eder.
robots.txt hakkında faydalı kısa bilgiler
- Botlar tarafından bulunabilmesi için bir web sitesinin kök dizinine bir robots.txt dosyası yerleştirilmelidir.
- robots.txt harfe duyarlıdır, isimlendirme “robots.txt” şeklinde olmalıdır. (
Robots.txt, robots.txt) - Bazı robotlar, robots.txt dosyanızı görmezden gelmeyi seçebilir. Bu, özellikle kötü niyetli robotlar veya e-posta adresi kazıyıcılar gibi daha zararlı tarayıcılarda görülür.
- Çoğu barındırma kurulumunda, dosyayı yükledikten sonra 644 izniyle robots.txt dosyasını oluşturacaktır.
- Kök etki alanındaki her alt alan, ayrı robots.txt dosyalarını kullanır. Bu hem blog.example.com hem de example.com’ un kendi robots.txt dosyalarına sahip olması gerektiği anlamına gelir.
- Genellikle, sitenize ait site haritasının adresini, robots.txt dosyasının son satırına iyi bir yöntemdir. WordPress için olarak kullanabileceğiniz standart örnek;
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://webtium.com/sitemap.xml
robots.txt dosyasında kalıpların kullanımı
Google ve Bing gibi arama motorları için özel karakterler içeren kalıplar kullanılarak daha kullanışlı ama biraz daha karmaşık hale getirilebilir. Kalıpların kullanımıyla daha özel tanımlamalar yapılabilir. Örneklerle anlatmak daha faydalı olabilir ;
Bir karakter dizisini engellemek için yıldız karakteri (*) kullanın. Örneğin, bu örnek kod “ozel” kelimesi ile başlayan tüm alt dizinleri engeller.
User-agent: Googlebot
Disallow: /ozel*/
Soru işareti (?) içeren tüm URL’ lere erişimi engelleme. Örneğin, burada verilen örnek kod, alan adınızla başlayan, ardından bir karakter dizisi, bir soru işareti gelen ve yine herhangi bir karakter dizisi ile biten URL’ leri engeller:
User-agent: Googlebot
Disallow: /*?
Belirli bir uzantı ile biten URL’ leri engellemek için $ işaretini kullanın. Örneğin, bu örnek kod .php ile biten tüm URL’leri engeller:
User-agent: Googlebot
Disallow: /*.php$
Belirli bir dosya türünü engellemek için $ işaretini kullanın. Örneğin, bu örnek kod .doc ile biten tüm URL’leri engeller:
User-agent: Googlebot
Disallow: /*.doc$
robots.txt dosyanız olup olmadığını kontrol etme
Seo Analiz aracı kullanarak bunu kontrol edebilirsiniz yada tarayıcınıza alan adınızı, ardından /robots.txt yazabilirsiniz. Aşağıdakine benzer bir sayfa ile karşılaşırsanız dosyanız mevcuttur;
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://webtium.com/sitemap.xml
robots.txt dosyası ve SEO
Web sitenizin taranmasını istediğiniz herhangi bir içeriği veya bölümü engellemediğinizden emin olun.
robots.txt tarafından engellenen sayfalardaki bağlantılar takip edilmeyecektir. Arama motoru botunun erişebildiği diğer sayfalardan (yani, robots.txt, meta robotlar veya diğer yollarla engellenmeyen sayfalar) bağlantı olmadıkça, engellenen kaynaklar taranmaz ve dizine eklenemez.
Hassas verilerin (özel kullanıcı bilgileri gibi), SERP sonuçlarında görünmesini engellemek için robots.txt kullanmayın. Botlar diğer sayfalardan doğrudan bağlantıya sahip olan sayfalara robots.txt yönergelerini atlayarak bağlanabilir ve dizine eklenebilir. Sayfanızı arama sonuçlarından engellemek istiyorsanız , parola koruması veya noindex meta yönergesi gibi farklı bir yöntem kullanın.
Bazı arama motorlarının birden fazla web tarayıcı botu vardır. Örneğin, Google organik arama için Googlebot’u ve resim aramasında Googlebot-Image’ ı kullanıyor. Aynı arama motorundaki çoğu kullanıcı aracısı aynı kuralları uygular; bu nedenle, arama motorunun birden çok tarayıcısının her biri için yönerge belirlemenize gerek yoktur ancak bunu yapabilme yeteneği, sitenizin içeriğinin nasıl taranması gerektiğine dair ince ayar yapmanıza izin verir.
Bir arama motoru, robots.txt içeriğini önbelleğe alır, ancak genellikle önbellek içeriğini günde en az bir kez günceller. Dosyayı değiştirir ve dosyayı daha hızlı güncellemek isterseniz, robots.txt URL’nizi Google’a gönderebilirsiniz .
robots.txt, meta robots ve x-robotlar
Öncelikle, robots.txt gerçek bir metin dosyası, meta ve x-robotları ise meta yönergelerdir. robots.txt, site veya dizin çapında tarama davranışını belirlerken, meta ve x-robots dizin oluşturma davranışını tek tek sayfa (veya sayfa öğesi) düzeyinde belirleyebilir.
robots.txt dosyası nerede olmalı?
robots.txt dosyasının bulunması gereken yer sunucunun kök klasörüdür, public_html olarak isimlendirilir, dosyanızı oluşturduktan sonra bu klasöre yükleyin.
robots.txt ile kötü robotları engelleyebilir miyim?
Pratikte, hayır. Kötü niyetli botlar robots.txt dosyasını haliyle sizin isteğinizi yok sayar. Bunlar tek bir IP adresinden çalışırsa, sunucu yapılandırması veya bir ağ güvenlik duvarı ile web sunucunuza erişimini engelleyebilirsiniz. Ancak farklı IP ler kullanmaları muhtemeldir.
En iyi seçenek IP adreslerine erişimi otomatik olarak engelleyen gelişmiş güvenlik duvarı kuralları yapılandırması kullanmaktır. WordPress güvenlik eklentileri kullanarak WordPress sitelerini koruyabilirsiniz.
WordPress robots.txt dosyası
En çok kullanılan içerik yönetim sistemine ait robots.txt dosyasına ait bilgiler.
WordPress standart robots.txt dosyası içeriği
WordPress sitelerin kullandığı standart robots.txt içeriğini aşağıda bulabilirsiniz. Kendi sitenizde kullanabilirsiniz. (sitemap adresinizi değiştirmeyi unutmayın.)
Birinci satır : Bu dosya bütün robotlar için,
İkinci satır : wp-admin klasörünü tarama,
Üçüncü satır : wp-admin klasörü içindeki admin-ajax.php dosyasını tarayabilirsin
Beşinci satır: Bu satırda arama motorlarına kolaylık sağlamak için sitemap.xml dosya URL si verilmiş.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://webtium.com/sitemap.xml
WordPress sitede Google botlarını engelleme
Sitenizdeki bir sayfanın web tarayıcılarının çoğu tarafından dizine eklenmesini engellemek üzere aşağıdaki meta etiketi sayfanızın <head> bölümüne ekleyin.
<meta name="robots" content="noindex">
Sadece Google web tarayıcılarının bir sayfayı dizine eklemelerini önleme:
<meta name="googlebot" content="noindex">
Bazı web tarayıcılarının noindex yönergesini farklı yorumlayabileceğini bilmeniz gerekir. Bunun sonucunda sayfanızın diğer arama motoru sonuç sayfalarında görünmeye devam etmesi mümkündür.
Robots.txt oluşturucu (generator) araçlar
Robot dosyası oluşturucuları bu başlık altında bulabilirsiniz.
Online araçlar
Çevrimiçi kullanabileceğiniz araçlar.
- https://smallseotools.com/robots-txt-generator/