2 ポイント 投稿者 GN⁺ 2023-12-12 | 2件のコメント | WhatsAppで共有
  • 多くのサイトはRSSフィードを提供していても、RSS/Subscribeリンクや自動検出メタデータを欠いており、ユーザーがフィードURLを見つけにくい
  • ページ上にRSSリンクを直接表示すれば、フィードリーダーの自動検出とは別に、訪問者へRSSの存在を知らせてオープンウェブのアクセシビリティを高められる
  • RSS自動検出は、HTMLの<link>タグでtype="application/rss+xml"を探す標準的な方法であり、NetNewsWireのようなフィードリーダーがURL入力時に利用できる
  • ウェブサイトのheadrel="alternate"typetitlehrefを備えた<link>タグを入れれば、RSSフィードを明示的に公開できる
  • RSS、Atom、JSON Feed、podcast feedのようにフィードが複数ある場合は、複数の<link>タグを置け、RSSボタンはRSSボタンらしく見せるのがよい

RSSリンクと自動検出をあわせて提供する

  • ユーザーがRSSフィードを探すとき、最初に確認するのはサイト内のRSS/Subscribeリンクだが、多くのサイトにはこのリンクがない
  • フィードリーダーにウェブサイトURLだけを貼り付けてアプリにフィードを探させるユーザーもいるが、ページにRSSリンクが見えていれば、訪問者はRSS対応の有無をすぐに把握できる
  • RSS自動検出は、ウェブサイトの<link>タグのうちtypeapplication/rss+xmlの項目を探す方式である
return Array.from(document.getElementsByTagName('link')).find(l => l.type.includes('application/rss+xml'))?.href
  • この方式は RSS auto-discovery という標準で、ブラウザや他のソフトウェアがサイトのRSSフィードを自動的に見つけるのを助ける
  • NetNewsWire のようなフィードリーダーは、URLを貼り付けたときにこうしたメタデータを使ってフィードを見つけられる

headに入れるフィードのメタデータ

  • RSSフィードがあるなら、ウェブサイトのheadに次のような自動検出タグを入れられる
<link rel="alternate" type="application/rss+xml" title="My Cool Website" href="https://example.com/feed.xml"; />
  • Atomフィードではtypeapplication/atom+xmlを使う
<link rel="alternate" type="application/atom+xml" title="My Cool Website" href="https://example.com/atom.xml"; />
  • フィードが複数あるなら<link>タグも複数置ける
    • ウェブサイトのRSSフィード
    • 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"; />
  • 2023年12月9日の更新では、RSSボタンを追加する際はRSSボタンらしく見せること、そしてRSSのオレンジ色を使うことを勧める提案が加えられた

2件のコメント

 
ndrgrd 2023-12-14

