TL;DR Cloudflare pages, then Neocities or Nekoweb, then GitHub pages. Then Vercel or Netlify. Please don’t treat this list as exaustive: there are nuances, that depending on your situation, could change how this is ranked.
This article is on static websites. This means no backend, no server, no database. Just pages, things that run on your viewer’s computers, where everything on your site can be inspected.
Introduction
The intro section is written for those who have almost zero prior experience with programming or web hosting. If you are mildly proficient, skip this section.
I’ve seen a lot of Tweets out there saying “oooohhhh make your personal website” and “you should make a [PLATFORM] website” where [PLATFORM] tends to be neocities or nekoweb. Alright, let me clear something out: how a website looks like is not the platform that is used to host a site. You make and style a website in HTML/CSS (or use a framework to compile to it), most of the time. You define the styling in the CSS. CSS is similar to Google Docs’ style controls (text size, font), but with way more power. Alright, I think I’ve cleared site making out of the way.
For complete beginners who intend on only using HTML and CSS (to avoid the learning curve of React or other frameworks): you can treat a static site as a public folder. The folder may contain HTML files. When you navigate to the HTML file, it opens that page. Really, treat URLs like file paths. The “home” page for each directory is index.html. You would then write the markup of your site in that index.html. How do you do it? There are lots of HTML tutorials out there, I think you can learn it. If you’ve been chronically using Discord, you should know that you’ve technically been typing out HTML the whole time, but in another format: Markdown (although it is more limited, though markdown does convert into HTML).
Traditionally, to get a site to work without having an external service host it for you, you had to let others connect directly into your computer. Most personal routers don’t let that happen, because most people don’t tinker with routers. You start up some program that, when it recieves a connection with a “URL” (not really?), that program responds with the content the sender wants. This, is oversimplified. But, your main goal is to find a service that hosts that program for you, because otherwise your computer has to be up and running 24/7.
Services you find online can possibly be as simple as: I’ll let you upload your files online. I’ll make like a virtual Google drive that you can upload your stuff to, and whatever gets uploaded here, can be accessed by anyone. And if it happens to be HTML, it will be rendered as HTML. That’s what happens when I open an HTML file on my file system with Google Chrome or Firefox. What I described to you is basically how Neocities’ file system interface looks like to you.
Okay, enough with that. So, which hosting service should I use?
The List of Hosting Services
- Cloudflare pages
- Cost: Free
- Bandwidth per mo: ∞
- Domain suffix:
pages.dev - Difficulty: 5/10
- Tier: S
- Notes:
- Best paired with a custom domain
- Nekoweb
- Cost: Free
- Bandwidth per mo: ∞ but they might ask you to pay if it happens to be a lot
- Domain suffix:
nekoweb.org - Difficulty: 2/10
- Tier: A-
- Neocities
- Cost: Free
- Bandwidth per mo: 200GB
- Domain suffix:
neocities.org - Difficulty: 2/10
- Notes:
- Git integration is bad - you’ll need to know how to program well to get around it. It’s still possible, but you have to connect the nuts and bolts together.
- File extensions are limited. For example, WASM is not allowed.
- Tier: B
- GitHub pages
- Cost: Free
- Bandwidth per mo: 100GB per repo
- Domain suffix:
USERNAME.github.io/ REPO_NAME - Difficulty: 3.5/10
- Tier: A-
- Netlify
- Cost: Free
- Bandwidth per mo: 100GB
- Domain suffix:
netlify.app - Difficulty: 2/10
- Tier: B+
- Vercel
- Cost: Free
- Bandwidth per mo: 100GB
- Domain suffix:
vercel.app - Difficulty: 3.5/10
- Tier: B
Custom Domains
These cost money. But, they don’t have to be that expensive. If it’s uncommon, it costs you less than a dollar a month. Anyways, if you want a domain, just take this advice:
A registrar is a service that lets you buy domains. Treat them like brokers. I actually don’t know what they mean.
Please just use Cloudflare registrar
Since you’re using a custom domain, why not choose the best host? The domain suffix doesn’t matter beyond this point.
Cloudflare registrar always charges at the lowest price possible (they do not inflate prices). It also integrates very well with Cloudflare pages (so if you’re using Cloudflare, please use its registrar for the best stability). Other ones might give you a good first-year discount, and then hike their prices after your first year.
If you already bought a domain, you will be allowed to transfer it from one registrar to another, but only after 60 days since you bought it. Sorry, can’t change this rule, it’s universal.
WARNING: Make sure to NOT leak your personal information, including your address, when registering! Make sure you have Whois redaction. Cloudflare registrar will redact if it can, but only if the TLD (e.g. .com) permits so. For what I know, .cc, .com, and most “common” domains let you, but please double check. However, .us won’t, and if you register a domain with .us, your address might be visible on the WHOIS database. So please be c areful.
Oh, if you lose your domain due to your payment expiring someone might snatch it. It could be an automated service. Once you have a domain, commit to keeping it and don’t buy too many domains.