2 pontos por GN⁺ 2023-12-12 | 2 comentários | Compartilhar no WhatsApp
  • Muitos sites oferecem feed RSS, mas deixam de incluir um link RSS/Subscribe ou metadados de descoberta automática, o que dificulta para o usuário encontrar o endereço do feed
  • Se o link RSS aparecer diretamente na página, além da descoberta automática pelo leitor de feeds, os visitantes passam a saber da existência do RSS, melhorando a acessibilidade da web aberta
  • A descoberta automática de RSS é a forma padrão de procurar type="application/rss+xml" na tag <link> do HTML, e pode ser usada por leitores de feed como o NetNewsWire ao inserir uma URL
  • Ao adicionar na head do site uma tag <link> com rel="alternate", type, title e href, é possível expor explicitamente o feed RSS
  • Se houver vários feeds, como RSS, Atom, JSON Feed e podcast feed, é possível usar várias tags <link>, e é melhor fazer o botão RSS parecer um botão RSS

Fornecendo link RSS junto com descoberta automática

  • Quando usuários procuram um feed RSS, a primeira coisa que costumam verificar é um link RSS/Subscribe dentro do site, mas muitos sites não têm esse link
  • Alguns usuários apenas colam a URL do site no leitor de feeds e deixam o app encontrar o feed, mas se houver um link RSS visível na página, o visitante percebe imediatamente se há suporte a RSS
  • A descoberta automática de RSS funciona procurando, entre as tags <link> do site, um item cujo type seja application/rss+xml
return Array.from(document.getElementsByTagName('link')).find(l => l.type.includes('application/rss+xml'))?.href
  • Esse método é um padrão chamado RSS auto-discovery, que ajuda navegadores e outros softwares a encontrar automaticamente o feed RSS de um site
  • Leitores de feed como o NetNewsWire podem usar esses metadados para encontrar o feed quando uma URL é colada

Metadados de feed colocados na head

  • Se houver um feed RSS, você pode adicionar à head do site uma tag de descoberta automática como a seguinte
<link rel="alternate" type="application/rss+xml" title="My Cool Website" href="https://example.com/feed.xml"; />
  • Feeds Atom usam application/atom+xml no type
<link rel="alternate" type="application/atom+xml" title="My Cool Website" href="https://example.com/atom.xml"; />
  • Se houver vários feeds, também é possível usar várias tags <link>
<!-- 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"; />
  • Em uma atualização de 9 de dezembro de 2023, foi adicionada a sugestão de que, ao incluir um botão RSS, ele deve parecer um botão RSS e usar o laranja característico do RSS

2 comentários

 
ndrgrd 2023-12-14

