Hizmetler Hosting & Sunucu Araçlar Blog Ara Kurumsal EnglishEN
Teklif Alın

robots.txt Nedir?

robots.txt, bir web sitesinin kök dizininde yayınlanan ve arama motoru botlarına (crawler) sitenin hangi bölümlerini tarayabileceklerini, hangilerini taramaması gerektiğini bildiren düz metin dosyasıdır. Google, Bing gibi arama motorları bir siteyi taramaya başlamadan önce bu dosyayı kontrol eder ve içindeki kurallara göre hareket eder. Dosya erişim engellemez; sadece iyi niyetli botlara bir yönerge sunar — kötü niyetli botlar bu kuralları görmezden gelebilir.

Küçük bir siteyle uğraşıyorsanız robots.txt genelde kritik bir ihtiyaç değildir; ama çok sayfalı bir site, gereksiz taramayı sınırlı crawl budget'ı boşa harcamaktan kurtarmak için bu dosyayı kullanabilir. Yönetim panelleri, arama sonucu sayfaları, filtre URL'leri gibi bot trafiğinden fayda görmeyen alanları Disallow ile kapatmak, botların asıl önemli sayfalara daha sık uğramasına imkan tanır.

robots.txt Dosyasının Doğru Konumu

Bir robots.txt dosyasının arama motorları tarafından tanınması için sitenin kök dizininde yayınlanması gerekir: https://example.com/robots.txt. Dosya https://example.com/blog/robots.txt gibi bir alt dizine konursa hiçbir arama motoru tarafından okunmaz. Ayrıca her alt alan adı (subdomain) kendi robots.txt dosyasına ihtiyaç duyar; blog.example.com için example.com/robots.txt geçerli değildir, blog.example.com/robots.txt gerekir.

Temel Direktifler: User-agent, Disallow, Allow, Sitemap

robots.txt sözdizimi birkaç basit direktiften oluşur. Her kural bloğu bir User-agent satırıyla başlar ve o bloğun hangi bot için geçerli olduğunu belirtir; * tüm botları kapsar.

  • User-agent: Kuralın uygulanacağı botu belirtir (ör. Googlebot veya tüm botlar için *).
  • Disallow: Botun taramaması gereken yolu tanımlar; örnek Disallow: /wp-admin/.
  • Allow: Genel bir Disallow kuralının içinde istisna oluşturmak için kullanılır.
  • Sitemap: sitemap.xml dosyasının tam adresini belirtir, dosyanın herhangi bir yerinde yer alabilir.

Bir User-agent bloğunun altında hiç Disallow satırı olmaması ya da Disallow değerinin boş bırakılması geçerli bir sözdizimidir ve o bot için "her şeyi tara" anlamına gelir.

Joker Karakterler, Yorumlar ve Birden Fazla User-agent Bloğu

Disallow ve Allow yollarında * karakteri sıfır veya daha fazla karakter yerine geçen bir joker karakter olarak kullanılabilir; $ ise URL'nin tam olarak o noktada bittiğini belirtir. # ile başlayan satırlar yorum satırıdır ve bot tarafından yok sayılır — kuralları belgelemek için kullanışlıdır.

Farklı botlara farklı davranmak isterseniz aynı dosyada birden fazla User-agent bloğu tanımlayabilirsiniz. Örneğin genel botları bir klasörden tamamen uzak tutup belirli bir bot için içinde istisna tanımlamak mümkündür:

User-agent: *
Disallow: /arastirma/

User-agent: Googlebot-Image
Disallow: /arastirma/gorseller/
Allow: /arastirma/gorseller/kapak.jpg

Ayrıca robots.txt'teki yollar büyük/küçük harfe duyarlıdır; /Gizli/ ile /gizli/ farklı yollar olarak değerlendirilir. Bu ayrıntı, sunucu dosya sisteminde büyük/küçük harf duyarlı çalışan Linux tabanlı hostinglerde özellikle önemlidir.

Disallow, Sayfanın İndekslenmeyeceği Anlamına Gelmez

Burada sık yapılan bir hata var: Disallow, indekslenmeyi garanti altına almaz. Bir yolu Disallow ile engellemek botun o sayfayı taramasını engeller; ama sayfa başka bir siteden bağlantı alıyorsa Google onu, içeriğini hiç görmeden, yine de arama sonuçlarında listeleyebilir.

