Start from files, not from a product tour
Putting an HTML website online is a file logistics problem. You already have (or can create) documents the browser understands. The job is to place them on a host that answers HTTPS requests with those exact files. This checklist assumes you are not asking the host to compile frameworks for you—StaticHost will not—and that you are comfortable opening a folder and inspecting what is inside.
Print this mentally as a sequence. Skip a step and you usually get a blank root, broken CSS, or a custom domain that still shows the old host.
Checklist: local readiness
- [ ] You have a single folder that represents the site root.
- [ ] That folder contains
index.htmlat the top level (not only inside a subfolder named after the project). - [ ] Opening
index.htmlin a browser shows the layout you expect, even if some absolute paths behave differently than on a real host. - [ ] CSS and JS are referenced with paths that will work from
/—prefercss/site.cssor/css/site.cssover accidental../../escapes. - [ ] Images and fonts used on the home page exist on disk at the referenced paths.
- [ ] You are not relying on a local Live Server plugin behavior that rewrites routes; StaticHost will not.
- [ ] If the site is a built SPA, you have read host a single-page application and accepted hash routing or per-route files. History-mode deep links 404 here (
try_files $uri $uri/ =404).
If any box is unchecked, fix the folder first. Hosting amplifies structure; it does not repair it.
Checklist: package for upload
- [ ] Decide zip versus GitHub. Zip is fine for a personal HTML site you edit occasionally. GitHub fits when the repo (or a branch) already holds the files you want served—remember: no remote
npm cion StaticHost. See git deploy a static site. - [ ] For zip: select the *contents* of the site root so
index.htmlsits at the archive root. A classic failure is zipping the parent so extraction yieldsmy-site/index.htmland/404s. Remediation: zip a static site without 404. - [ ] Exclude junk:
.DS_Store, editor swap files, private notes,.envfiles that somehow landed next to HTML. - [ ] Note the approximate size. Starter includes 2 GB; larger media libraries may need Pro (10 GB) or above.
Checklist: create the hosted site
- [ ] Create an account and pick a plan. Starter ($9/mo) is one site and 2 GB. Pro ($30) adds staging and three sites. Scale ($65) covers ten sites and 30 GB. Business ($130) covers thirty sites, 100 GB, and teams. There is a short trial (~1 day), not a forever-free tier.
- [ ] Create a new site and upload the zip or connect the repository that contains the built HTML.
- [ ] Open the HTTPS preview URL as soon as the deploy finishes. TLS on preview does not wait for your DNS.
- [ ] Hard-refresh. Confirm CSS loads (View Source / Network tab). Confirm favicon and one interior page if you have multiple HTML files.
- [ ] If you use multiple HTML pages (
about.html,contact.html), click each link once on the preview hostname.
Broken relative links that “worked on my desktop” usually show up in this pass. Fix locally, re-zip, redeploy. Use deploy history to roll back if the new zip is worse.
Checklist: custom domain (optional but common)
- [ ] Decide the hostname (
example.comand/orwww). - [ ] In the StaticHost dashboard, add the domain and copy the DNS records it asks for.
- [ ] At your DNS provider, create those records. Wait for propagation.
- [ ] After StaticHost verifies DNS, wait for the certificate to issue for that hostname. Do not announce the custom URL as “live on HTTPS” before that completes.
- [ ] Re-test the same pages on the custom hostname. Fix mixed content if any asset still points at
http://. Guide: static hosting with free SSL.
Fuller DNS narrative: HTML website with custom domain and static hosting with a custom domain.
Checklist: what not to expect
- [ ] Do not look for cPanel, mailbox setup, or PHP
.htaccesstricks. They are not part of this product. - [ ] Do not expect a built-in global CDN product; optimize file weight and caching headers expectations realistically—fast static site hosting.
- [ ] Do not upload a WordPress tree and hope. WordPress needs a PHP host; say that out loud to anyone asking you to “just put the WP zip here.”
A minimal example tree
site/
index.html
about.html
css/site.css
js/main.js
images/hero.webp
Zip so that index.html is at the root of the archive. After deploy, https://preview…/ serves index.html, and https://preview…/about.html serves the second page. Directories with their own index.html work as folder URLs; invented SPA paths without files do not.
When the checklist is done
You have an HTML website online: files on disk, HTTPS preview, optional custom domain with a verified certificate, and rollback via deploy history. Maintenance is editing files, rebuilding if you use a generator, and uploading again. That is the entire loop for how to publish HTML CSS JavaScript files as well—this checklist is the HTML-first path into the same system.
If you outgrow a single brochure and need staging or more sites, upgrade the plan rather than overloading one project. If you need server-side sessions or a database-backed CMS, stop and read when static hosting is the wrong choice before forcing the architecture.
FAQ
Can I edit HTML on the server through a browser IDE?
StaticHost is oriented around zip or GitHub deploys of a full tree, not long cPanel-style file managers as the primary workflow. Edit locally, then publish.
Why does my CSS work locally but not on the preview URL?
Almost always a path or nesting issue: wrong relative URL, or the zip contained an extra top-level folder. Inspect the preview with the browser network panel and compare to your local tree.
Do I need Git to put HTML online?
No. Zip upload is enough. Git helps when you want history and repeatable deploys from a repo that already contains the files to serve.
Is one HTML file enough?
Yes. Many personal and campaign pages are a single index.html plus assets. See also host a personal HTML website.
What happens after the short trial?
Choose a paid plan (Starter upward) to keep the site online. There is no forever-free hosting tier on StaticHost.