Há muitos sites bem escondidos. Quando eu realmente quero assinar, costumo tentar digitar diretamente /rss, /rss.xml, /index.xml, /feed e /feed.xml.

 
GN⁺ 2023-12-12
Opiniões no Hacker News
  • Dica: canais do YouTube também expõem feeds RSS, então basta colar a URL do canal em um leitor de notícias para assinar
    Pode haver feeds RSS em lugares inesperados, então vale usar uma extensão que traga de volta ao navegador o botão “Assinar via RSS”
    <https://addons.mozilla.org/en-US/firefox/addon/awesome-rss/>
    <https://chromewebstore.google.com/detail/rss-subscription-ex...>

  • Os principais motivos pelos quais muitos feeds RSS/Atom não ficam visíveis são dois: serviços do tipo Google Reader desapareceram, e os navegadores abandonaram o suporte básico a RSS, incluindo a descoberta de feeds
    Se trouxermos de volta a funcionalidade que originalmente deveria estar no navegador, ela já serviria pelo menos para encontrar feeds; depois, é só assiná-los com ferramentas como o newsbeuter

    • Foi algo intencional. Porque RSS é uma forma de contornar anúncios
      Basta pensar em quem fabrica o navegador mais usado hoje
    • O fato de alguns serviços corporativos terem desaparecido não impede ninguém de colocar um link "application/rss+xml" no código-fonte HTML
      Na verdade, pode haver inúmeros aplicativos desktop “irrecuperáveis”, como leitores RSS; o estranho é depender de um serviço que pode desaparecer. Ainda há muitos leitores RSS, e criar um também é relativamente simples
      Para encontrar o feed, basta verificar o código-fonte HTML. O problema é quando o feed existe, mas não é exibido em lugar nenhum do site
    • Já descobri que o botão RSS do meu site não aparecia; não sabia a causa, até verificar o bloqueador de anúncios
      Pelo menos duas listas, AdGuard Widgets e EasyList Social Widgets, ainda têm regras que bloqueiam ícones RSS. Mas elas não vêm ativadas por padrão
    • Incluir suporte nativo a RSS como funcionalidade central do navegador nunca fez tanto sentido, e extensões se encaixam muito melhor nisso
      Há muitos serviços que substituem o Google Reader e também oferecem recursos além de RSS simples
      Em mídias otimizadas para engajamento e vício, RSS é uma rampa de saída da plataforma, então é claro que não o usam. Mesmo blogs pessoais, que são o foco do texto, podem querer manter os leitores dentro do site por cliques
      Isso é um conflito de interesses entre provedores e consumidores de conteúdo, em grande parte uma questão de publicidade, não de implementação
  • Gostaria que o fato de eu ter assinado o feed de um blog também ficasse visível para o operador do site
    Quando leio um bom texto, às vezes mando um e-mail de elogio ao dono do site, ou deixo um comentário curto no HN dizendo que assinei o feed. Espero que isso incentive pessoas que criam bom conteúdo com dedicação e carinho a continuar criando
    No leitor RSS que eu mesmo fiz, se tiver interesse, veja https://www.heyhomepage.com; ele acrescenta aos links clicados um parâmetro como /?rss_ref=heyhomepage.com. O operador do site recebe meu tráfego e, se olhar as estatísticas de visitantes, consegue ver facilmente de onde veio

  • RSS também é um tanto inconsistente. Algumas pessoas colocam o conteúdo no feed; outras colocam apenas links
    Quando há apenas links, para buscar o conteúdo programaticamente, normalmente é necessário código específico para cada site. Existem scrapers genéricos, mas é preciso aceitar que ruídos arbitrários, como cabeçalhos do site, acabem misturados aos dados
    Acho que, com a chegada dos LLMs, finalmente pode surgir um mercado para isso. As pessoas poderiam vender dados como artigos como fonte de dados para pipelines de machine learning, e isso também poderia ser um caminho para escapar da publicidade
    Então eu gostaria que começássemos tornando o RSS melhor. Ele é como um farol em meio a um mar escuro

    • Não acho que o RSS precise ser “melhorado” para scrapers
    • O NewsBlur tem uma chave para escolher entre visualização do feed e visualização em texto
      A visualização em texto geralmente consegue buscar o texto completo no site, mesmo quando o feed tem apenas um resumo
    • Isso quer dizer que o RSS ficaria melhor em lavagem de direitos autorais?
    • Com essa ideia como base, criei um leitor/rastreador RSS um tanto opinativo que lida apenas com links
      Assim, você tem uma experiência consistente, e o autor também recebe visitas ao próprio site
      Dá para testar aqui: https://lenns.io. Ficaria feliz em receber feedback
    • Desisti de usar RSS por causa desse ponto de que “algumas pessoas colocam o conteúdo no feed; outras colocam apenas links”
      Se de qualquer forma preciso seguir o link, prefiro ir direto aos sites que quero ler para economizar tempo
  • Um dos motivos antiquados pelos quais algumas pessoas não querem publicar RSS é querer ter alguma noção de quem são seus assinantes, mas descobri recentemente que muitos grandes leitores de RSS divulgam números analíticos de alto nível
    Com isso também dá para estimar o número de leitores via RSS. Seria bom se mais leitores dessem suporte a esse recurso. Olhando todos os feeds RSS que disponibilizo nos meus produtos, os clientes que parecem dar suporte a esse protocolo improvisado são NewsBlur, Feedly, Feedbin e inoreader
    Descobri graças ao texto de Darek Kay https://darekkay.com/blog/rss-subscriber-count/

    • Grandes leitores de RSS divulgarem a contagem de assinantes é um bom recurso adicional, mas também tem um efeito de empurrar um pouco para a centralização
      Tento adicionar um parâmetro de URL como /?rss_ref=heyhomepage.com para avisar ao operador do site que estou assinando o feed. O operador pode ou não ver esse referenciador RSS nas estatísticas de visitantes
      Em vez de consumir o texto inteiro dentro do leitor, mostro um breve resumo e depois clico no link do artigo. Assim consigo aproveitar o site pessoal deles, e o operador também vê meu tráfego com mais clareza
    • Também é uma prática comum em clientes de podcast que fazem crawling do lado do servidor; na verdade, praticamente todos fazem isso
    • A solução mais fácil é simplesmente verificar as requisições ao servidor
      Meu leitor é baseado em terminal, então dar suporte a análises em JavaScript desviaria do próprio propósito
  • Como a descoberta automática está quebrada ou ausente em muitos sites, meu leitor de feeds Temboz tenta estes sufixos na esperança de que haja um feed RSS ou Atom escondido em algum lugar
    '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'

  • Há algum tempo criei https://hn-blogs.kronis.dev, baseado em feeds RSS/Atom que as pessoas compartilharam no HN, e ele ainda roda em segundo plano, buscando posts recentes todos os dias
    O site tem links para o post original no HN e para um post de blog que escrevi; o post do blog está aqui: https://blog.kronis.dev/articles/ever-wanted-to-read-thousan...
    Foi um trabalho bem interessante, e é bom que essa tecnologia exista, mas a forma como cada pessoa a integra varia bastante. Às vezes o tipo de feed é informado incorretamente, às vezes você não consegue obter todos os metadados de feed ou de item que deseja, há erros de rede, ou o parsing de XML quebra por causa de sequências de controle no texto
    Fiquei convencido de que, quanto maior o conjunto de dados, mais problemas potenciais aparecem. Se algum erro puder acontecer, em algum momento você vai ter que tratá-lo

  • Como este texto pareceu mirar em mim, adicionei um ícone de RSS ao rodapé da minha página
    https://github.com/gavinanderegg/gavinanderegg.github.io/com...
    Eu achava que um link "application/rss+xml" bastava, mas entendo que hoje as pessoas não presumam que todo site tenha um link desses. Como alguém que lê posts de blog principalmente via RSS, é ótimo deixar isso mais explícito
    [1] https://mastodon.social/@gavinanderegg/111362850402497489

    • Minha página também não expunha bem o feed RSS. Como não sou muito bom com HTML, usei como referência o jeito que você fez no seu site e adaptei para o meu
      Agora nós dois publicamos o RSS
  • Uso o miniflux e, quando tento encontrar um feed colocando simplesmente o domínio, em três de quatro vezes ele acha em algum lugar como /rss ou feed
    Seria bom se isso ficasse exposto explicitamente. Talvez venha embutido no framework e de graça, por isso ninguém se dê ao trabalho de mostrar, mas talvez seja ingenuidade minha

  • O fato de o RSS ter sido reprimido me deixa irritado sempre que penso nisso

    • Reprimido por quem? O Google pode ter matado seu próprio leitor de notícias, mas o RSS não depende do Google, então nunca parou
      Gosto muito do fato de o Wordpress adicionar automaticamente feeds a todos os sites da internet
      Vejo isso como um filtro. Conteúdo idiota de caça-cliques vai para outro lugar, e conteúdo de qualidade, pelo qual o próprio criador assume responsabilidade, entra bem no meu leitor de feeds. Para mim, é quase uma bênção disfarçada
      Claro que manter uma boa coleção de feeds exige esforço adicional. Mas as coisas boas da vida não são todas assim? Esse esforço se acumula como juros compostos e logo se paga
      Vida longa ao RSS, vida longa à web aberta!