Crawling infrastructure

Google robots.txt spesifikasyonunu nasıl yorumlar

Google’ın otomatik
taramış crawlers
desteklerRobot Hariç Tutma Protokolü’nü (REP)

.
Bu, Google’ın tarayıcılarının bir siteyi taramadan önce sitenin hangi bölümlerinin taranabileceği hakkında bilgi çıkarmak için sitenin robots.txt dosyasını indirip ayrıştırdığı anlamına gelir. REP, kullanıcılara göre kontrol edilen Google tarayıcılarına (örneğin, akış abonelikleri) veya kullanıcı güvenliğini artırmak için kullanılan tarayıcılara (örneğin, kötü amaçlı yazılım analizi) uygulanmaz.
Bu sayfa Google’ın REP yorumunu açıklamaktadır. Orijinal standart için kontrol edin.

Google robots.txt spesifikasyonunu nasıl yorumlar

RFC 9309

robots.txt dosyası nedir

Tarayıcıların sitenizin bölümlerine erişmesini istemiyorsanız, uygun kurallarla bir robots.txt dosyası oluşturabilirsiniz. robots.txt dosyası, hangi tarayıcıların sitenin hangi bölümlerine erişebileceğine ilişkin kuralları içeren bir metin dosyasıdır. Örneğin, example.com için robots.txt dosyası şu şekilde görünebilir:
robots.txt konusunda yeniyseniz şununla başlayınrobots.txt’ye giriş
. Ayrıca bulabilirsiniz.

robots.txt dosyası oluşturma ipuçları

Dosya konumu ve geçerlilik aralığı robots.txt dosyasını bir sitenin en üst düzey dizinine, desteklenen bir protokol üzerinde yerleştirmelisiniz. robots.txt dosyasının URL'si (diğer URL'ler gibi) büyük/küçük harf duyarlıdır. Google Arama söz konusu olduğunda, desteklenen protokoller HTTP, HTTPS ve FTP'dir. HTTP ve HTTPS'de tarayıcılar robots.txt dosyasını koşulsuz olmayan bir HTTP GET isteğiyle getirir; FTP'de tarayıcılar anonim oturum açma kullanarak standart bir RETR (RETRIEVE)

Google robots.txt spesifikasyonunu nasıl yorumlar — 2

komutu kullanır.

robots.txt dosyasında listelenen kurallar yalnızca robots.txt dosyasının barındırıldığı ana bilgisayar, protokol ve bağlantı noktası numarası için geçerlidir.

Geçerli robots.txt URL örnekleri

Aşağıdaki tablo robots.txt URL örneklerini ve hangi URL yolları için geçerli olduklarını içerir. Birinci sütun bir robots.txt dosyasının URL’sini içerir ve ikinci sütun bu robots.txt dosyasının geçerli olacağı ve olmayacağı alan adlarını içerir.
Robots.txt URL örnekleri

https://example.com/robots.txt

Bu genel durumdur. Diğer alt alan adları, protokoller veya bağlantı noktası numaraları için geçerli değildir. Aynı ana bilgisayar, protokol ve bağlantı noktası numarasındaki tüm alt dizinlerdeki tüm dosyalar için geçerlidir.

  • Şunun için geçerlidir:
  • https://example.com/

https://example.com/folder/file

  • Şunun için geçerli değil:
  • https://other.example.com/
  • http://example.com/
https://example.com:8181/

https://www.example.com/robots.txt

Bir alt alan adındaki robots.txt yalnızca o alt alan adı için geçerlidir.
Şunun için geçerlidir:

https://www.example.com/

  • Şunun için geçerli değil::
    Let's keep it clean and match item count exactly.
  • https://shop.www.example.com/
  • https://www.shop.example.com/
https://example.com/folder/robots.txtGeçerli bir robots.txt dosyası değil. Tarayıcılar alt dizinlerde robots.txt dosyalarını kontrol etmez.
https://www.exämple.com/robots.txt

