Uploading an HTML website is less mysterious than hosting ads make it sound. You already have pages on your computer. You put them in a zip, send that zip to a host, check a private HTTPS link, then attach your real domain when the page looks right. This walkthrough is a numbered procedure — what to do, what to skip, and what “done” actually looks like when the files are live.
Gather the pages before you touch a host
Open the folder that holds your site. You should see index.html at the top level, plus CSS, images, and maybe JavaScript. If you only have a Google Doc, PDF flyer, or Figma file, stop and export or ask your designer for web files. Hosting cannot invent HTML from a conversation.
Skip buying a VPS, installing Linux, hunting for cPanel, or installing WordPress “just in case.” Those paths solve different jobs. For a finished HTML brochure or waitlist page, file upload is enough. SiteHost accepts a zip or GitHub connection, shows HTTPS preview immediately, and lets you attach a domain after DNS verifies.
Zip so the homepage sits at the root
- Confirm
index.htmlis directly inside the folder you intend to publish — not one folder deeper. - Compress that folder (or select the files inside and compress the selection).
- Extract the zip into an empty temporary folder. If you immediately see
index.html, you are ready. If you see one nested folder first, re-zip the inner contents. - Name the archive something recognizable (
waitlist-2026-03.zip).
Nested zips are the top reason first publishes 404. Open index.html from the extract; if styles fail offline, fix paths before upload.
Create the site and upload on SiteHost
- Sign up and start the short trial (about a day). There is no forever-free plan after that.
- Create a new website in the dashboard.
- Upload your zip, or connect GitHub if the repo holds publishable files at a clear root.
- Open the HTTPS preview and click every important link on phone and desktop.
- Fix locally and publish again — or roll back if the new publish is worse.
Starter is $9/mo for 1 site and 2 GB. Pro is $30/mo for 3 sites, 10 GB, and staging. Scale is $65/mo. Business is $130/mo when teams and larger site counts matter. The trial lasts about a day; then you pay. There is no forever-free plan, no website builder, no cPanel, no email hosting, and no built-in CDN.
What “done” looks like before a custom domain
“Done” for upload is not “friends can type your brand name yet.” Done means the HTTPS preview loads without a 404, CSS and images appear, links work on phone and desktop, forms or waitlist embeds open the third-party tool you intended, and you could roll back if needed.
Only after that checklist do you point DNS. Certificate for your domain follows successful verification. Keep the order: files → preview → domain. Rushing the name onto a broken zip makes packaging errors look like DNS failures.
Waitlist page: Maya’s launch story
Maya’s startup needs a single waitlist: logo, one paragraph, email field via a form service, and a soft launch date. Her designer hands over a zip. Maya uploads on Starter during the trial, opens preview on her phone, and notices the button color is wrong. She edits CSS locally, re-zips, publishes again, and keeps the first publish in history. She shares preview with cofounders privately. Nobody gets the custom domain until copy is approved. When they finally point DNS, investors see the brand name, not a temporary path.
Related reading: how to publish a static website, simple static website hosting, and best static hosting for html websites.
Extra care on launch week
Write one internal note: who may upload, where dated zips live, and which URL is public. Keep MX records untouched while you only meant to publish HTML. Compress images so Starter’s 2 GB stays boring. If someone wants forever-free hosting for a client waitlist, explain sleeping free tiers and branded URLs — then compare that chaos to a clear $9 invoice.
What to skip on purpose
Skip forever-free hosts that sleep projects or slap their brand on your URL if you need something client-ready. Skip email-in-the-same-box assumptions. Skip “unlimited storage” marketing; SiteHost states real numbers. Skip WordPress wizards when you already have HTML. Skip fighting DNS on day one while the zip still 404s. A calm upload day looks boring: verified zip, clean preview, one or two republishes, then DNS when humans agree. That boredom is success.
The mistake of treating a free URL like a domain you own
Free preview URLs and complimentary subdomains feel finished because they load in a browser. They are not a domain you own. You cannot rely on them for packaging, SEO stability, or year-long customer memory. When Maya almost printed the preview link on meetup stickers, a cofounder stopped her: the brand name had to be a domain they registered and pointed themselves. Hosting preview is for private QA with people you choose. Ownership starts at a registrar name you point with DNS after SiteHost verifies the records and the certificate on that name looks right. Marketing the free URL creates a second migration: every sticker, PDF, and bio must change later. Keep the phases separate on purpose.
Questions people actually ask
Do I need to know FTP?
No. SiteHost expects a zip upload or a GitHub connection. You do not need an FTP client or cPanel file manager.
Can I upload only changed files?
You publish a full zip or repo snapshot that replaces the site’s files. Keep dated archives locally. Rollback covers a bad publish.
When should I buy the domain?
Anytime — but point DNS only after preview looks right. Buying early is fine; rushing DNS on a broken zip is not.
Is the trial long enough?
About a day is enough to prove upload and preview. Then choose a paid plan. There is no forever-free tier.