1. Determine whether the project is actually static
Look for the production output, not the source repository. Framework projects may require a build step but still produce a static dist/build folder. Others require a Node server at runtime and are not static.
- Static: browser receives HTML/CSS/JS/assets and no application server is required.
- Static build: Node may be needed during development/build, but not on the hosting server after export.
- Server-rendered/API-backed app: requires a runtime or external backend and must be evaluated separately.
2. Build before uploading when required
Run the project’s production build locally or in its normal build environment. Upload the generated output folder rather than source tooling, caches and development dependencies.
- Verify the build succeeds with production environment variables.
- Do not upload .env files containing secrets to the public web path.
- Confirm asset URLs work when served from the final domain path.
3. Upload to the domain root
Use GreatHosts CP File Manager to upload or drag and drop the production files. For a normal domain the web path is under /home/www/domain.com. The public folder should contain the site entry point such as index.html.
4. Handle single-page applications carefully
A client-side router may require fallback routing so unknown paths return the application shell rather than a server 404. Apply rewrite rules only when the framework requires them, and test direct navigation to nested routes.
5. Keep APIs and secrets out of the browser
Any key embedded in front-end JavaScript is visible to visitors. Use public client keys only where the upstream service explicitly designs them for browser use. Private API credentials require a server-side component or external backend.
6. Add the domain and HTTPS
Point DNS to the hosting service, wait for propagation, then enable HTTPS. Test both the root page and deep links. Free Let’s Encrypt applies to qualifying domains ordered through GreatHosts.
7. Optimize what visitors actually download
Static hosting is fast when assets are small and cacheable. Compress large images, avoid shipping unused JavaScript, use responsive image sizes and remove development source maps if they expose information you do not want public.
Common questions
Do I need Node.js hosting for a React/Vue/Vite site?
Not necessarily. If the project builds to static files that run entirely in the browser, the production server does not need Node.js. A server-rendered Node application is different.
Can I upload a ZIP?
Yes. GreatHosts CP supports visual file management and archive-based workflows.
Is shared hosting enough?
For a normal static or client-side site, usually yes. The workload is primarily file delivery unless the project also uses server-side components.