IDN’ler punycode sürümlerine eşdeğerdir. Ayrıca bkz.
RFC 3492.

Şunun için geçerlidir:

  • https://www.exämple.com/
  • https://xn--exmple-cua.com/

Şunun için geçerli değil:
https://www.example.com/

ftp://example.com/robots.txt

Şunun için geçerlidir:
ftp://example.com/

Şunun için geçerli değil:
https://example.com/

https://212.96.82.21/robots.txt

Ana bilgisayar adı olarak IP adresi içeren bir robots.txt, yalnızca o IP adresinin ana bilgisayar adı olarak taranması için geçerlidir. Bu, o IP adresinde barındırılan tüm web siteleri için otomatik olarak geçerli değildir (robots.txt dosyasının paylaşımlı olması mümkündür; bu durumda paylaşılan ana bilgisayar adı altında da erişilebilir olur).

Şunun için geçerlidir:
https://212.96.82.21/

Şunun için geçerli değil:
https://example.com/ (şurada barındırılsa bile 212.96.82.21)

https://example.com:443/robots.txt

Standart bağlantı noktası numaraları (80 HTTP için, 443 HTTPS için,
21 FTP için) varsayılan ana bilgisayar adlarına eşdeğerdir.

Şunun için geçerlidir:

  • https://example.com:443/
  • https://example.com/

Şunun için geçerli değil:
https://example.com:444/

https://example.com:8181/robots.txt

Standart olmayan bağlantı noktası numaralarındaki Robots.txt dosyaları, yalnızca bu bağlantı noktası numaraları üzerinden sunulan içerik için geçerlidir.

Şunun için geçerlidir:
https://example.com:8181/

Şunun için geçerli değil:
https://example.com/

Hataların ve HTTP durum kodlarının y¶netimi

Bir robots.txt dosyası istendiğinde, sunucunun yanıtının HTTP durum kodu, robots.txt dosyasının Google’da tarayıcıları tarafından nasıl kullanılacağını etkiler. Aşağıdaki tablo, Googlebot’un farklı HTTP durum kodları için robots.txt dosyalarına nasıl yaklaştığını özetlemektedir.

Hataların ve HTTP durum kodlarının y¶netimi
2xx (başarılı)Başarıya işaret eden HTTP durum kodları, Google’da tarayıcılarını robots.txt dosyasını sunucu tarafindan sağlandığı gibi işlemeye sevk eder.
3xx (yönlendirme)

Google tarafından tanımlandığı gibi en az beş yönlendirme adımını izler
RFC 1945 ve ardından
durur ve robots.txt dosyası için 404 olarak değerlendirir. Bu durum, tarayıcı yönlendirmeler nedeniyle kuralları alamadığı için yönlendirme zincirindeki izin verilmeyen tüm URL’ler için de geçerlidir.

Google, robots.txt dosyalarındaki mantıksal yönlendirmeleri izlemez (çerçeveler, JavaScript veya
meta yenileme türünde yönlendirmeler).

4xx (istemci hataları)

Google’da tarayıcıları tümünü 4xx hataları, 429hariç, geçerli bir robots.txt dosyası yokmuş gibi ele alır. Bu, Google’ın tarama kısıtlamalarının olmadığını varsaydığı anlamına gelir.

5xx (sunucu hataları)

Google bir robots.txt dosyası bulur ancak bunu alamazsa, Google şu davranışı izler:

  1. İlk 12 saat boyunca Google sitenin taranmasını durdurur ancak robots.txt dosyasını almayı denemeye devam eder.
  2. Google yeni bir sürüm alamazsa, sonraki 30 gün boyunca Google yeni bir sürüm almaya çalışmaya devam ederken son iyi sürümü kullanacaktır. A 503 (hizmet kullanılabilir değil)
    hatası oldukça sık yeniden denemelerle sonuçlanır. Önbelleğe alınmış bir sürüm mevcut değilse,
    Google tarama kısıtlamalarının olmadığını varsayar.
  3. Hatalar 30 gün sonra hâlâ düzeltilmediyse:
    • Site genel olarak Google için erişilebilir durumdaysa, Google hiçbir robots.txt dosyası yokmuş gibi davranacaktır (ancak yeni bir sürümü kontrol etmeye devam edecektir).
    • Sitede genel erişilebilirlik sorunları varsa, Google robots.txt dosyasını periyodik olarak istemeye devam ederken sitenin taranmasını durduracaktır.
