Engellendi mi, engellenmedi mi? Joker karakterler, yazım hataları ve diğer robots.txt belirsizlikleri | Kreatifart


robots.txt Test Aracı

Bugün kullandığımız arama motorlarının çoğundan daha eski olan robots.txt dosyası, web’in bir dinozorudur. Protokolü ve dosyanın nasıl kullanılacağını tartışan birçok makale olmasına rağmen, bu yazıda bazı belirsizlikleri, köşe vakalarını ve diğer belgelenmemiş senaryoları ele alacağız.

Neden umursamalısın?

Robots.txt, dikkatli kullanılmadığı takdirde kolayca beklenmedik sonuçlara neden olabilecek SEO için kullanışlı ancak karmaşık bir araçtır. İzin Ver ve İzin Verme yönergelerini kullanırken herhangi bir yazım hatasından ve belirsiz veya çelişkili kurallardan kaçınmak mantıklı olsa da, bu durumlarda arama motorlarının nasıl davrandığını da bilmeliyiz.

robots.txt: ağın kirpi balığı

robots.txt balon balığı gibidir: lezzetli ama zehirlidir. SEO şefi onu nasıl pişireceğini bildiği sürece yemek güvenlidir. Dosya biçimini, sözdizimini ve gruplama kurallarını bilirler. Kullanıcı aracıları için öncelik sırasını ve yol değerlerine dayalı URL eşleştirmesinin nasıl çalıştığını anlarlar.

Robotlar Dışlama Protokolü (REP) 25 yılını kutluyor ve özellikleri nihayet bazı yeni kurallarla resmileştiriliyor. Yine de, SEO ve web yöneticisi topluluklarında yanlış kullanım ve kafa karışıklığı gözlemleyebiliriz, bu da ne yazık ki bazı web sitelerini aramada optimalin altında performansa neden olur.

Öyleyse, bazı kafa karıştırıcı kuralları açıklığa kavuşturalım ve genişletelim.

  • Sondaki joker karakter yok sayılır
  • Joker karakterli kurallar için öncelik sırası tanımsız
  • Kökü belirtmek için yol değeri ‘/’ ile başlamalıdır
  • Google, aşağıdakilerin işlenmesini desteklemiyor: <field> basit hatalar veya yazım hataları olan öğeler

Başlamadan önce kısa bir not: Bu gönderideki bazı ekran görüntüleri, orijinal robots.txt belgelerine dayalı olarak oluşturulan ve aşağıdaki araçlar ve kitaplıklar gibi davranan (araştırmamızda da kullanılan) robots.txt doğrulayıcı ve test aracımızı gösterir:

Bu araçlara ek olarak Baidu’nun robots.txt Test Aracı’nı da kullandık ve sunucu günlük dosyalarıyla canlı URL’ler (taranan veya taranmayan) üzerindeki testlerimizin sonuçlarını doğruladık.


1) Sondaki joker karakter yok sayılır

Google’ın robots.txt spesifikasyonlarına göre, takip eden joker karakter yok sayılır.

Kaynak: https://developers.google.com/search/reference/robots_txt

Ama öyle mi, gerçekten mi? Evet ve hayır. Bu anlamda, $ ile bitmeyen her yolun sonunda bir “örtük” * joker karakteri olduğu (bu, URL’nin sonunu açıkça belirten diğer joker karakterdir) “yoksayılır”.
Bu nedenle, /fish = /fish* URL’yi yolla eşleştirmeye gelince.

Ancak, yol uzunluğu toplanırken sondaki joker karakter göz ardı edilmez. İzin Verme ve İzin Ver kuralları aynı anda kullanıldığında ve farklı olsalar da her ikisi de belirli bir URL (veya URL kümesi) ile eşleştiğinde bu önemli hale gelir.

Yolun uzunluğu, birden çok satır (kural) URL ile eşleştiğinde öncelik sırasını belirlediğinden son derece önemlidir.

Yukarıdaki örnekte, Disallow ifadesi (aynı zamanda eşleşen) Allow yönergesinden daha uzun olduğu için URL’nin taranması engellenecektir.

Spesifikasyonda Google, “çakışan kurallar olması durumunda […] en az kısıtlayıcı kural kullanılır.” Başka bir deyişle, her iki eşleşen yol da aynı uzunluğa sahipse İzin Ver kuralı kullanılacaktır.

Google’ın belgelerinde bir örnekte görüldüğü gibi…

Kaynak: https://developers.google.com/search/reference/robots_txt

… ve REP taslağında açıkça belirtilmiştir.

