Simple Website Framework

The RSS Feed

Monday April 20th, 2026

Written by Scary le Poo

The framework automatically generates an RSS 2.0 feed from all posts in the pages/posts/ directory. No configuration is needed — the feed is available as soon as you have posts with the required metadata.


Accessing the Feed

Append ?rss to your site's root URL:

https://example.com/?rss

The feed is generated dynamically on each request. It reads all .html files in pages/posts/, extracts their metadata, sorts them by date (newest first), and outputs a valid RSS 2.0 XML document.


What Gets Included

Only posts that have all four of the following metadata fields populated are included in the feed:

  • pagetitle
  • pagedate
  • pageexcerpt
  • pageimage

Posts missing any of these four fields are silently skipped. This is intentional — incomplete posts won't pollute your feed.


Feed Item Structure

Each item in the feed contains:

RSS Element Source
<title> pagetitle metadata
<link> $WebsiteURL/posts/[filename]
<description> pageexcerpt metadata
<pubDate> pagedate metadata, formatted as RSS date
<enclosure> pageimage metadata (or $WebsiteImage as fallback), with MIME type and length="0"

Channel-Level Information

The feed's channel metadata is drawn directly from config/config.php:

RSS Channel Element Config variable
<title> $WebsiteTitle
<link> $WebsiteURL
<description> $WebsiteDescription
<image><url> $WebsiteImage

Embedding Your Feed in a Page

You can display your own feed (or any other RSS feed) on a page using the

Error: RSS feed URL missing.

shortcode:

Error loading RSS feed.

https://example.com/?rss

This will render the five most recent posts as an HTML block. See the Shortcodes page for full details on the

Error: RSS feed URL missing.

shortcode and its output structure.


How the Feed is Generated

The feed is handled by rss_generator.php in the site root. It is triggered by the ?rss query parameter check at the very top of index.php — if the parameter is present, the RSS generator is included and execution stops, so no page rendering occurs.

The generator uses the same HTML comment metadata pattern as the rest of the framework:

/<!--\s+pagetitle:(.*?)\s+-->/s

This means all post metadata must follow the standard comment format for the post to be picked up by the feed.

Simple Website Framework

A lean, flat-file PHP framework with no database, no bloat, and no black boxes. Build something clean and keep control of every part of it.

Contribute on GitHub

Found a bug? Have an idea? The project is open source and contributions are welcome. Find it on GitHub.

Documentation

This site is the living documentation for the framework. Every feature is demonstrated in the place it's meant to be used. Start with the introduction or dive straight into the setup guide.