Choosing a GitHub Pages alternative

The hosting is not the hard part. The account, the repository and the commit are, and they exist for reasons that may not apply to you.

GitHub Pages is free, reliable and well made. Whether it fits depends almost entirely on whether you were already going to use a repository.

Two publishing paths side by side, one through a repository and one from a file.
Two publishing paths side by side, one through a repository and one from a file.

This guide covers what Pages is good at, where the overhead lands, and how to compare alternatives honestly.

What it is good at

If the work lives in a repository, Pages is close to ideal.

Publishing is a push you were making anyway. Version history comes for free, so every change is recorded and reversible. Custom domains are included. It does not expire. It costs nothing.

For a documentation site, a project page, or anything a developer maintains, there is little reason to look elsewhere.

Where the overhead lands

For one file, the picture changes.

Create an account. Create a repository. Learn enough of the tooling to commit. Find the setting that turns publishing on. Wait for the build.

Each of those exists for a good reason and none of them are about hosting a page. They are the cost of a version control system, which is excellent to have when you need it and pure overhead when you do not.

Someone with an exported report, a brochure or a page produced in an afternoon is paying a project's setup cost to publish one file.

Already in a repository One file, no version control
Steps to publish Push Account, repo, commit, setting
Version history Valuable Not needed
Time to first link Seconds Half an hour
Correcting a typo Push Commit and wait
Custom domain Included Included

The build delay

Changes appear after a build, usually within a minute or two and occasionally longer.

For a site that is fine. For the specific situation of correcting something while a client has the link open, it is long enough to be uncomfortable, and you have no way to know whether they are looking at the old version.

This matters more than it sounds during the back-and-forth of getting something approved.

A copy per person ✗ Each edit lives on one machine ✗ No way to merge the changes ✗ Nobody can say which is current ✗ The oldest copy keeps circulating One address ✓ Everyone opens the same page ✓ A correction is seen by all ✓ There is only one current version ✓ Forwarding shares the page, not a copy
The same document as a file and at an address, a revision later.

Public by default

On the free tier, published pages are public and findable.

For open work, that is correct and useful. For a client quote, a candidate profile, an internal report, or anything that should not turn up in search, it is the wrong tool and no configuration fixes it.

This rules Pages out for a whole category of document sharing, and it is worth checking before building a workflow on it.

A build indicator running after a correction, with the old page still live.
A build indicator running after a correction, with the old page still live.

How to compare honestly

Feature lists are not the comparison. Count the steps between having a file and having a link someone can open.

For a developer with the repository already open, Pages is one step. For someone holding a single file, it is five, and any service that takes an upload and returns an address is one.

Neither is better in general. They are answers to different questions, and most of the frustration in this area comes from using the developer answer for the non-developer question.

Use your own domain either way

Whatever you choose, put your own domain in front of it.

That is the part that survives changing your mind. Move from one service to another and every existing link keeps working, because the address never belonged to the provider.

Two neighbouring cases are worth a look: Choosing a Tiiny Host alternative and Choosing a Netlify alternative. Producing print-ready documents without a subscription is also close.

Put it at an address

Check whether the work is already in a repository, count the steps from file to link, confirm whether it needs to be private, weigh the build delay against how often you correct things, and own the domain regardless.

Then the tool matches the job rather than the other way round.

Questions people ask

What is GitHub Pages genuinely good at?

Anything already in a repository. Free, reliable, custom domains included, and publishing is a push you were going to do anyway. For a developer it is close to ideal.

Why is it awkward for a single file?

Because publishing requires an account, a repository, a commit and a settings change. That overhead is proportionate for a project and disproportionate for one page.

How quickly do changes appear?

Usually within a minute or two, sometimes longer. Fine for a site, noticeable when you are correcting a typo on something a client is looking at right now.

Is anything private on it?

On the free tier, published pages are public. If a document should not be findable, this is not the right place for it.

What should I use instead for one page?

Something that takes a file and returns an address. The right comparison is not features but how many steps stand between having the file and having the link.

Keep reading