Şimdi, sondaki jokerimize geri dönelim. Önceki örneklerimizdeki “kaybetme” ifadesinin yanına bir de eklenecek olsaydı, hükümler farklı olurdu.

Sondaki joker karakterle, İzin Ver yönergesinin yolu artık olduğu sürece İzin Verme kuralının yolu ve bu nedenle önceliklidir.

Sondaki joker karakterle, Disallow yönergesinin yolu artık uzun ve böylece kullanılıyor, çünkü uzunluğa dayalı en “belirli” eşleşme belirlenirken takip eden joker karakter “yok sayılmamıştır”.

Search Console’un robots.txt Test Aracı
Search Console’un URL İnceleme Aracı
Google’ın Mobil Uyumluluk Testi

2) Joker karakterli kuralların öncelik sırası tanımsız

Google’ın dokümantasyonu, “joker karakterli kuralların öncelik sırası tanımsız” olduğunu belirtmek için kullanılır.

Kaynak: https://developers.google.com/search/reference/robots_txt (bu ekran görüntüsü alındığından beri güncellendi)

Bu ifade, belgelerin yakın tarihli bir güncellemesinde (Temmuz 2019) kaldırılmış olsa da, aşağıdakilerden biri örnek durumlar karar olarak hala “tanımsız” görünüyor.

Kaynak: https://developers.google.com/search/reference/robots_txt

Googlebot için “tanımsız” ne anlama geliyor? Bildiğimiz kadarıyla, bir URL taranabilir veya taranamaz. Bu durumda /page.html’ye izin veriliyor mu yoksa izin verilmiyor mu?

Görünüşe göre ve Google’ın kendi ayrıştırıcı kitaplığı da dahil olmak üzere elimizdeki araçlara göre, hiçbir şey “tanımsız” değildir. En spesifik kural kullanılır.

Ve çelişkili kurallar olması durumunda, “en az kısıtlayıcı” kural (ei Allow) kullanılır.


3) Kökü belirtmek için yol değeri ‘/’ ile başlamalıdır

Dokümantasyon ayrıca “kök atamak için yol değerinin ‘/’ ile başlaması gerektiğini” belirtirken, ‘*’ joker karakteri ile başlayan yollar da dikkate alınır.

Kökü belirtmek için yol değeri “/” ile başlamalıdır… veya bir * joker karakter ile

Ancak bu tür yollar, eksik karakter nedeniyle biraz güç kaybeder.

Başlangıç ​​“/”, yol uzunluğunu değerlendirirken de sayılır

4) Google, aşağıdakilerin işlenmesini desteklemiyor: <field> basit hatalar veya yazım hataları olan öğeler

Belgelerdeki bu yeni ifade, Github’da paylaşılan üretim koduyla doğrudan çelişiyor.

Kaynak: https://developers.google.com/search/reference/robots_tx

Bu koda göre Google, “user” ve “agent” arasında eksik tire, “disallow”da gereksiz “s” veya hatta yönerge ile yol arasında eksik iki nokta üst üste işareti gibi basit hataları ve yazım hatalarını kabul etmeye devam eder (örn. disallow page.html)


Google ve diğerleri tarafından robots.txt protokolünü bir İnternet standardı yapmak, dokümantasyonu güncellemek ve üretim kodlarını açık kaynak yapmak için harcadıkları zaman ve çaba gerçekten takdire şayandır.
Bununla birlikte, bazı karışıklıklar ve tutarsızlıklar hala mevcuttur ve test, bir şeyden emin olmanın tek doğru yolu olmaya devam etmektedir.

Ek olarak, pek bir şey değişmedi. Hiçbir şey “tanımsız” değildir, yolun uzunluğu yönergenin ne kadar güçlü olduğunu belirler ve joker karakterler

Miktar. Bunları kendi yararınıza kullanabilirsiniz (daha güçlü hale getirmek için yolun sonuna yalnızca açık bir * ekleyin). * ile başlayan yollara sahip yönergeler de çalışır ve (bazı) yazım hataları hala destekleniyor gibi görünmektedir (yalnızca Google tarafından, Bing veya Baidu tarafından değil).

Tek büyük değişiklik oldukça ironik: Hiçbir zaman resmi olarak desteklenmeyen noindex kuralı artık resmi olarak desteklenmiyor. Şu anda buna güveniyorsanız, 1 Eylül 2019’dan önce dizine eklemeyi önlemek için başka bir yol uyguladığınızdan emin olun.
Bu makale için yaptığı yardım ve araştırma için Merkle’den Connie Xin’e özel teşekkürler. Herhangi bir sorunuz varsa bana Twitter’da bildirin:@hermesma

.

Yorum bırakın

Scroll to Top