2 puan yazan GN⁺ 2023-12-12 | 2 yorum | WhatsApp'ta paylaş
  • Pek çok site RSS beslemesi sunduğu hâlde RSS/Subscribe bağlantısını veya otomatik keşif metaverisini atladığı için kullanıcıların besleme adresini bulması zorlaşıyor
  • Sayfada RSS bağlantısını doğrudan görünür yapmak, feed reader otomatik keşfinden bağımsız olarak ziyaretçilere RSS'in varlığını bildirir ve açık web erişilebilirliğini artırabilir
  • RSS otomatik keşfi, HTML'deki <link> etiketlerinde type="application/rss+xml" arayan standart bir yöntemdir; NetNewsWire gibi feed reader'lar URL girildiğinde bundan yararlanabilir
  • Web sitesinin head bölümüne rel="alternate", type, title, href içeren bir <link> etiketi koyarak RSS beslemesini açıkça görünür kılmak mümkündür
  • RSS, Atom, JSON Feed, podcast feed gibi birden fazla besleme varsa birden fazla <link> etiketi konabilir; RSS düğmesini de RSS düğmesi gibi görünecek şekilde yapmak daha iyidir

RSS bağlantısını ve otomatik keşfi birlikte sunmak

  • Kullanıcıların RSS beslemesini ararken ilk kontrol ettiği şey sitedeki RSS/Subscribe bağlantısıdır, ancak pek çok sitede bu bağlantı yoktur
  • Sadece web sitesi URL'sini bir feed reader'a yapıştırıp uygulamanın beslemeyi bulmasını bekleyen kullanıcılar da vardır; ancak sayfada RSS bağlantısı görünürse ziyaretçi RSS desteği olup olmadığını hemen anlayabilir
  • RSS otomatik keşfi, web sitesindeki <link> etiketleri arasında type değeri application/rss+xml olan öğeyi bulma yöntemidir
return Array.from(document.getElementsByTagName('link')).find(l => l.type.includes('application/rss+xml'))?.href
  • Bu yöntem RSS auto-discovery adlı bir standarttır ve tarayıcıların ve diğer yazılımların sitenin RSS beslemesini otomatik olarak bulmasına yardımcı olur
  • NetNewsWire gibi feed reader'lar, URL yapıştırıldığında beslemeyi bulmak için bu metaveriyi kullanabilir

head içine konan besleme metaverisi

  • RSS beslemeniz varsa web sitenizin head bölümüne aşağıdaki gibi bir otomatik keşif etiketi koyabilirsiniz
<link rel="alternate" type="application/rss+xml" title="My Cool Website" href="https://example.com/feed.xml"; />
  • Atom beslemeleri type için application/atom+xml kullanır
<link rel="alternate" type="application/atom+xml" title="My Cool Website" href="https://example.com/atom.xml"; />
  • Birden fazla besleme varsa birden fazla <link> etiketi de koyabilirsiniz
    • Web sitesi RSS beslemesi
    • JSON Feed
    • podcast feed
<!-- Website RSS feed -->
<link rel="alternate" type="application/rss+xml" title="My Cool Website" href="https://example.com/feed.xml"; />

<!-- Website JSON feed -->
<link rel="alternate" type="application/json" title="My Cool Website but JSON" href="https://example.com/feed.json"; />

<!-- Podcast RSS feed -->
<link rel="alternate" type="application/rss+xml" title="My Cool Podcast" href="https://example.com/podcast.xml"; />
  • 9 Aralık 2023 güncellemesiyle, RSS düğmesi eklerken RSS düğmesi gibi görünmesini sağlama ve RSS turuncusunu kullanma önerisi de eklendi

2 yorum

 
ndrgrd 2023-12-14

