The Many Broken Feeds
RSS/Atom feeds are central to my reading process. I subscribe to over 700 feeds that I have curated over years. Most of them work fine most of the time, but a few are always broken in various different ways (different ones at different times). As a big proponent of Indieweb and feeds, I’m writing this note to categorize the ways feeds break, and offer some solutions.
Before we get on to the issues, the very first thing you must do is to subscribe to the feeds of your own websites, so that your feed reader notifies you of any breakages. Now, let’s see our culprits.
Expired SSL Certificates
This is the most frequent way I see feeds break. People forget to renew their websites’ SSL certificates, causing them to expire. Most feed readers will stop fetching feeds for such websites. However, some provide options in their settings to ignore SSL expiration. The right way to deal with it is to set up reminders to manually renew certificates, or to set up scheduled jobs to renew them automatically. There is also an option to put your website behind a CDN front, such as Cloudflare or Github Pages, and let the CDN provider deal with renewals.
Timeouts Caused by Slow Servers
Feed readers always use a timeout when fetching feeds because they cannot afford to get stuck on individual feeds forever. Usually this is between 30 to 60 seconds. If the server serving a website is slow enough to not respond within the timeout, the feed is marked as broken. Most of the time this is an intermittent error that resolves itself after a while when the load on the server goes down. But if it happens often, I’d recommend looking into your serving provider/infrastructure/software, and see if the serving latency or bandwidth can be improved by caching or by upgrading hardware or service tier.
Misconfigured Firewalls
This issue is relatively new, and I suspect it’s because people are reconfiguring their firewall rules to block website scrapping bots. The problem is, feeds are inherently meant to be read by bots (feed readers) on their users’ behalf. If you are doing this for your website, please make sure to exclude feed URLs. Or if you don’t want the bots to get your blog post content, please consider offering a free-to-all link-only feed with no content. Seeing my favourite feeds go down with “Access Forbidden” messages is heartbreaking.
Servers Going Down
... continue reading