Robots.txt dosyası nasıl yazılır ve gönderilir?
Robots.txt dosyası kullanarak sitenizdeki hangi dosyaların tarayıcıların erişimine açık olacağını belirleyebilirsiniz.
Robots.txt dosyası, sitenizin kök dizininde bulunur. Dolayısıyla robots.txt dosyası, www.example.com
sitesinde www.example.com/robots.txt
adresindedir. Robots.txt, Robot Hariç Tutma Standardı'na uygun bir düz metin dosyasıdır.
Robots.txt dosyası, bir veya daha fazla kuraldan oluşur. Her kural, robots.txt dosyasının barındırıldığı alan adında veya alt alan adında belirtilen bir dosya yoluna tüm tarayıcıların ya da belirli bir tarayıcının erişimine izin verir veya erişimi engeller. Robots.txt dosyanızda aksini belirtmediğiniz sürece tüm dosyaların taranmasına izin verilir.
İki kural içeren basit bir robots.txt dosyasını aşağıda görebilirsiniz:
User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: https://www.example.com/sitemap.xml
Bu örnekteki robots.txt dosyasında şunlar belirtilmiştir:
-
Googlebot adlı kullanıcı aracısının,
https://example.com/nogooglebot/
ile başlayan hiçbir URL'yi taramasına izin verilmez. - Diğer tüm kullanıcı aracılarının sitenin tamamını taramasına izin verilir. Varsayılan davranış, kullanıcı aracılarının sitenin tamamını taramasına izin verilmesi olduğundan bu durum belirtilmese dahi sonuç aynı olacaktır.
-
Sitenin site haritası dosyası,
https://www.example.com/sitemap.xml
adresinde bulunmaktadır.
Daha fazla örnek için söz dizimi bölümüne bakın.
Robots.txt dosyası oluşturmak için temel kurallar
Robots.txt dosyası oluşturup dosyanın genel olarak erişilebilir ve faydalı olmasını sağlamak için uygulayacağınız dört adım vardır:
- Robots.txt adlı bir dosya oluşturma.
- Robots.txt dosyasına kural ekleme.
- Robots.txt dosyasını sitenizin kök dizinine yükleme.
- Robots.txt dosyasını test etme.
Robots.txt dosyası oluşturma
Bir robots.txt dosyası oluşturmak için neredeyse tüm metin düzenleyicilerini kullanabilirsiniz. Örneğin, Notepad, TextEdit, vi ve emacs, geçerli robots.txt dosyaları oluşturabilir. Kelime işlemci kullanmayın (kelime işlemciler, dosyaları genellikle özel bir biçimde kaydeder ve tarayıcılar için sorunlara neden olabilecek kıvrık tırnak gibi beklenmedik karakterler ekleyebilir). Dosyayı kaydet iletişim kutusunda sorulması halinde dosyayı UTF-8 kodlamasıyla kaydettiğinizden emin olun.
Biçim ve konum kuralları:
- Dosya, robots.txt olarak adlandırılmalıdır.
- Sitenizde yalnızca bir robots.txt dosyası olabilir.
-
Robots.txt dosyası, geçerli olacağı sitenin ana makinesinin kök dizininde bulunmalıdır. Örneğin,
https://www.example.com/
altındaki tüm URL'lerde taramayı kontrol etmek için robots.txt dosyası,https://www.example.com/robots.txt
konumuna yerleştirilmelidir. Bir alt dizine (örneğin,https://example.com/pages/robots.txt
) yerleştirilemez. Sitenizin kök dizinine nasıl erişeceğinizden emin değilseniz veya bunun için izin almanız gerekiyorsa web barındırma hizmeti sağlayıcınıza başvurun. Sitenizin kök dizinine erişemiyorsanızmeta
etiketler gibi alternatif bir engelleme yöntemini kullanın. -
Robots.txt dosyası, alt alan adında (örneğin,
https://site.example.com/robots.txt
) veya standart olmayan bağlantı noktalarında (örneğin,https://example.com:8181/robots.txt
) yayınlanabilir. - Robots.txt dosyası yalnızca yayınlandığı protokol, ana makine ve bağlantı noktası içindeki yollarda
geçerlidir. Yani,
https://example.com/robots.txt
içindeki kurallar yalnızcahttps://example.com/
dosyalarında geçerlidir.https://m.example.com/
gibi alt alan adlarında veyahttp://example.com/
gibi alternatif protokollerde geçerli değildir. - Robots.txt dosyası, UTF-8 olarak kodlanmış metin dosyası olmalıdır (bu, ASCII karakterleri de içerir). Google, UTF-8 aralığı dışındaki karakterleri yoksayabilir ve bu durumda robots.txt kurallarını geçersiz olarak algılayabilir.
Robots.txt kuralları nasıl yazılır?
Kurallar, tarayıcıların sitenizin hangi bölümlerini tarayabileceğini belirten talimatlardır. Robots.txt dosyanıza kural eklerken aşağıdaki esasları dikkate alın:
- Robots.txt dosyası bir veya daha fazla gruptan (kural grubu) oluşur.
-
Her grup, satır başına bir kural (ayrıca yönerge olarak da adlandırılır) olacak şekilde birden fazla kuraldan oluşur. Her grup, grupların hedefini belirten bir
User-agent
satırıyla başlar. - Bir grup şu bilgileri verir:
- Kuralın kimin için geçerli olacağı (kullanıcı aracısı).
- Söz konusu aracının erişebileceği dizinler veya dosyalar.
- Söz konusu aracının erişemeyeceği dizinler veya dosyalar.
- Tarayıcılar, grupları yukarıdan aşağıya doğru işler. Kullanıcı aracıları yalnızca bir kural grubuyla eşleşebilir. Bu grup, kullanıcı aracısıyla eşleşen ilk ve en ayrıntılı grup olur. Aynı kullanıcı aracısı için birden fazla grup varsa gruplar, işlenmeden önce tek bir grupta birleştirilir.
-
Bir kullanıcı aracısının kuralıyla engellenmeyen bir sayfayı veya dizini tarayabileceği
disallow
varsayılan olarak kabul edilir. -
Kurallar büyük/küçük harfe duyarlıdır. Örneğin
disallow: /file.asp
,https://www.example.com/file.asp
için geçerlidir, ancakhttps://www.example.com/FILE.asp
için geçerli değildir. -
#
karakteri, bir yorumun başlangıcını belirler. Yorumlar, işleme sırasında yoksayılır.
Google'ın tarayıcıları, robots.txt dosyalarında aşağıdaki kuralları destekler:
-
user-agent:
[Zorunlu, grup başına bir veya daha fazla] Kural, geçerli olduğu arama motoru tarayıcısı olarak bilinen otomatik istemcinin adını belirtir. Bu, tüm kural gruplarının ilk satırıdır. Google kullanıcı aracısı adları, Google kullanıcı aracısı listesinde yer alır. Yıldız işareti (*
), çeşitli AdsBot tarayıcıları dışındaki tüm tarayıcılarla eşleşir. Eşleşmeyen AdsBot tarayıcılarının adlarının açıkça belirtilmesi gerekir. Örneğin:# Example 1: Block only Googlebot User-agent: Googlebot Disallow: / # Example 2: Block Googlebot and Adsbot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly) User-agent: * Disallow: /
-
disallow:
[Kural başına en az birdisallow
veyaallow
girişi] Kullanıcı aracısının taramasını istemediğiniz, kök alana göreli olarak belirtilen dizin veya sayfa. Kural, bir sayfaya işaret ediyorsa tam sayfa adını tarayıcıda gösterildiği şekliyle belirtmelidir./
karakteriyle başlamalı ve bir dizine işaret ediyorsa/
işaretiyle bitmelidir. -
allow:
[Kural başına en az birdisallow
veyaallow
girişi] Az önce bahsedilen kullanıcı aracısı tarafından taranabilecek bir dizin veya sayfa; kök alanla göreli olarak belirtilir. Bu parametre, izin verilmeyen bir dizindeki bir alt dizinin veya sayfanın taranmasına izin vermek üzeredisallow
kuralını geçersiz kılmak için kullanılır. Tek bir sayfa için tam sayfa adını tarayıcıda gösterildiği şekliyle belirtin./
karakteriyle başlamalı ve bir dizine işaret ediyorsa/
işaretiyle bitmelidir. -
sitemap:
[İsteğe bağlı, dosya başına sıfır veya daha fazla] Bu siteye ait site haritasının konumudur. Site haritası URL'si, tam nitelikli URL olmalıdır; Google, http/https/www.non-www alternatiflerini varsaymaz veya kontrol etmez. Site Haritaları, Google'a tarayabileceği veya tarayamayacağı içeriğe karşılık hangi içeriği taraması gerektiğini bildirmek için iyi bir yoldur. Site haritaları hakkında daha fazla bilgi edinin. Örnek:Sitemap: https://example.com/sitemap.xml Sitemap: https://www.example.com/sitemap.xml
sitemap
dışındaki tüm kurallar yol öneki, soneki veya dizenin tamamı için *
joker karakterini destekler.
Bu yönergelerin hiçbiriyle eşleşmeyen satırlar yoksayılır.
Her bir kuralın kapsamlı açıklamasını Google'ın robots.txt spesifikasyonunu yorumlayışı konulu sayfamızda okuyabilirsiniz.
Robots.txt dosyasını yükleme
Robots.txt dosyanızı bilgisayarınıza kaydettikten sonra, dosyayı arama motoru tarayıcılarının erişimine açabilirsiniz. Robots.txt dosyasını sitenize nasıl yükleyeceğiniz, site ve sunucu mimarinize bağlı olduğundan bunu yapmanıza yardımcı olabilecek tek bir araçtan söz edemeyiz. Barındırma şirketinizle iletişime geçebilir veya barındırma şirketinizin dokümanlarında arama yapabilirsiniz (örneğin, "infomaniak dosya yükleme" araması yapabilirsiniz).
Robots.txt dosyanızı yükledikten sonra, herkese açık ve Google tarafından ayrıştırılabilir olup olmadığını test edin.
Robots.txt işaretlemesini test etme
Yeni yüklediğiniz robots.txt dosyasının herkesin erişimine açık olup olmadığını test etmek için tarayıcınızda bir gizli tarama penceresi (veya tarayıcınızdaki eşdeğeri) açıp robots.txt dosyasının bulunduğu yere gidin. Örneğin: https://example.com/robots.txt
Robots.txt dosyanızın içeriğini görüyorsanız işaretlemeyi test etmeye hazırsınız demektir.
Google, robots.txt işaretlemesiyle ilgili sorunların düzeltilmesi için iki seçenek sunar:
- Search Console'daki robots.txt raporu. Bu raporu yalnızca sitenizde halihazırda erişilebilir olan robots.txt dosyaları için kullanabilirsiniz.
- Geliştiriciyseniz Google Arama'da da kullanılan Google'ın açık kaynak robots.txt kitaplığına göz atabilir ve ekleme yapabilirsiniz. Bu aracı, robots.txt dosyalarını bilgisayarınızda yerel olarak test etmek için kullanabilirsiniz.
Robots.txt dosyalarını Google'a gönderme
Robots.txt dosyanızı yükleyip test etmenizin ardından, Google'ın tarayıcıları robots.txt dosyanızı otomatik olarak bulup kullanmaya başlar. Herhangi bir işlem yapmanız gerekmez. Robots.txt dosyanızı güncellediyseniz ve Google'ın önbelleğe aldığı kopyayı en kısa sürede yenilemeniz gerekiyorsa, güncellenen robots.txt dosyalarını gönderme hakkında bilgi edinin.
Faydalı robots.txt kuralları
Yaygın olarak uygulanan bazı faydalı robots.txt kuralları aşağıda listelenmiştir:
Faydalı kurallar | |
---|---|
Sitenin tamamının taranmasına izin vermeme |
Bazı durumlarda sitedeki URL'lerin, taranmamış olsalar bile yine de dizine eklenebileceklerini unutmayın. User-agent: * Disallow: / |
Bir dizin ve içeriğinin taranmasına izin vermeme |
Tüm bir dizinin taranmasına izin vermemek için dizin adının sonuna bir öne eğik çizgi ekleyin. User-agent: * Disallow: /calendar/ Disallow: /junk/ Disallow: /books/fiction/contemporary/ |
Tek bir tarayıcının erişimine izin verme |
Yalnızca User-agent: Googlebot-news Allow: / User-agent: * Disallow: / |
Bir tarayıcı dışında tüm tarayıcıların erişimine izin verme |
User-agent: Unnecessarybot Disallow: / User-agent: * Allow: / |
Tek bir web sayfasının taranmasına izin vermeme |
Örneğin, User-agent: * Disallow: /useless_file.html Disallow: /junk/other_useless_file.html |
Alt dizin dışında, sitenin taranmasını tümüyle reddetme |
Tarayıcılar yalnızca User-agent: * Disallow: / Allow: /public/ |
Google Görseller'den belirli bir görseli engelleme |
Örneğin, User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
Google Görseller'den sitenizdeki tüm görselleri engelleme |
Google, görselleri ve videoları taramadan dizine ekleyemez. User-agent: Googlebot-Image Disallow: / |
Belirli bir türdeki dosyaların taranmasına izin vermeme |
Örneğin, tüm User-agent: Googlebot Disallow: /*.gif$ |
Sitenin tamamının |
Bu uygulama, sayfalarınızı arama sonuçlarından gizler. Ancak User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
Belirli bir dizeyle biten URL'leri eşleştirmek için * ve $ joker karakterleri kullanın
|
Örneğin, tüm User-agent: Googlebot Disallow: /*.xls$ |