404 → 307

🌲 A simple gesture for an evergreen web.


Because things change…

My first web site was hosted on Geocities.

Then Tripod.

Then it was a full Flash site that I coded from scratch.

Then it used b2.

Then it used Wordpress.

Now, it’s powered by Site.js.

Soon, it’ll be my own Small Web place, running on Kitten.

…and we shouldn’t break the Web when they do.

The Geocities site lives on only thanks to the Internet Archive (thanks Brewster) as does the Tripod page. I’m glad they’re still there (so embarrassing, but we all had to start somewhere!)

But the original URLs today are broken.

I couldn’t do anything about that because, just like our Facebook or TikTok profiles today, they were never mine. I was just renting them from those companies and, when they went away, they took that part of the Web with them.

My own site (and my fediverse presence), on the other hand, are mine and, among other things, I get to decide whether they live or die.

Once I had my own domain, I was able to be more thoughtful.

I didn’t want to break the Web when I went from b2 to Wordpress. But that took some work. I had to write a b2 to Wordpress migration script.

Then, when I went from Wordpress to my own hand-rolled static site generator, I had to again write code to process my legacy content and make sure I maintained the URLs. That took some work also. It wasn’t trivial.

(And, when I changed my domain from aralbalkan.com to ar.al, I had to keep a web server running at aralbalkan.com to forward the HTTPS calls to the new domain.)

Soon, my personal site will change completely as it becomes a Small Web place running on Kitten. So it’s going to go from a static web site to a dynamic Node.js application. I don’t want to break the Web but I also don’t want to burden the new system I’m building with a means to handle legacy static content. And yet, this is also an important use case that I can’t ignore.

So what’s a poor developer to do?

Here’s the simplest solution I could come up with:

  1. Serve the current site from a subdomain (e.g., 2017.ar.al)

  2. Make my 404s into 307s that point to the previous version of the site.

  3. If I change the site again in the future, rinse and repeat.

I call the technique 404 to 307 (aka evergreen web).

Next: How does it work?

💕 Like this? Fund us!

Small Technology Foundation is a tiny, independent not-for-profit.

We’re building the Small Web.

We exist in part thanks to patronage by people like you. If you share our vision and want to support our work, please become a patron or donate to us today and help us continue to exist.