Server Rendered vs Static Websites

23 Jan 2024

This website started out as an Apache + PHP combo, then I switched to serving pages using a Python server, but now I’m going pure static.

Why Server Rendered

I started out making it server rendered because:

Why I Went to Static

Turns out serving static files is way faster and space efficient.

Page load speed (including response time)
* Static: 0.04s
* Server: 0.37s ~9x SLOWER

Dir size (including deps)
* Static: 512 KB
* Server: 38.4 MB ~77x LARGER

Big difference.

The Best of Both Worlds

Instead of having to deal with an icky file structure, I’ve kept what I had before, except I replaced the Python server with a Python compiler script.

This script renders each page and places it in a bin/ directory. In a sense, it does what the server did, but instead of doing it for each request in realtime, it does it once, resulting in an entirely static website.

Downside

The only downside is that this is a bit more manual work to update the site. For example, to add a blog post I would need to recompile and then upload the generated static content to the host machine. But hey, there are always tradeoffs.