SereneReader botu

Akış toplayıcımızın ne yaptığı, kendini nasıl tanıttığı ve nasıl engellenebileceği.

SereneReader nedir

SereneReader bir akış okuyucusudur. Birisi RSS veya Atom akışınıza abone olduğunda, sunucularımız akışı onun adına çeker ve yeni makaleleri gösterir.

Önizleme görseli sunmak için her makale sayfasını bir kez ziyaret edip og:image etiketini okuruz; ayrıca kenar çubuğu için sitenizin favicon'ını çekeriz.

User-Agent

Sunucularımızdan gelen her istek şu dizgeyle kendini tanıtır:

SereneReader/1.0 (+https://serenereader.com/bot)

Ne çekeriz

  • Kişilerin abone olduğu akış URL'leri.
  • Her makale sayfası, yalnızca bir kez; og:image etiketini bulmak için en fazla 1 MB HTML okunur.
  • Sitenizin favicon'ı.

Hiçbir zaman site taramaz, makale sayfalarındaki bağlantıları takip etmez ve kimsenin abone olmadığı içerikleri çekmeyiz.

Ne sıklıkta

Akışlar belirli bir programa göre yenilenir. Sunucunuz bir ETag veya Last-Modified başlığı gönderdiğinde, bir sonraki yenileme If-None-Match veya If-Modified-Since ile yapılır; böylece değişmemiş bir akış için yalnızca 304 yanıtı alınır, içerik aktarılmaz.

Her makale sayfası, önizleme görseli için yalnızca bir kez getirilir. Sayfa getirilemezse işlem durdurulur: 404 gibi kalıcı bir hata 30 gün boyunca kaydedilir; zaman aşımı veya sunucu hatası gibi geçici bir hata ise geri çekilme aralıklarıyla en fazla üç kez daha denenir, ardından en az bir saat beklemeye alınır.

429 veya 503 yanıtı aldığımızda geri çekiliriz. Beslemeler için bir sonraki yenilemeyi kademeli olarak artıran bir bekleme süresiyle öteleriz; 429 durumunda en az Retry-After değeriniz kadar bekleriz. Makale sayfaları için yaklaşık on dakika içinde üç kez daha deneyebiliriz; ardından en az bir saat, ya da Retry-After değerinizin belirttiği süre kadar — en fazla yedi gün — bekleriz.

robots.txt

Bir makale sayfasını veya favicon'u getirmeden önce robots.txt dosyanızı okur, User-agent: SereneReader için Disallow kurallarını ve crawl-delay değerini uygularız; bulamazsak * grubuna döneriz.

Feed URL'leri farklıdır. Bir feed, ona abone olan okuyucu adına getirilir; bu nedenle Google'ın Feedfetcher'ının yaptığı gibi işlem yaparız: * grubunun Disallow kuralları buna uygulanmaz. Feed yolunu engelleyen bir User-agent: SereneReader grubu yine de dikkate alınır ve crawl-delay, feed'lere diğer her şeyde olduğu gibi uygulanır.

robots.txt dosyanıza sunucu hatası nedeniyle ulaşamazsak, getirmeye izin verildiği şeklinde değerlendiririz. Abonelik, okuyucudan alınan açık bir onayıdır; kararsız bir robots dosyası onların feed'ini durdurmamalıdır.

Bizi nasıl engellersiniz

Yukarıdaki User-Agent'ı sunucunuzda veya güvenlik duvarınızda engelleyin ya da hız sınırı uygulayın; ya da robots.txt'de bizi adıyla belirten bir grupla reddedebilirsiniz. Her bot için geçerli bir kural feed getirmelerini durdurmaz; şu kural durdurur:

User-agent: SereneReader
Disallow: /

Besleme URL'nizi engellemek, yalnızca bir okuyucu için değil, o beslemeye abone olan herkes için yenilemeyi durdurur.

İstek imzaları

İstekler, gerçekten bizden geldiğini doğrulayabilmeniz için Web Bot Auth (HTTP mesaj imzaları, RFC 9421) ile imzalanır. Genel anahtarlarımız şu adreste yayımlanmaktadır:

https://serenereader.com/.well-known/http-message-signatures-directory

Giden IP adresleri

Zamanlanmış besleme yenilemeleri ve önizleme görseli çekimleri bu statik adreslerden gelir. Birisi ilk kez bir besleme eklediğinde yapılan tek seferlik istek ise web sunucularımızdan gelir ve bu listede yer almaz; dolayısıyla yalnızca IP'ye dayalı bir izin listesi bu isteği reddeder.

162.220.234.241
152.55.180.242
152.55.180.243

Makine tarafından okunabilir liste/bot/ips.json

İletişim

Trafiğimizle ilgili sorularınız mı var ya da düzeltmemizi istediğiniz bir şey mi? Bize ulaşın.