Uyarı
Bir sayfanın kesinlikle indekse girmemesini istiyorsanız Disallow yetmez. Sayfaya <meta name="robots" content="noindex"> etiketi veya X-Robots-Tag HTTP başlığı eklemeniz gerekir — ve bunun işe yaraması için sayfanın taranabilir olması, yani Disallow edilmemiş olması şarttır. Aksi halde bot noindex etiketini hiç göremez.

Crawl-delay: Google, Bing ve Yandex Arasındaki Fark

Crawl-delay direktifi botun istekler arasında en az kaç saniye beklemesi gerektiğini belirtir. Ancak Google bu direktifi tamamen yok sayar; Google için tarama hızı Search Console'daki crawl rate ayarlarından yönetilir. Bing ve Yandex ise Crawl-delay'e uyar — küçük veya paylaşımlı sunucularda ani bot yükünü sınırlamak isteyen siteler için kullanışlıdır.

DirektifGoogleBingYandex
User-agent / Disallow / AllowDesteklerDesteklerDestekler
Crawl-delayYok sayarDesteklerDestekler
SitemapDesteklerDesteklerDestekler

Sık Yapılan robots.txt Hataları

  • Dosyayı kök dizin yerine bir alt klasöre koymak — bu durumda dosya hiç okunmaz.
  • Disallow ile noindex'i karıştırıp bir sayfanın arama sonuçlarından tamamen kalkacağını sanmak.
  • Tüm siteyi yanlışlıkla Disallow: / ile kapatıp fark etmemek.
  • Sitemap satırını eklemeyi unutmak; bu satır sitemap'in keşfini kolaylaştıran basit ama etkili bir eklemedir.
  • Crawl-delay'in Google'da da işe yarayacağını düşünmek.

Örnek: WordPress Siteleri İçin robots.txt

WordPress kurulumlarında yönetim ve sistem dosyalarını kapatıp gerekli AJAX uç noktasına izin veren tipik bir yapı şu şekildedir:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /xmlrpc.php
Allow: /wp-admin/admin-ajax.php

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

Bu yapıda her satırın bir amacı vardır: /wp-admin/ ve /wp-includes/ yönetim ve çekirdek dosyalarını, /wp-content/plugins/ eklenti dosyalarını, /wp-content/cache/ önbellek çıktısını, /trackback/ ve xmlrpc.php ise içerik üretmeyen sistem uç noktalarını bottan gizler. admin-ajax.php ise birçok temanın ön yüzde de kullandığı bir uç nokta olduğu için ayrıca Allow ile açık bırakılır.

CSS ve JS Dosyalarını Engellemeyin

robots.txt hazırlarken sık yapılan bir diğer hata, stil (CSS) ve script (JS) dosyalarının bulunduğu klasörleri Disallow ile kapatmaktır. Arama motorları sayfaları modern bir tarayıcıya yakın şekilde render ederek değerlendirir; CSS ve JS dosyalarına erişimi engellemek botun sayfayı kullanıcıların gerçekte gördüğü gibi görüntülemesini zorlaştırır. Bu yüzden tema ve eklenti klasörlerini kapatırken içindeki .css ve .js dosyalarının yanlışlıkla erişilemez hale gelmediğinden emin olmak gerekir.

robots.txt Oluşturucu ile Hızlı ve Hatasız Hazırlayın

Kuralları elle yazmak yerine, doğru sözdizimini garanti eden bir arayüzle çalışmak hata riskini azaltır. KEYDAL'ın robots.txt oluşturucusu User-agent, Disallow/Allow yolları, Sitemap adresi ve Crawl-delay değerini formda toplayıp geçerli bir robots.txt çıktısı üretir; WordPress ve "her şeye izin ver" gibi hazır ön ayarlarla hızlıca başlayabilirsiniz. Araç tamamen tarayıcınızda çalışır, girdiğiniz hiçbir bilgi sunucuya gönderilmez.

Dosyayı yayınladıktan sonra sitenizin kök dizininde erişilebilir olduğunu, tarayıcınızdan /robots.txt yolunu ziyaret ederek doğrulamanız yeterlidir.

WhatsApp