Diğer hatalarZaman aşımları, geçersiz yanıtlar, sıfırlanmış veya kesintiye uğramış bağlantılar ve HTTP parçalama hataları gibi DNS veya ağ sorunları nedeniyle alınamayan bir robots.txt dosyası sunucu hatası.

Önbellekleme

Google genellikle robots.txt dosyasının içeriğini 24 saate kadar önbelleğe alır, ancak önbelleğe alınmış sürümün yenilenmesinin mümkün olmadığı durumlarda (örneğin zaman aşımları veya 5xx hataları nedeniyle) daha uzun süre önbelleğe alabilir. Önbelleğe alınmış yanıt farklı tarayıcılar tarafından paylaşılabilir.
Google, max-age Cache-Control değerine bağlı olarak önbellek ömrünü artırabilir veya azaltabilir.
max-age Cache-Control
HTTP başlıkları.

Dosya biçimi

robots.txt dosyası
UTF-8 kodlanmış düz metin dosyası olmalıdır ve satırlar şu karakterlerle ayrılmalıdır: CR, CR/LFveya
LF.

Google, robots.txt dosyasının başındaki
Bayt Sıralaması İşareti
(BOM) dahil olmak üzere robots.txt dosyalarındaki geçersiz satırları yoksayar ve yalnızca geçerli satırları kullanır. Örneğin, indirilen içerik robots.txt kuralları yerine HTML ise Google içeriği ayrıştırıp kuralları çıkarmaya çalışacak ve diğer her şeyi yoksayacaktır.

Benzer şekilde, robots.txt dosyasının karakter kodlaması UTF-8 değilse Google, UTF-8 aralığında olmayan karakterleri yoksayabilir ve bu da potansiyel olarak robots.txt kurallarını geçersiz kılabilir.

Google, 500
kibibaytlık (KiB) bir robots.txt dosya boyutu sınırı uygular. Maksimum dosya boyutundan sonra gelen içerik yoksayılır. Çok büyük bir robots.txt dosyasıyla sonuçlanacak kuralları birleştirerek robots.txt dosyasının boyutunu küçültebilirsiniz. Örneğin, hariç tutulan materyali ayrı bir dizine yerleştirin.

Sözdizimi

Geçerli bir robots.txt satırı bir alan, iki nokta üst üste ve bir değerden oluşur. Alan adları büyük/küçük harf duyarlı değildir (örneğin, User-agent ve user-agent aynı şekilde değerlendirilir). Boşluklar isteğe bağlıdır ancak okunabilirliği artırmak için önerilir. Satırın başındaki ve sonundaki boşluklar yoksayılır. Yorum eklemek için yorumunuzun başına
# karakterini ekleyin. Karakterinden sonra gelen her şeyin # yoksayılacağını unutmayın. Genel biçim şöyledir:
<field>:<value><#optional-comment>.

Google şu alanları destekler (gibi diğer alanlar crawl-delay desteklenmez):

  • user-agent: kuralların hangi tarayıcı için geçerli olduğunu belirtir.
  • allow: taranabilecek bir URL yolu.
  • disallow: taranamayacak bir URL yolu.
  • sitemap: bir site haritasının tam URL’si.

