A definition that survives contact with real projects

Static hosting means the origin serves pre-built files. When a browser requests /about/, the server looks for a matching file or directory index and returns bytes. It does not run a framework process, query a database, or compile templates for that request. HTML may have been generated minutes or months earlier by Hugo, Eleventy, a Vite build, or a text editor. At request time, the work is already done.

That definition is narrower than “a website without a backend.” Many static sites call APIs, payment providers, or form endpoints in the browser. The *hosting* is still static: those calls leave the static origin and talk to other services. Confusing “static files” with “no JavaScript” or “no data” leads people to reject a fit that would have worked, or to expect server features that were never on offer.

StaticHost exists inside that narrow definition. Zip or GitHub ingest, HTTPS on a preview hostname immediately, certificates on custom domains after DNS verifies, deploy history with rollback. It does not run npm, Hugo, or Jekyll on your behalf. It does not offer cPanel, email, or a built-in CDN product. There is no forever-free plan—only a short trial of about a day—then paid tiers from Starter at $9/mo upward. The product is intentionally smaller than platforms that bolt on functions, identity, and edge workers.

What counts as a static site in practice

  • A folder of hand-written .html, .css, and .js files with images beside them.
  • The public/ directory from Hugo or Gatsby after a local build.
  • Vite, CRA, or Vue CLI production output under dist/ or build/.
  • MkDocs or Docusaurus export folders meant to be copied to any file host.
  • A Webflow or similar design-tool HTML export, if you accept maintaining that export yourself.

What does not count, on this platform: a Next.js app that needs next start, a SvelteKit deploy that requires an SSR adapter, WordPress, Laravel, or anything that must execute PHP or Node on each page view. For PHP or WordPress you need a different kind of host; StaticHost will not pretend otherwise.

How the server answers requests

On StaticHost, nginx behaves like a strict file server: try_files $uri $uri/ =404. If /pricing.html exists, you get it. If /pricing/ maps to a directory with index.html, you get that. Otherwise you get 404. There is no silent fallback to the site root index.html for unknown paths.

That behavior is correct for documentation sites, brochure pages, and SSG output where every URL is a real file. It is hostile to history-mode single-page apps that invent routes only in the client router. Those apps need hash routing (#/dashboard) or a build that emits an HTML file per route. Inventing a rewrite rule in a blog post would misrepresent the product; the constraint is real. Read host a single-page application before you ship a React or Vue SPA here.

Static hosting versus adjacent options

Compared with a VPS you manage yourself, static hosting removes OS patches, web-server config drift, and “why is port 80 closed” nights. You trade away shell access and the ability to run daemons. Compared with object storage plus a CDN you assemble by hand, you trade some DIY flexibility for a simpler deploy story aimed at sites rather than raw buckets. Compared with large JAMstack platforms that run builds and serverless functions for you, StaticHost stays file-oriented: bring your own CI if you want automation; the host stores and serves output. A longer shopping comparison sits in where to host a static website.

None of those comparisons make static hosting universally better. They clarify the job: durable, HTTPS-fronted file serving with reversible deploys.

Why people choose it anyway

Performance for small sites is dominated by payload size and latency to the origin, not by application frameworks. A 40 KB HTML page with compressed assets is fast on ordinary hosting when you are not rendering templates per hit. Operationally, the blast radius of a bad change is a file tree you can roll back. Security-wise, there is no WordPress admin to brute-force on this origin, and no database credentials on the box, because there is no database on the box.

Teams also choose static hosting for clarity. Designers export HTML. Writers commit Markdown and build docs locally. Frontend engineers attach a CDN-backed API elsewhere and keep the UI as static assets. Everyone reasons about the same artifact: a directory that must work when opened through a plain web server.

What you still have to own

Static hosting is not “no work.” You own the build toolchain versions, environment variables that get baked into the client bundle, image weight, accessibility, and whether URLs you advertise map to real files. You own DNS when you bring a custom domain. You own the decision to pay for a plan that matches site count and storage—Starter (1 site, 2 GB), Pro (3 sites, 10 GB, staging), Scale (10 sites, 30 GB), Business (30 sites, 100 GB, teams).

You also own honesty with stakeholders. If the brief requires server-rendered personalized HTML from private data on every request, static hosting is the wrong shape. If the brief is a public marketing site plus forms posted to a SaaS endpoint, it is usually the right one.

How StaticHost maps onto the definition

Upload a zip of the finished tree or connect GitHub to pull files you already built. Open the HTTPS preview without waiting on DNS. When you are ready, verify DNS for the custom hostname and receive a certificate after verification. If a deploy is bad, roll back through deploy history. That is the loop. No control panel for mailboxes, no promise that history-mode routes will magically exist, no remote build farm.

If you want a procedural walkthrough rather than a definition, continue with how to host a static website. If you are new to HTML folders entirely, HTML hosting for beginners starts from files on disk.

FAQ

Is a site with JavaScript still “static”?

Yes, if the host only serves files. Client-side JavaScript can fetch APIs elsewhere. The origin remains static.

Does static hosting include a CMS?

Not on the server. Headless CMS products can feed a build step that runs in your CI; the host still receives HTML and assets, not the CMS runtime.

Why do some platforms offer “SPA redirects”?

They rewrite missing paths to index.html so client routers can take over. StaticHost does not. Missing paths 404 unless you create files or use hash routes.

Is static hosting the same as JAMstack?

JAMstack is a broader architecture slogan (JavaScript, APIs, Markup). Static hosting is the file-serving piece. You can practice JAMstack patterns here without platform functions—see JAMstack hosting for beginners.

Can I host WordPress statically?

Only if you export a static snapshot and accept that dynamic WP features will not run on this origin. Running WordPress itself requires a PHP host.