RSS feeder auto-discovery can miss topic-specific feeds

Hi Arya,

Yes — this is indeed a result of how Discourse currently handles topic-specific RSS feeds, not a bug in your feed reader. The root cause is that Discourse adds rel="nofollow" to the <link> element for topic/category RSS feeds. Many feed readers ignore links with nofollow, which prevents automatic discovery, even though the feed itself is valid and works if accessed directly.

A practical workaround is to use a Theme Component to add topic-specific RSS links without nofollow. Here’s a simple example:

<!-- Add topic-specific RSS links without nofollow -->
<script type="text/discourse-plugin" version="0.8">
  api.onPageChange((url, title) => {
    document.querySelectorAll('link.custom-rss').forEach(e => e.remove());
    document.querySelectorAll('link[title^="RSS feed of"]').forEach(link => {
      const newLink = document.createElement('link');
      newLink.rel = "alternate";
      newLink.type = "application/rss+xml";
      newLink.href = link.href;
      newLink.title = link.title;
      newLink.classList.add('custom-rss');
      document.head.appendChild(newLink);
    });
  });
</script>

This scans for all topic/category RSS links and injects new elements without nofollow into the .

Feed readers should now detect topic-specific feeds automatically.

Alternatively, for a simpler approach, you can just share the feed URL directly with users, e.g. Cascade - NLnet Labs Community.

This method avoids modifying the core of Discourse and works across updates. Hopefully this helps feed autodiscovery work as expected!

Cheers!

1 Like