Web Engineering

RSS is still good plumbing

3 min read

RSS is still good plumbing.

The useful part is ownership. A site with a feed gives readers a durable way to follow its writing without an account on another service, an algorithmic ranking, or a habit of checking the homepage.

There are louder distribution systems. A feed does the quieter job: it delivers the work to a reader’s chosen tool and waits there until they have time for it.

A feed is a reader interface

Readers can use a local application, a hosted reader, an email bridge, a script, or a terminal client. They can follow two sites or two hundred, group them by topic, and read on their own schedule.

That pacing suits technical writing. Most posts are not urgent. The feed lets them arrive without turning every article into a notification.

Small failures are still public failures

Feed bugs tend to be mundane:

  • a title is missing
  • a URL still points to localhost
  • a draft appears in public output
  • a changed GUID makes an old post look new
  • dates arrive out of order
  • HTML is escaped
  • an item is duplicated after a rebuild

These are worth checking alongside routes and sitemap output. The contract is small enough to smoke test:

homepage links to the feed
feed parses
latest post appears once
draft posts are absent
post links are absolute
dates sort correctly
items do not duplicate after rebuild

The browser can make a broken feed easy to miss. A reader cannot.

Identity should survive edits

An item ID becomes noticeable when it changes unexpectedly.

If every build generates a new ID, readers receive the whole archive as new work. If the ID depends on a mutable title, an ordinary edit can look like a new publication. If old dates are regenerated, the archive churns without a new post.

For a static site, the canonical URL or stable slug is a sensible identity boundary. Once an article is public, the feed should continue to recognize it.

Summaries route attention

A feed summary is a decision aid, not a slogan. It should name the actual subject and give the reader enough angle to decide whether to open the post.

Bad:

Thoughts on web publishing.

Better:

Why feed validation matters more than a social share button on a personal site.

That is a small but meaningful routing choice. The summary helps a subscriber spend attention deliberately.

The feed tests the archive

RSS often exposes metadata problems before the page does. A wrong date, empty title, malformed excerpt, or bad canonical URL can surface in the XML even when the browser view looks fine.

The same metadata usually powers cards, sitemaps, search, and previews. Checking one feed therefore exercises more of the publishing path than its size suggests.

Feeds are useful to machines as well. Scripts, archivers, newsletter bridges, and agents can consume a predictable document without scraping a changing layout. A stable feed is an entrance to the archive, not an ornamental extra.

Make that entrance obvious: use a stable path, link it in the head or footer, and do not force readers to guess whether the endpoint is /rss.xml, /feed.xml, or something else.

The maintenance cost is small. The result is a distribution path that keeps working when the rest of the web changes its volume, ranking, or interface.

Jeremy London

About Jeremy London

Engineering leader and builder in Denver. I write about AI platforms, agents, security, reliability, homelab infrastructure, and the parts of engineering work that have to survive production.