A ZIP is a delivery format, not a website by itself. Browsers need extracted HTML, CSS, JavaScript, images, and fonts at public URLs. A ZIP-hosting workflow publishes those files in the right structure and gives them a live address.
What the archive should contain
Package the finished public site rather than the whole development project. A typical static archive contains index.html, an assets folder for CSS and JavaScript, and an images folder. index.html is the usual entry document for a directory URL. If it is buried inside folders, the server may not find the homepage.
index.html
assets/site.css
assets/app.js
images/logo.svg
images/hero.webp
Prepare the ZIP safely
- Build or copy finished browser files into a clean
publish,dist, orpublicfolder. - Open
index.htmllocally and check navigation, images, and the main call to action. - Remove
.envfiles, API keys, database exports, private notes,node_modules, and.git. - Compress the contents of the publish folder. Avoid an accidental
my-site/publish/index.htmlnesting. - Open the completed ZIP once. You should see
index.htmlimmediately, or one obvious top-level website folder.
Deploy, then test the actual site
Upload the archive, wait for the deployment result, and open the supplied URL in a private browser window. Test an internal page as well as the home page. In DevTools → Network, failed CSS, JavaScript, or images will be shown as 404 requests.
| Symptom | Likely cause | Fix |
|---|---|---|
| 404 at the homepage | index.html is missing or nested | Rebuild the archive with publish contents at its root. |
| Unstyled page | Wrong CSS path or filename case | Match the HTML URL to the exact archive path. |
| Works locally, not live | Local paths, source rather than build output, or server code | Use portable paths, publish generated files, and choose a compatible runtime for application code. |
Know when a static ZIP is not enough
HTML, CSS, browser JavaScript, images, and downloads are static assets. PHP, Node, Python, databases, and server-side sessions require a host that explicitly runs that technology. Never assume that uploading a ZIP enables a backend runtime.
Final checklist
index.htmlis at the published root.- Every asset is included and uses a portable URL.
- No credentials or private files are in the archive.
- The live home page and an internal page work.
- You retain the last working archive for a rollback.