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.
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 hangi sayfaların veya bölümlerin taranıp dizine eklenmesi gerektiğini ve hangilerinin göz ardı edilmesi gerektiğini belirtir. Bu dosya, web sitesi sahiplerinin arama motoru tarayıcılarının davranışlarını kontrol etmelerine yardımcı olur, erişimi yönetmelerine, dizine eklemeyi belirli alanlarla sınırlamalarına ve tarama hızını düzenlemelerine olanak tanır. Herkese açık bir belge olmasına rağmen, yönergelerine uyum gönüllüdür, ancak arama motoru robotlarını yönlendirmek ve dizinleme sürecini etkilemek için güçlü bir araçtır.
Basit bir robots.txt dosyası aşağıdaki gibi görünebilir:
User-Agent: *
Disallow:
Sitemap: https://www.example.com/sitemap_index.xml
The example below would block all search engines that “listen” to robots.txt from crawling your site. Aşağıdaki örnek, robots.txt'yi "dinleyen" tüm arama motorlarının sitenizi taramasını engelleyecektir .
User-agent: *
Disallow: /
The example below would allow all search engines to crawl your site by dropping a single character. Aşağıdaki örnek, tek bir karakteri silerek tüm arama motorlarının sitenizi taramasına olanak tanır .
User-agent: *
Disallow:
Senaryo - 1: Tarama botlarının web sitesinde ki URL veya sayfaların tamamını taramasına izin vermek istiyoruz?
user-agent: *
Allow:/
Senaryo - 2: Tarama botlarının web sitesinde ki URL veya sayfaların tamamını taramasına izin vermek istemiyoruz yani engellemek istiyoruz?
user-agent: *
Disallow:/
Senaryo - 3: Tarama botlarının web sitesinde ki X sayfasını taramamasını fakat X sayfası altında yer alan Y sayfasını taramasını istiyoruz?
user-agent: *
Disallow:/x-sayfasi/
Allow: /x-sayfasi/y-sayfasi
Web sitesini taramaya gelen Googlebot’un iş başvurusu sayfası altında yer alan teşekkürler adlı sayfamızı taramasını istemezken, diğer kalan tüm botların taramasını istiyoruz.
User-agent: *
Allow: /
User-agent: Googlebot
Disallow: /is-basvurusu/tesekkurler
Yukarıda yer alan komut ile Googlebot, Teşekkürler sayfası hariç diğer tüm sayfaları tarayacaktır. İş başvurusu ve onun altındaki diğer tüm sayfaları tarayacaktır.
Googlebot’un iş başvurusu sayfası altında yer alan tüm sayfaları taranmasını engellemek ve Yandexbot’un iste sadece teşekkürler sayfasını taramasını engellemek istiyorsak.
User-agent: *
Allow: /
User-agent: Googlebot
Disallow: /is-basvurusu/
User-agent: Yandexbot
Disallow: /is-basvurusu/tesekkurler
User-agent: Mediapartners-Google: Bu kod Google AdSense kullanıcıları için. Reklamların daha iyi çalışmasını sağlıyor. Eğer bir AdSense yayıncısı değilseniz, bu kodu kullanmanıza gerek yok.User-agent: *: Bu kod tüm arama motorları tarafından sitenizin taranmasını ve indexlenmesini sağlar.
Disallow: /search: Disallow kodu indexleme talimatı için kullanılır. Bu kodla robotlar ilgili kısımları taramaz ve indexlemez. Search kelimesiyle birlikte kullanınca da arama sonuçlarının indexlenmemesi ve taranmaması için kullanıldığın anlamına gelir.Allow: Bu kod İngilizce terim anlamıyla da anlaşılacağı üzere tara, indexle komutları içerir. Yanına eklenen / işareti ise ana sayfa linki anlamına gelir. Örneğin şu yazımda
bahsettiğim link ekleme kısmında da, href kodunun hemen yanına eklenen linkin yerine / işaret konulduğunda ana sayfaya yönlendirecektir.Sitemap te zaten bizim sitemizin haritası. Kırmızı renkle belirttiğim alana kendi adresinizi eklemeyi unutmayın.
Bir robots.txt dosyası, her biri bir kullanıcı aracısı satırıyla başlayan bir veya daha fazla yönerge bloğundan oluşur. "Kullanıcı aracısı", hitap ettiği belirli örümceğin adıdır. Kullanıcı aracısı için bir joker karakter kullanarak tüm arama motorları için bir blok veya belirli arama motorları için belirli bloklar kullanabilirsiniz. Bir arama motoru örümceği her zaman adıyla en iyi eşleşen bloğu seçecektir.
Bu bloklar şu şekilde görünüyor (korkmayın, aşağıda açıklayacağız):
Kullanıcı aracısı: *
İzin verilmiyor: /
Kullanıcı aracısı: Googlebot
İzin verilmiyor:
Kullanıcı aracısı: bingbot
İzin verilmiyor: /bing-için-değil/
Allowve gibi yönergeler Disallowbüyük/küçük harfe duyarlı olmamalıdır, bu yüzden onları küçük harfle yazmak veya büyük harfle yazmak size kalmıştır. Değerler büyük /küçük harfe duyarlıdır , bu yüzden /photo/ile aynı değildir /Photo/. Yönergeleri büyük harfle yazmayı severiz çünkü dosyayı (insanlar için) okumayı kolaylaştırır.
Kullanıcı aracısı yönergesi
Her yönerge bloğunun ilk parçası, belirli bir örümceği tanımlayan kullanıcı aracısıdır. Kullanıcı aracı alanı, o belirli örümceğin (genellikle daha uzun) kullanıcı aracısıyla eşleşir, bu nedenle örneğin Google'daki en yaygın örümcek aşağıdaki kullanıcı aracısına sahiptir:
Mozilla/5.0 (uyumlu; Googlebot/2.1; +http://www.google.com/bot.html)
Bu tarayıcıya ne yapması gerektiğini söylemek istiyorsanız, nispeten basit bir User-agent: Googlebotsatır yeterli olacaktır.
Çoğu arama motorunun birden fazla örümceği vardır. Normal dizinleri, reklam programları, görseller, videolar vb. için belirli bir örümcek kullanırlar.
Arama motorları her zaman bulabildikleri en spesifik direktif bloğunu seçer. Diyelim ki üç direktif setiniz var: biri için *, biri için Googlebotve biri için Googlebot-News. Kullanıcı aracısı olan bir bot gelirse Googlebot-Video, 'yi takip eder Googlebot restrictions. Kullanıcı aracısı olan bir bot daha spesifik direktifler Googlebot-Newskullanır .Googlebot-News
Arama motoru örümcekleri için en yaygın kullanıcı aracıları
En sık kullanılan arama motorlarıyla eşleşmesi için robots.txt dosyanızda kullanabileceğiniz kullanıcı aracılarının listesi aşağıdadır:
Arama motoru | Alan | Kullanıcı aracısı |
---|
Baidu | Genel | baiduspider |
Baidu | Görüntüler | baiduspider-image |
Baidu | Mobil | baiduspider-mobile |
Baidu | Haberler | baiduspider-news |
Baidu | Video | baiduspider-video |
Bing | Genel | bingbot |
Bing | Genel | msnbot |
Bing | Resimler ve Videolar | msnbot-media |
Bing | Reklamlar | adidxbot |
Google | Genel | Googlebot |
Google | Görüntüler | Googlebot-Image |
Google | Mobil | Googlebot-Mobile |
Google | Haberler | Googlebot-News |
Google | Video | Googlebot-Video |
Google | E-ticaret | Storebot-Google |
Google | AdSense | Mediapartners-Google |
Google | AdWords | AdsBot-Google |
Evet! | Genel | slurp |
Yandex | Genel | yandex |
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.
Allow: / : Tüm sayfaları indexle demektir.
YanıtlaSilUser-agent: * : İndexlemesini istemediğimiz arama motoru botlarını buradan engelleyebiliriz.
Örnek:
User-agent: Googlebot
User-agent: YandexBot
Burada yapmış oluğumuz işlem ise Google botları ve Yandex botlarının web sitemizi taramaması için kısıtlama veya erişim getirebiliriz.
Disallow: Engellemek istediğimiz dosyayı, sayfayı buradan engelleriz.
Disallow: /örnek* ise URL’mize örnek ile başlayan tüm sayfaları engeller.
Disallow: /*.html$ ile belirli bir dosya türünü engelleyebiliriz.
Örnek:
User-agent: Googlebot
Disallow: /admin
Disallow: /sayfayı.engelle.html
Google botlarına web sitemizde admin ve sayfa.engelle.html sayfasını taramaması için komut göndermiş oluruz.
User-agent:*
Disallow:/Erkan/Eren.html*
Tüm arama motoru botları eren.html dosyasını indexlemeyecektir. Yalnız Erkan dizindeki Eren.html hariç tüm dosyaları tarar ve indexler.
User-Agent: *
Allow: /
Disallow: index.php?p=search&search=*
Disallow: /tmp*
Site Haritası: https://www.orneksite.com.tr/sitemap.xml
Site Haritası: https://www.orneksite.com.tr/image_sitemap.xml
User-agent: *
YanıtlaSiluser-agent: Googlebot
user-agent: Googlebot-Image
user-agent: Googlebot-Video
user-agent: Googlebot-News
user-agent: Storebot-Google
user-agent: Google-InspectionTool
user-agent: GoogleOther
user-agent: GoogleOther-Image
user-agent: GoogleOther-Video
user-agent: Google-CloudVertexBot
user-agent: Google-Extended
Allow: /
Sitemap: https://www.memursite.com/atom.xml