Why your blog should be a static website (instead of Wordpress)
What does static mean?
Static doesn’t mean that the website never changes. It just means that all the content on every page - the text, HTML, styling - is static at any given time.
The amount of code that runs in your browser while looking at this blog is either zero, or minimal. (I use MathJax to render formulas on some of the technical posts. That’s it.)
When I make a styling change, or write a new blog post, I regenerate all the pages, along with the menus and links. I use a tool called Jekyll to do this. I then re-upload them to a server using a shell script.
This blog is a static website. I publish a new post maybe once every few weeks, so this works well.
Facebook is not a static website. They don’t regenerate all the HTML every time someone makes a new account or types a new comment, because that would be insane.
Wordpress is not static either. This is why most Wordpress websites feel slow, along with all the trackers, popups, and marketing junk that most people throw into them.
Why use a static website?
- They are fast and clean, because no code is running in the reader’s browser.
- Because of this, they are also inherently respectful of privacy. No code = no trackers and crap.
- They are great for SEO because the text content is baked into the page.
Why don’t more people use static websites?
Because the current tools available for making them require a certain amount of technical handiness, and alot of folks just don’t have the time or willingness. That’s why Wordpress blogs are so common, and this is 100% fair.
But if you are willing to touch a bit of code…
Here are my favourite stacks for creating clean, fast, and beautiful blogs.
The table goes from simple/fast to heavy-duty/”slow”.
(When I say “slow”, I’m still talking way better than the average Wordpress site which is laden down with trackers, plugins, and bloat.)
|A simple 1-3 page site||Github Pages||
|A no-nonsense blog focused on text||Jekyll||
|Full design flexibility of React, manage posts via CMS||Contentful with react-static||