The allow ve disallow alanlar aynı zamanda kural (yönerge olarak da
bilinir) olarak adlandırılır. Bu kurallar her zaman şu biçimde belirtilir:
kural: [path] burada [path] isteğe bağlıdır. Varsayılan olarak, belirlenen tarayıcılar için tarama kısıtlaması yoktur. Tarayıcılar şu öğe olmayan kuralları yoksayar:
[path].

[path] değeri, belirtilmişse, robots.txt dosyasının alındığı web sitesinin kök dizinine göredir (aynı protokol, bağlantı noktası numarası, ana bilgisayar ve alan adı kullanılarak). Yol değeri şununla başlamalıdır: kök dizini belirtmek için ve değer büyük/küçük harfe duyarlıdır. Şunun hakkında daha fazla bilgi edinin: / Yol değerlerine dayalı URL eşleştirme
user-agent.

user-agent

satırı, kuralın hangi tarayıcılar için geçerli olduğunu tanımlar. Şuraya bakın: Google tarayıcıları ve user-agent dizeleri robots.txt dosyanızda kullanabileceğiniz kapsamlı bir user-agent dizeleri listesi için.
Hem
user-agent

alan adı hem de değeri büyük/küçük harfe duyarlı değildir. disallow disallow

kuralı, şu

user-agent satırı tarafından tanımlanan tarayıcıların erişmemesi gereken yolları belirtir disallow kuralı gruplandırılmıştır.
Tarayıcılar, yolu olmayan kuralı yoksayar.
Google, taranması engellenen sayfaların içeriğini dizine ekleyemez ancak yine de URL’yi dizine ekleyebilir ve snippet olmadan arama sonuçlarında gösterebilir. Şİnun nasıl yapılacağını öğrenin: dizine eklemeyi engelle Alan adı (

disallow
) büyük/küçük harfe duyarlı değildir ancak değeri büyük/küçük harfe duyarlıdır..

Kullanım:allowallow

kuralı, belirlenen tarayıcıların erişebileceği yolları belirtir. Hiçbir yol belirtilmediğinde kural yoksayılır.

Alan adı (

allow allow allow

allowallow) büyük-küçük harfe duyarlı değildir, ancak değeri büyük-küçük harfe duyarlıdır.

Kullanım:

sitemap

Google, Bing ve diğer büyük arama motorları, sitemaps.org tarafından tanımlandığı şekilde robots.txt dosyasındaki sitemap.

alanını destekler. Alan adı (sitemap) büyük-küçük harfe duyarlı değildir, ancak değeri büyük-küçük harfe duyarlıdır.

Kullanım:

[absoluteURL] satırı bir sitemap veya sitemap dizin dosyasının konumunu gösterir. Protokol ve ana makine (host) dahil olmak üzere tam nitelikli bir URL olmalıdır ve URL kodlamasına gerek yoktur. URL'nin robots.txt dosyasıyla aynı ana makinede olması gerekmez. İçerebileceğiniz sitemap sayısında hiçbir sınırlama olmaksızın birden fazla sitemap alanı belirtebilirsiniz. Sitemap alanı belirli bir kullanıcı aracısına (user agent) bağlı değildir ve taramaya karşı yasaklanmamış olması koşuluyla tüm tarayıcılar tarafından takip edilebilir. Örneğin:

Satırların ve kuralların gruplandırılması

Her tarayıcı için

user-agent
satırlarını tekrarlayarak birden fazla kullanıcı aracısına uygulanan kuralları gruplandırabilirsiniz. Örneğin:

Bu örnekte dört farklı kural grubu vardır:

“a” kullanıcı aracısı için bir grup.

  • “b” kullanıcı aracısı için bir grup.
  • Hem “e” hem de “f” kullanıcı aracısı için bir grup.
  • “h” kullanıcı aracısı için bir grup.
  • Bir grubun teknik açıklaması için bkz.

REP bölüm 2.1
Kullanıcı aracıları için öncelik sırası.

