How to Host a Website for Free!
In the modern internet age of social media, AI blogs, monolith apps and everything-as-a-service it's easy to forget what the internet looked like in it's younger years. Everyone who wanted a page had one. We had so many "free" webhosts, all with their own flavor of web builder that made it "easier" (HA!). At some point we lost alot of that --- or at least the traffic and algorithims did --- in what I can only describe as the industrial internet. Things are too clean you know? Like the smell entering a medical facility -- the feeling everything was scrubbed down with alcohol shortly before you arrived. There was a time when the internet looked more like a collection of personal art instead of the cookie-cutter polished garbage being served up now.
Please, follow these steps, make your own weird on the web! It doesn't have to be "weird", just make it yours. Now, without further ado
Core Concept
We'll be utilizing a fairly popular business -- CloudFlare -- to host on their "free tier". This free tier is very generous in the amount of services and limitations they provide -- 200,000 visits / day is not something most (non-monolithic) websites have to worry about -- and if you do at that point you could put ads and other various things to make up the cost... but I digress
We will also be using an open-source tool: Eleventy (11ty) to "format" our documents into a coherent website. We'll build a simple template to get your site up and running off of just a few text documents (MarkDown to be specific).
From there we have two options: A) Build and Upload the files manually every time you want to post. B) Create a GitHub account and repo then connect it to CloudFlare to post automatically when you "save"
NOTE: By default your website will be a '.pages.dev' address like 'yoursite.pages.dev'. If you want 'yoursite.com' you will need to pay to register that domain name and have it point to your website (can all be handled by CloudFlare at competitive pricing) -- for instance "hosting" sleighterror.com is free, but paying for the sleighterror.com domain costs me ~$10(USD)/year. I will outline how to do this at the end, it's not required, but, wanted to be up front about where the free terms are limited.
Requirements
A Computer capable of running Node.js (which is most of them). A basic text editor or IDE (I personally use VS Code, but, you can literally use NotePad if you choose). Git if you plan to use GitHub integration (optional but recommended).
Getting Started
The first thing you'll need to do is download and install Node.js on the computer you plan to build your website on.
!#~include steps to install node
Create a new directory on your computer where you'd like to
Then you'll need to install eleventy via npm
!#~npm install eleventy