Rediscovering RSS: The Feed My Blog Was Missing

Created: 2025-08-18
4 min read
RSS
Blogging
Personal Website
SEO
AI
MCP

I do not actively follow people's blogs or websites. I completely rely on Google Search to show them to me as a result of me researching something. This has become rarer as I tend to use Perplexity more and more or just use Google's AI Overview.

One of those searches led me to someone's blog and I noticed the RSS feed icon. They have become rarer these days but what struck me more was that I actually forgot to add one for my own blog.

This blog post will cover how to create your own RSS feed, how it might help with SEO and whether it is still relevant in the age of AI and, more specifically, with MCP servers.

Creating an RSS feed using a script

My blog posts are written in Markdown, which means that all the necessary information for the RSS feed is already present in the frontmatter and it just needs to be passed to the RSS package.

Here is how I implemented mine using Node.js and the rss package.

javascript
1#!/usr/bin/env node 2 3const fs = require('fs'); 4const path = require('path'); 5const matter = require('gray-matter'); 6const RSS = require('rss'); 7 8const SITE_URL = '<YOUR SITES URL>'; 9const BLOG_TITLE = '<YOUR BLOG TITLE>'; 10const BLOG_DESCRIPTION = '<YOUR BLOG DESCRIPTION>'; 11const POSTS_DIRECTORY = path.join(process.cwd(), 'public', 'content', 'blog', 'posts'); 12 13function getAllPublishedPosts() { 14 const files = fs.readdirSync(POSTS_DIRECTORY).filter((f) => f.endsWith('.mdx')); 15 const posts = files.map((file) => { 16 const filePath = path.join(POSTS_DIRECTORY, file); 17 const { data, content } = matter(fs.readFileSync(filePath, 'utf8')); 18 const slug = data.slug || file.replace(/\.mdx$/, ''); 19 return { 20 slug, 21 title: data.title || 'Untitled', 22 description: data.description || '', 23 date: data.date || '', 24 publish: data.publish !== false, 25 }; 26 }); 27 return posts.filter((post) => post.publish).sort((a, b) => new Date(b.date) - new Date(a.date)); 28} 29 30function generateRSS() { 31 const feed = new RSS({ 32 title: BLOG_TITLE, 33 description: BLOG_DESCRIPTION, 34 feed_url: `${SITE_URL}/rss.xml`, 35 site_url: SITE_URL, 36 language: 'en', 37 }); 38 const posts = getAllPublishedPosts(); 39 posts.forEach((post) => { 40 feed.item({ 41 title: post.title, 42 description: post.description, 43 url: `${SITE_URL}/blog/${post.slug}`, 44 date: post.date, 45 }); 46 }); 47 const rssPath = path.join(process.cwd(), 'public', 'rss.xml'); 48 fs.writeFileSync(rssPath, feed.xml({ indent: true })); 49 console.log(`RSS feed generated at ${rssPath}`); 50} 51 52generateRSS();

The above script generates an rss.xml. To automate this further, I have included it as part of my postbuild script in my package.json which will automatically generate and update my feed as needed.

json
1"scripts": { 2 ... // other scripts removed for brevity 3 "postbuild": "next-sitemap && pnpm generate:rss", 4 "generate:rss": "node scripts/generate-rss.js" 5},

Next, we need to make sure browsers and other apps can discover the existence of an RSS feed. To achieve this, we inject an HTML head tag into the root layout.

typescript
1<head> 2 <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="/rss.xml" /> 3</head>

Lastly, we also should show the RSS icon to give visitors a visual cue about us supporting an RSS feed. This is done by adding an RSS button to the index page as well as adding it to the header when visiting the blog subpage.

This feels very old school, but old school works, and this whole notion of adding an RSS feed is already old school.

RSS in the age of AI

But while human consumption has shifted toward social media, AI-driven discovery brings a new angle to this discussion.

While Google used to or maybe still uses RSS to discover new URLs, I have the feeling that the popularity of RSS has taken a hit in recent years. This is predominantly driven by a change in how people consume "news". Social media is more popular than ever for consuming news compared to actively curating your own list of RSS feeds to follow. On the other hand, this is its strength as it allows every individual to curate their own list based on their own interests.

It will be interesting to see how RSS's popularity will change given the rise of MCP servers. Instead of actively searching for information with different queries, more and more people use AI for their research. These tools incorporate an MCP client that can directly communicate with MCP servers and be very targeted in retrieving the answer.

It would not be too far-fetched to think that personal websites and blogs might soon add MCP servers with their content next to an RSS feed. Ultimately, the goal is to share knowledge and insights and providing this to AI, which then ultimately uses it to craft a response seems reasonable.

From an SEO perspective, an RSS feed can also help search engines discover fresh content faster — though how much weight it carries today is up for debate. It is more likely that a sitemap.xml is more efficient and considered stronger by search engines.

Final thoughts

My feeling is that RSS feeds have become less and less popular as more and more people have changed their way of consuming news. It takes almost no effort to set one up, and if even a handful of people use it, it’s worth it. So if you run a blog, consider adding one — I clearly had forgotten.