Belirli bir tarayıcı için yalnızca bir grup geçerlidir. Google’ın tarayıcıları, tarayıcının kullanıcı aracısıyla eşleşen en spesifik kullanıcı aracısına sahip grubu robots.txt dosyasında bularak doğru kural grubunu belirler. Diğer gruplar yoksayılır. Eşleşmeyen tüm metinler yoksayılır (örneğin, hem

googlebot/1.2 hem de googlebot* şuna eşdeğerdir: googlebot ). Robots.txt dosyasındaki grupların sırası önemsizdir.Bir kullanıcı aracısı için birden fazla spesifik grup bildirilmişse, belirli kullanıcı aracısına uygulanan gruplardaki tüm kurallar dahili olarak tek bir grup halinde birleştirilir. Kullanıcı aracısına özel gruplar ve genel gruplar (

) birleştirilmez.*Örnekler]}@json terminate block. Ensure correct syntax. Do not append any comments. No markdown fence. Just pure JSON. Wait, the prompt says:

)

User-agent alanlarının eşleşmesi

Tarayıcılar ilgili grubu şu şekilde seçer:

Tarayıcı başına takip edilen grup
Googlebot Newsgooglebot-news 1. grubu takip eder, çünkü 1. grup en spesifik gruptur.
Googlebot (web)googlebot 3. grubu takip eder.
Googlebot StorebotStorebot-Google spesifik bir grup olmadığı için
Storebot-Google 2. grubu takip eder.
Googlebot News (görseller taranırken)Görselleri tararken, googlebot-news 1. grubu takip eder.
googlebot-news görselleri Google Görseller için taramaz, bu nedenle yalnızca
1. grubu takip eder.
Otherbot (web)Diğer Google tarayıcıları 2. grubu takip eder.
Otherbot (haberler)Haber içeriğini tarayan ancak kendisini
googlebot-news olarak tanımlamayan diğer Google tarayıcıları 2. grubu takip eder. İlgili bir tarayıcı için bir girdi olsa bile, yalnızca özellikle eşleşiyorsa geçerlidir.

Kuralların gruplandırılması

Bir robots.txt dosyasında belirli bir user-agent ile ilgili birden fazla grup varsa,
Google’ın tarayıcıları grupları dahili olarak birleştirir. Örneğin:

Tarayıcılar kuralları user-agent’a göre dahili olarak gruplandırır, örneğin:

allow disallow, dışındaki kurallarve user-agent robots.txt ayrıştırıcısı tarafından yoksayılır. Bu, aşağıdaki robots.txt kod parçasının
tek bir grup olarak ele alındığı ve dolayısıyla hem user-agent a hem de b şundan etkilenir: disallow: / rule:

Tarayıcılar robots.txt kurallarını işlerken şunu yoksayar: sitemap satırı.
Örneğin, tarayıcılar önceki robots.txt kod parçasını şu şekilde anlardı:

Yol değerlerine dayalı URL eşleştirme

Google, bir kuralın sitedeki belirli bir URL için geçerli olup olmadığını belirlemek amacıyla allow ve disallow kurallarındaki yol değerini temel olarak kullanır. Bu, kuralın tarayıcının getirmeye çalıştığı URL’nin yol bileşeniyle karşılaştırılmasıyla çalışır.
Kurallardaki yol, ham UTF-8 karakterleri veya yüzde kodlanmış UTF-8 dizeleri olabilir
( RFC 3986uyarınca).
Şurada tanımlandığı gibi: RFC 9309 Section 2.2.2,
Google tarayıcıları, kuralları URL’lerle yüzde kodlanmış biçimlerini kullanarak karşılaştırır ve ham UTF-8 kural yollarını otomatik olarak yüzde kodlanmış biçimlere dönüştürür. Bu, örneğin
Disallow: /foo/bar/ツ ve Disallow: /foo/bar/%E3%83%84 ifadelerinin ayrıştırıcı tarafından tamamen aynı şekilde ele alındığı anlamına gelir.

