What is “the folder”?
This is the question that trips everyone up. Let’s settle it once and for all.
Two kinds of sites
Section titled “Two kinds of sites”1. The site is already “finished”
Section titled “1. The site is already “finished””Someone handed you a folder that already contains an index.html, some images, a .css file… Nothing to transform: that’s your folder. Go to A ready-made website.
How can you tell? Open the folder. If you see a file called index.html right inside it, you’ve got the right one.
2. The site has to be “built” first
Section titled “2. The site has to be “built” first”Modern tools (React, Vite, Next, Astro…) don’t keep the finished site lying around. They keep the working files, and create the finished site on demand. That step is called “building”. It produces a brand-new folder: the only one you upload.
The table that answers everything
Section titled “The table that answers everything”Depending on the tool, the finished folder has a different name:
| You (or your developer) use… | Command to build | Folder to upload | Guide |
|---|---|---|---|
| A ready-made HTML site | (none) | the folder itself | → |
| Vite (React, Vue, Svelte…) | npm run build | dist | → |
| Create React App | npm run build | build | → |
| Next.js (static export) | npm run build | out | → |
| Astro | npm run build | dist | → |
| Not sure | – | let’s figure it out | → |
The one rule that always works
Section titled “The one rule that always works”You upload the folder that has an
index.htmlright inside it. If thatindex.htmldoesn’t exist yet, the project needs to be built first.