かなり奥に隠れているサイトって多いですよね。本当に購読したいときは、/rss/rss.xml/index.xml/feed/feed.xml を直接入力してみたりします。

 
GN⁺ 2023-12-12
Hacker News の意見
  • ヒント: YouTube チャンネルも RSS フィードを公開しているので、チャンネル URL をニュースリーダーに貼り付けるだけで購読できる
    思いがけない場所にも RSS フィードがあることがあるので、ブラウザに「RSS で購読」ボタンを復活させる拡張機能を使うとよい
    <https://addons.mozilla.org/en-US/firefox/addon/awesome-rss/>
    <https://chromewebstore.google.com/detail/rss-subscription-ex...>

  • 多くの RSS/Atom フィードが表に出てこない主な理由は 2 つある。Google Reader 系のサービスが消えたことと、ブラウザがフィード検出を含む RSS の基本サポートをやめたことだ
    本来ブラウザにあるべき機能を戻せば、少なくともフィードを探す用途には使えるし、その後は newsbeuter のようなツールで購読すればよい

    • 意図的なことだった。RSS は広告を回避する方法だからだ
      今日もっとも広く使われているブラウザを誰が作っているか考えればよい
    • 一部の企業サービスが消えたからといって、HTML ソースに "application/rss+xml" リンクを入れられないわけではない
      むしろ RSS リーダーのように「回収不能」なデスクトップアプリはいくらでもあり得るのに、消え得るサービスに依存するほうがおかしいし、RSS リーダーはいまも多く、作るのもかなり簡単だ
      フィードを探すには HTML ソースを確認すればよい。問題は、フィードが存在するのにサイトのどこにも表示されていない場合だ
    • 自分のウェブサイトの RSS ボタンが見えないことに気づいたことがあり、原因が分からなかったが、広告ブロッカーを確認して分かった
      少なくとも 2 つのリスト、AdGuard Widgets と EasyList Social Widgets には、まだ RSS アイコンをブロックするルールがある。ただしデフォルトでは有効になっていない
    • ブラウザの中核機能として RSS の基本サポートを入れるのは、そもそもそれほど妥当ではなかったし、拡張機能のほうがはるかに適している
      Google Reader の代替サービスも多く、単なる RSS 以上の機能も提供している
      エンゲージメントと依存に最適化されたメディアにおいて、RSS はプラットフォームの外へ出る足場なので、当然使われない。記事で主に扱っている個人ブログでさえ、クリックのために読者をサイト内に留めておきたいかもしれない
      これはコンテンツ提供者と消費者の利害対立、概ね広告の問題であって、実装の問題ではない
  • ブログのフィードを購読したという事実も、サイト運営者に分かるようにしてほしい
    よい記事を読んでサイトの持ち主に称賛メールを送ることもあるし、HN に短くコメントしてフィードを購読したことを知らせることもある。手間と愛情をかけてよいコンテンツを作っている人が、作り続ける励みになってほしい
    自作の RSS リーダーにも興味があれば https://www.heyhomepage.com を見ればよく、クリックするリンクに /?rss_ref=heyhomepage.com のようなパラメータを付けている。サイト運営者は自分のトラフィックを受け取り、訪問者統計を見ていればどこから来たのかも簡単に分かる

  • RSS もやや一貫性に欠ける。フィードにコンテンツを入れる人もいれば、リンクだけを入れる人もいる
    リンクだけだと、コンテンツをプログラムで取得するにはたいていサイトごとの特殊なコードが必要になる。汎用スクレイパーもあるにはあるが、サイトのヘッダーのような任意のノイズがデータに混ざってもよい前提でなければならない
    LLM の登場で、こうしたものにようやく市場が生まれる可能性があると思う。人々が記事のようなデータを機械学習パイプライン向けのデータソースとして売れるようになり、広告から抜け出す道にもなり得る
    だから RSS をより良くするところから始めてほしい。暗い海の中の灯台のような存在だ

    • RSS がスクレイパーのために「改善」される必要はないと思う
    • NewsBlur にはフィード表示とテキスト表示を選ぶスイッチがある
      テキスト表示は、フィードに要約しかなくても、たいていウェブサイトから全文を取得できる
    • RSS が著作権ロンダリングをよりうまくできるようになるという意味か?
    • このアイデアを中心に、リンクだけを扱うやや主張の強い RSS リーダー/トラッカーを作った
      こうすれば一貫した体験が得られ、作者も自分のウェブサイトへの訪問を受け取れる
      ここで試せる: https://lenns.io。フィードバックをもらえるとうれしい
    • 「フィードにコンテンツを入れる人もいれば、リンクだけを入れる人もいる」という点のせいで、RSS の利用を諦めた
      どうせリンクをたどる必要があるなら、時間を節約するために読みたいウェブサイトへ直接行く
  • 一部の人がRSSを公開したがらない古い理由の一つに、購読者をある程度把握したいというものがあるが、最近では多くの大手RSSリーダーが上位レベルの分析数値を公開していることを知った。
    それでもRSS読者数を推定できる。もっと多くのリーダーがこの機能をサポートしてくれるとよい。自分の製品で公開しているすべてのRSSフィードを見ると、この疑似プロトコルをサポートしているクライアントはNewsBlur、Feedly、Feedbin、inoreaderあたりに見える。
    Darek Kayの記事 https://darekkay.com/blog/rss-subscriber-count/ のおかげで知った。

    • 大手RSSリーダーが購読者数を公開するのはよい追加機能だが、多少は中央集権化の方向へ押しやる効果もある。
      私は /?rss_ref=heyhomepage.com のようなURLパラメータを付けて、サイト運営者に自分がフィードを購読していることを知らせようとしている。運営者は自分の訪問者統計でこのRSSリファラーを見られるかもしれないし、見られないかもしれない。
      記事全文をリーダー内だけで消費するのではなく、短い要約を表示した後で記事リンクをクリックする。こうすれば相手の個人サイトを楽しめるし、運営者も私のトラフィックをより明確に把握できる。
    • サーバー側でクロールするポッドキャストクライアントでも一般的な方法で、実際ほとんどがそうしている。
    • いちばん簡単な解決策は、単にサーバーリクエストを確認することだ。
      私のリーダーはターミナルベースなので、JavaScriptの分析機能をサポートするのは目的そのものをぼやけさせてしまう。
  • 自動検出が多くのサイトで壊れていたり欠けていたりするため、私のフィードリーダー Temboz は、どこかにRSSやAtomフィードが隠れていることを期待して、次のような接尾辞を試す。
    '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'

  • 以前 https://hn-blogs.kronis.dev を作った。HNで人々が共有したRSS/Atomフィードをもとにしたもので、今もバックグラウンドで動き、毎日最新記事を取得している。
    サイトには元のHN投稿と私が書いたブログ記事へのリンクがあり、ブログ記事はこちら: https://blog.kronis.dev/articles/ever-wanted-to-read-thousan...
    かなり興味深い作業だったし、この技術が存在するのはよいことだが、人によって統合の仕方がかなり違う。フィードの種類が誤って報告されることもあれば、欲しいフィードや項目のメタデータをすべて得られないこともあり、ネットワークエラーが起きたり、テキスト中の制御シーケンスのせいでXML解析が壊れたりもする。
    データセットの規模が大きくなるほど、遭遇しうる潜在的な問題も増えると確信するようになった。どんなエラーであれ起こりうるなら、最終的には処理しなければならない。

  • この記事が自分に向けられているように思えたので、自分のページのフッターにRSSアイコンを追加した。
    https://github.com/gavinanderegg/gavinanderegg.github.io/com...
    "application/rss+xml" リンクで十分だと思っていたが、最近のすべてのサイトにそういうリンクがあると人々が想定しないだろう、という点は理解できる。ブログ記事を主にRSSで読む人間として、より明示的にするのはとてもよいことだ。
    [1] https://mastodon.social/@gavinanderegg/111362850402497489

    • 私のページもRSSフィードをうまく目立たせていなかった。HTMLが得意ではないので、あなたのサイトでのやり方を参考にして、自分のサイトに合わせて手直しした。
      これで私たち二人ともRSSを公開したことになる。
  • minifluxを使っているが、フィードを探すときにドメインをそのまま入れてみると、4回に3回は /rssfeed のようなどこかで見つけてくれる。
    明示的に表示されているとよい。おそらくフレームワークに組み込まれていて無料で付いてくるので、あえて露出していないのだと思うが、考えが甘いのかもしれない。

  • RSSが抑え込まれたという事実は、考えるたびに腹が立つ。

    • 誰が抑え込んだというのか? Googleが自社のニュースリーダーを終了させた可能性はあるが、RSSはGoogleに依存していないので、止まったことはない。
      Wordpressがインターネット上のあらゆるサイトに自動でフィードを付けてくれるのがとても気に入っている。
      私はこれをフィルターだと見ている。くだらないクリックベイトコンテンツは別の場所へ行き、作り手が直接責任を持つ良質なコンテンツは私のフィードリーダーにうまく入ってくる。私にとっては、ほとんど「災い転じて福となす」だ。
      もちろん、よいフィードのコレクションを育てるには追加の努力が必要だ。だが人生のよいものはみなそうではないか? この努力は複利のように積み上がり、すぐに報いてくれる。
      RSS万歳、オープンWeb万歳!