Gizlenmiş pek çok site var, değil mi? Gerçekten abone olmak istediğimde /rss, /rss.xml, /index.xml, /feed, /feed.xml yollarını doğrudan deniyorum.

 
GN⁺ 2023-12-12
Hacker News görüşleri
  • İpucu: YouTube kanalları da RSS akışı yayımlıyor; bu yüzden kanal URL’sini haber okuyucunuza yapıştırmanız abone olmak için yeterli
    Beklenmedik yerlerde de RSS akışları olabilir; bu yüzden tarayıcıya “RSS ile abone ol” düğmesini geri getiren bir eklenti kullanmak iyi olur
    <https://addons.mozilla.org/en-US/firefox/addon/awesome-rss/>
    <https://chromewebstore.google.com/detail/rss-subscription-ex...>

  • Birçok RSS/Atom akışının görünür olmamasının iki temel nedeni var: Google Reader türü servisler ortadan kalktı ve tarayıcılar akış keşfi dahil temel RSS desteğini bıraktı
    Aslında tarayıcıda olması gereken özelliği geri getirirsek en azından akışları bulmak için kullanılabilir; sonrasında newsbeuter gibi araçlarla abone olunabilir

    • Bu kasıtlıydı. Çünkü RSS, reklamları baypas etmenin bir yolu
      Bugün en yaygın kullanılan tarayıcıyı kimin yaptığını düşünmek yeterli
    • Bazı kurumsal servisler ortadan kalktı diye HTML kaynağına "application/rss+xml" bağlantısı eklenemeyeceği anlamına gelmez
      Aksine, RSS okuyucular gibi “geri alınamaz” masaüstü uygulamaları pekâlâ olabilir; ortadan kalkabilecek bir servise bağımlı olmak tuhaf. RSS okuyucu hâlâ çok ve bir tane yapmak da oldukça basit
      Akışı bulmak için HTML kaynağına bakmak yeterli. Sorun, akış var olduğu hâlde sitenin hiçbir yerinde gösterilmemesi
    • Kendi web sitemdeki RSS düğmesinin görünmediğini fark ettiğim olmuştu; nedenini bilmiyordum, reklam engelleyiciyi kontrol edince anladım
      En az iki listede, AdGuard Widgets ve EasyList Social Widgets’ta, RSS ikonlarını engelleyen kurallar hâlâ var. Ancak varsayılan olarak açık değiller
    • Tarayıcının çekirdek özelliği olarak yerleşik RSS desteği koymak zaten pek makul değildi; eklenti bunun için çok daha uygun
      Google Reader’ın yerini alabilecek çok sayıda servis de var ve basit RSS’in ötesinde özellikler de sunuyorlar
      Etkileşim ve bağımlılık yaratmaya göre optimize edilmiş medyada RSS, platform dışına çıkış rampası olduğundan elbette kullanılmaz. Yazıda çoğunlukla ele alınan kişisel bloglar bile tıklama için okuru site içinde tutmak isteyebilir
      Bu, içerik sağlayıcı ile tüketici arasındaki çıkar çatışması; çoğunlukla reklam meselesi, uygulama meselesi değil
  • Bir blog akışına abone olduğumuz gerçeğinin site yöneticisine görünür olmasını da isterdim
    Güzel bir yazı okuyunca site sahibine övgü e-postası gönderdiğim de oluyor, HN’de kısa bir yorum bırakıp akışına abone olduğumu söylediğim de. Emek ve sevgiyle iyi içerik üreten kişilerin üretmeye devam etmesi için teşvik olmasını umuyorum
    Kendi yaptığım RSS okuyucuyla ilgileniyorsanız https://www.heyhomepage.com adresine bakabilirsiniz; tıklanan bağlantılara /?rss_ref=heyhomepage.com gibi bir parametre ekliyorum. Site sahibi trafiğimi alıyor ve ziyaretçi istatistiklerine bakıyorsa nereden geldiğimi de kolayca görebiliyor

  • RSS de biraz tutarsız. Kimi akışa içeriği koyuyor, kimi sadece bağlantı koyuyor
    Sadece bağlantı varsa içeriği programla çekmek için genelde siteye özel kod gerekir. Genel amaçlı scraper’lar da var, ama site başlığı gibi rastgele gürültülerin veriye karışmasına razı olmanız gerekir
    LLM’lerin ortaya çıkışıyla bunun nihayet bir pazarı oluşabileceğini düşünüyorum. İnsanlar makale benzeri verileri makine öğrenimi pipeline’ları için veri kaynağı olarak satabilir; bu da reklamlardan uzaklaşan bir yol olabilir
    Bu yüzden işe RSS’i daha iyi hâle getirmekle başlamamızı isterim. Karanlık denizde bir deniz feneri gibi

    • RSS’in scraper’lar için “iyileştirilmesi” gerektiğini düşünmüyorum
    • NewsBlur’da akış görünümü ile metin görünümü arasında seçim yapan bir anahtar var
      Metin görünümü, akışta yalnızca özet olsa bile çoğunlukla web sitesinden yazının tamamını getirebiliyor
    • RSS’in telif hakkı aklamayı daha iyi yapacağı anlamına mı geliyor?
    • Bu fikir etrafında, yalnızca bağlantılarla ilgilenen, biraz görüşü güçlü bir RSS okuyucu/izleyici yaptım
      Böylece tutarlı bir deneyim elde ediliyor, yazar da kendi web sitesine ziyaret alıyor
      Buradan deneyebilirsiniz: https://lenns.io. Geri bildirim almak beni sevindirir
    • “Kimi akışa içeriği koyuyor, kimi sadece bağlantı koyuyor” noktası yüzünden RSS kullanmayı bıraktım
      Sonunda bağlantıyı takip etmem gerekecekse, zaman kazanmak için okumak istediğim web sitesine doğrudan giderim
  • Bazı insanların RSS’i herkese açmak istememesinin eski nedenlerinden biri, aboneleri az çok takip etmek istemeleri; ancak son dönemde birçok büyük RSS okuyucusunun üst düzey analiz sayılarını paylaştığını öğrendim.
    Bununla da RSS okur sayısı tahmin edilebiliyor. Daha fazla okuyucunun bu özelliği desteklemesi iyi olur. Ürünümde herkese açık sunduğum tüm RSS akışlarına bakınca, bu sahte protokolü destekleyen istemciler NewsBlur, Feedly, Feedbin ve inoreader gibi görünüyor.
    Bunu Darek Kay’in yazısı sayesinde öğrendim: https://darekkay.com/blog/rss-subscriber-count/

    • Büyük RSS okuyucularının abone sayılarını paylaşması güzel bir ek özellik, ama biraz da merkezileşme yönünde iten bir etkisi var.
      Ben /?rss_ref=heyhomepage.com gibi URL parametreleri ekleyerek site sahibine akışına abone olduğumu bildirmeye çalışıyorum. Site sahibi, ziyaretçi istatistiklerinde bu RSS referrer’ını görebilir de görmeyebilir de.
      Yazının tamamını yalnızca okuyucunun içinde tüketmiyor, kısa bir özet gösterdikten sonra yazının bağlantısına tıklıyorum. Böylece onların kişisel sitelerinden keyif alabiliyorum, site sahibi de trafiğimi daha net görebiliyor.
    • Sunucu tarafında tarama yapan podcast istemcilerinde de bu yaygın bir yöntem; hatta fiilen çoğu böyle yapıyor.
    • En kolay çözüm sadece sunucu isteklerini kontrol etmek.
      Benim okuyucum terminal tabanlı olduğu için JavaScript analiz özelliklerini desteklemek, amacın kendisini bulanıklaştırıyor.
  • Otomatik keşif birçok sitede bozuk ya da eksik olduğundan, akış okuyucum Temboz, bir yerlerde RSS ya da Atom akışı saklıdır umuduyla şu son ekleri deniyor:
    'feed', 'feed/', 'rss', 'atom', 'feed.xml', '/feed', '/feed/', '/rss', '/atom', '/feed.xml', 'index.atom', 'index.rss', 'index.xml', 'atom.xml', 'rss.xml', '/index.atom', '/index.rss', '/index.xml', '/atom.xml', '/rss.xml', '.rss', '/.rss', '?rss=1', '?feed=rss2'

  • Daha önce https://hn-blogs.kronis.dev sitesini yapmıştım; HN’de insanların paylaştığı RSS/Atom akışlarına dayanıyordu ve hâlâ arka planda çalışıp her gün en yeni yazıları getiriyor.
    Sitede özgün HN gönderisine ve yazdığım blog yazısına bağlantılar var; blog yazısı burada: https://blog.kronis.dev/articles/ever-wanted-to-read-thousan...
    Oldukça ilginç bir çalışmaydı ve bu teknolojinin var olması hoşuma gidiyor; ancak herkesin entegrasyon biçimi epey farklı. Akış türleri yanlış raporlanabiliyor, istenen akış ya da öğe meta verilerinin tamamı alınamayabiliyor, ağ hataları çıkabiliyor veya metin içindeki kontrol dizileri yüzünden XML ayrıştırma bozulabiliyor.
    Veri kümesinin ölçeği büyüdükçe karşılaşılacak potansiyel sorunların arttığına ikna oldum. Bir hata meydana gelebiliyorsa, sonunda onunla başa çıkmak gerekiyor.

  • Bu yazı sanki beni hedef alıyormuş gibi geldi, ben de sayfamın footer’ına bir RSS ikonu ekledim.
    https://github.com/gavinanderegg/gavinanderegg.github.io/com...
    "application/rss+xml" bağlantısının yeterli olduğunu düşünüyordum; ama bugünlerde insanların her sitede böyle bir bağlantı olduğunu varsaymayacağını anlıyorum. Blog yazılarını çoğunlukla RSS üzerinden okuyan biri olarak, bunu daha açık hâle getirmek çok iyi.
    [1] https://mastodon.social/@gavinanderegg/111362850402497489

    • Benim sayfam da RSS akışını pek görünür kılmıyordu. HTML konusunda zayıf olduğum için senin sitede yaptığın yöntemi referans alıp kendi siteme uyarladım.
      Artık ikimiz de RSS’i açığa çıkarmış olduk.
  • miniflux kullanıyorum; akış bulurken yalnızca alan adını girmeyi denersem, dört seferin üçünde /rss, feed gibi bir yerlerde buluyor.
    Açıkça görünür olması iyi olurdu. Muhtemelen framework’e yerleşik olup bedavaya geldiği için özellikle görünür kılmıyorlar; ama bu safça bir düşünce de olabilir.

  • RSS’in bastırılmış olması her düşündüğümde beni öfkelendiriyor.

    • Kim bastırdı ki? Google kendi haber okuyucusunu öldürmüş olabilir, ama RSS Google’a bağımlı olmadığından hiç durmadı.
      Wordpress’in internetteki tüm sitelere otomatik olarak akış eklemesini çok seviyorum.
      Ben bunu bir filtre olarak görüyorum. Aptal tık tuzağı içerikler başka yerlere gidiyor; üreten kişinin doğrudan sorumluluk aldığı kaliteli içerikler ise akış okuyucuma güzelce düşüyor. Benim için kılık değiştirmiş bir nimet gibi.
      Elbette iyi bir akış koleksiyonu oluşturup sürdürmek ek çaba gerektiriyor. Ama hayattaki güzel şeylerin hepsi öyle değil mi? Bu emek bileşik getiri gibi birikiyor ve kısa sürede karşılığını veriyor.
      Yaşasın RSS, yaşasın açık web!