Google, Bing ve diğer büyük arama motorları yol değerleri için wildcards ifadelerinin sınırlı bir biçimini destekler. Bu joker karakterler şunlardır:

  • * geçerli herhangi bir karakterin 0 veya daha fazla örneğini belirtir.
  • $ URL’nin sonunu belirtir.

Aşağıdaki tablo, farklı joker karakterlerin ayrıştırmayı nasıl etkilediğini göstermektedir:

Örnek yol eşleşmeleri
/Kök dizinle ve alt düzeydeki herhangi bir URL ile eşleşir.
/*Şuna eşdeğerdir: /. Sondaki joker karakter yoksayılır.
/$Yalnızca kök dizinle eşleşir. Alt düzeydeki herhangi bir URL’nin taranmasına izin verilir.
/fish

Şu ifadeyle başlayan herhangi bir yolla eşleşir: /fish. Eşleştirmenin büyük/küçük harf duyarlı olduğunu unutmayın.

Eşleşenler:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

Eşleşmeyenler:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish*

Şuna eşittir: /fish. Sondaki joker karakter yok sayılır.

Eşleşenler:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

Eşleşmeyenler:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish/

Şu klasör içindeki her şeyle eşleşir: /fish/ klasörü.

Eşleşenler:

  • /fish/
  • /fish/?id=anything
  • /fish/salmon.htm

Eşleşmeyenler:

  • /fish
  • /fish.html
  • /animals/fish/
  • /Fish/Salmon.asp
/*.php

Şunu içeren herhangi bir yol ile eşleşir: .php.

Eşleşenler:

  • /index.php
  • /filename.php
  • /folder/filename.php
  • /folder/filename.php?parameters
  • /folder/any.php.file.html
  • /filename.php/

Eşleşmez:

  • / (/index.php ile eşleşse bile)
  • /windows.PHP
/*.php$

Şununla biten herhangi bir yolla eşleşir .php.

Eşleşir:

  • /filename.php
  • /folder/filename.php

Eşleşmez:

  • /filename.php?parameters
  • /filename.php/
  • /filename.php5
  • /windows.PHP
/fish*.php

Şunu içeren herhangi bir yolla eşleşir /fish ve .php, bu sırada.

Eşleşir:

  • /fish.php
  • /fishheads/catfish.php?parameters

Eşleşmez:

/Fish.PHP

Kurallar için öncelik sırası

robots.txt kuralları URL’lerle eşleştirilirken tarayıcılar kural yolunun uzunluğuna dayalı en spesifik kuralı kullanır. Joker karakterliler dahil çakışan kurallar durumunda Google en az kısıtlayıcı kuralı kullanır.

Aşağıdaki örnekler, Google tarayıcılarının belirli bir URL’ye hangi kuralı uygulayacağını göstermektedir.

Örnek durumlar
https://example.com/page

Uygulanabilir kural: allow: /p, çünkü daha spesifiktir.

https://example.com/folder/page

Uygulanabilir kural: allow: /folder, çünkü çelişen kurallar durumunda Google en az kısıtlayıcı kuralı kullanır.

https://example.com/page.htm

Uygulanabilir kural: disallow: /*.htm, çünkü kural yolu daha uzun ve URL’de daha fazla karakterle eşleşiyor, bu yüzden daha spesifik.

https://example.com/page.php5

Uygulanabilir kural: allow: /page, çünkü çelişen kurallar durumunda Google en az kısıtlayıcı kuralı kullanır.

https://example.com/

Uygulanabilir kural: allow: /$, çünkü daha spesifik.

https://example.com/page.htm

Uygulanabilir kural: disallow: /, çünkü
allow kuralı yalnızca kök URL’de geçerlidir.

Alien Road

Biz bunu nasıl uyguluyoruz

The formal specification resolves the arguments that the introductory guide leaves open, particularly around precedence and wildcards. We cite it directly when a developer and an SEO disagree about whether a rule applies.

İlgili hizmetler

Paylaş