How to Make Your Website Boring and Why!
I took the time last year to make my website more boring. Here's how you can do the same and why you'd want to.
Up until recently I was using a static site generator (cobalt-rs) and a fancy CSS framework/library (Bulma) to build my website. I also had one or two scripts to do various fiddly things in the browser. I took the time to gut it and now I have a much more boring website. I don't use anything but HTML to write all of the posts and pages. This eliminated the need for a static generator or script to turn something like Markdown into HTML for me. I also scrapped all of the customized CSS framework style sheets that I had been using for a very small (145 lines including whitespace and braces) single-file stylesheet. I also dropped all of the fancy links, banners, most of the icons, and any JavaScript that I had originally. Now, my site is much more boring. And it's so much better.
How does one make their website boring?
Typically, ask yourself whether you need something. If the answer is "no", you can safely remove it and you won't need it again. Your website will become more boring (read: simpler). Here are some of the things I evaluated:
- How many 3rd-party assets, templates, CSS libraries am I using? How big are they? Are they slowing down rendering or annoying to maintain/upgrade?
- Do I need a Sass interpreter to "build" my styles?
- Am I using a static site generator? Does it make my life easier or more difficult?
- Am I using a bunch of JavaScript? What does it do and does it really need to do it to make my site work better?
Do you use a lot of third-party assets, templates, or CSS for your site? Do you have to run a SASS tool to generate your stylesheets? Are your stylesheets really big (> 1000 lines I think anyone would consider on the bigger side)? Consider whether or not you really need them. Oftentimes, with CSS, less is more. Especially if your site is just a collection of pages of text with links to other pages of text. You can make your site attractive and compatible with 100% of browsers by keeping things simple. And then you don't have to worry about rebuilding your output stylesheets or keeping up with libraries and frameworks.
Do you have a lot of dynamically-generated content on your site? Does the document need to change based on user input? Do you have a large number of script tags importing minified files from third-party CDNs? Odds are you don't need those either and you can completely get rid of them. Now you don't have to worry about making sure all browsers can run those scripts, or whether or not the CDNs are online, or you're requesting the latest version.
Do you use a static site generator to build your site? Is your content complicated enough to write that you can't write it in plain HTML? Is Markdown really easier or more powerful? Odds are, it's easier to write directly in HTML without having to tell your generator what to do with your tags. And for the oddball tag that Markdown doesn't directly support, you might often end up writing HTML into your Markdown files anyways. And, you can better control what the output formatting looks like, making your site's code more readable. Furthermore, you won't have two acting copies of your site, a pre- and post-generator one. For me, it was annoying having "source code" for my web site that was different from what I was actually hosting. It's so much nicer to have a 1:1 mapping between what I write, test, and deploy.
Still not convinced? Still need to automate some part of building your site, like generating an RSS feed? Is there any chance you can write a quick Makefile to do that for you? I was able to do just that, and it was way nicer not having to install and learn how a generator worked to automate assembling my site.
If you answered "no" to any of the above "do you need"-s, you just found a way to make your site more boring. Boring equates with simplicity. Simplicity is a good thing.
Why should you make your website boring simple?
Not relying on a bunch of libraries and assets is a good thing. It seemed like every time I wanted to add a quick post, I would notice there was an update for some library I was using and I was spending time upgrading and learning about it. You know, that thing that computer programmers enjoy doing and are good at but often doesn't actually help them accomplish anything: fiddling with shiny new stuff that doesn't solve a problem. Now I get to just focus on adding things to my site and I'm never worried about whether it looks broken.
I also didn't like having a pre- and post-build site. If I wanted to fix one typo I couldn't remote into my live site, fix it, and then leave it there. I had to do something like fix the typo in my Markdown, commit and push it, and then re-run the generator and upload the new "live" files. The generator step wasn't making things easier, it was making them more annoying.
You'd also be surprised at how easy it is to make your site fast and reliable on all modern and old browsers when it's boring (read: simple, again). Internet Explorer doesn't care about my site, it's a breeze to render and there's nothing in it that hasn't been in existence for at least a decade. (Alright, I do have a few SVG icons which it probably wouldn't know what to do with. You can't tell the difference between Firefox's and Chrome's renders of my site. And Google's PageSpeed Insights score is a hilarious 99.
My site is also more functional now. It's less distracting. It's really easy to navigate and read. There's no runtime, no JavaScript that has to execute before the reader sees the page they're looking for. And there's practically nothing to maintain except my posts. It's also really easy for crawlers to quickly ingest all of my posts and turn them into search results. Hopefully, it's also easier for the visually impaired to zoom in and not mess up the document, or use a screen reader that extracts the article tags.
The benefits are through the roof. My site used to be about tinkering with tools and libraries and frameworks. Now it's just a boring website. That leaves me with time to focus on tinkering with other stuff that's more interesting, and only focus on writing when I'm working on this site. So make your life easier and go make your website boring today.