The Cheapest CMS Implementation in History?

Ruster

The Cheapest CMS Implementation in History?

This blog post describes what might be the cheapest web Content Management System (CMS) implementation in history, which I'm trying to use for a personal project. I think the only cost is the domain (DNS), which is technically optional. This approach may be particularly appealing to (old-school?) software developers.

Caveats

Tools

Overview

Process

Once everything is set up, I follow this process to update the site:

  1. Use the Rust program to build the files.
  2. Preview things in a browser (optional).
  3. Use VSCodium to check everything in to github.

Next Steps

This is obviously a work in progress, but I'm so sick of WordPress that I might stop blogging and just use it anyway, which would encourage me to address some issues (no home page, no header or footer, file names in nav rather than titles, and so forth). Almost nobody comments on my blog anyway and I don't care about likes. I'll probably use LinkedIn to promote my posts and people can comment there. I might even link back from the posts to LinkedIn to encourage that.

WordPress also gives me traffic reports. I think I can just integrate google analytics instead, specifically by adding the required tag to /template.html. That's out of scope for this post, but it looks pretty straightforward:

This depends on the client, where WordPress may use the server for tracking.

Update 12.Dec.2025:

I added the google analytics tag.

I added the ability to embed some JSON in the markdown, but haven't fully tested.

Update 14.Dec.2025:

I found the cheapest way to add search!

First I went here to add the site to google:

I had to wait about a day before search results worked.

Then I added this form to the site's nav.

<form method="get" action="https://www.google.com/search">
    <input type="hidden" name="q" value="site:jpw3.com">
    <input type="text" name="q" placeholder="Search jpw3.com">
    <input type="submit" value="Search">
</form>

I added sitemap.xml generation:

In the interest of saving storage space, I wrote a sh script to truncate history for generated HTML files:

cd /home/jw/git/vercel
git checkout --orphan latest_branch
git add -A
git commit -am "history of generated files truncated to save storage space"
git branch -D main
git branch -m main
git push -f origin main

Comments

Feel free to comment here:

JSON Example

{
  "page_title": "The Cheapest CMS Implementation in History?",
  "nav_title": "Cheapest CMS",
  "avoid_generation": false,
  "exclude_from_nav": false,
  "keep_json_in_content": true,
  "sort_key": "ABC",
  "include_in_sitemap": false,
  "sitemap_changefreq": "yearly",
  "sitemap_priority": 0.5
}