Where to upload your website files
Website files go in public_html. What the other folders in your home directory are, and why uploading to the wrong one is the usual first mistake.
Upload your website files to public_html. Applies to shared, reseller and
Premium hosting.
Your home directory
When you connect by FTP, SFTP or SSH you land in your home directory, not your website. It contains:
| Path | What it is |
|---|---|
public_html/ | Your main website. Anything here is served to visitors |
mail/ | Mailbox storage. Do not modify by hand |
logs/ | Access and error logs |
tmp/ | Temporary files and analytics data |
etc/, ssl/ | Account configuration. Leave alone |
.bash_logout, .bashrc | Shell configuration files |
Files placed in the home directory rather than public_html are not served
to visitors — and are not private either. Uploading a site one level too high
is the most common reason a new site shows a directory listing or a default
page instead of itself.
Where the homepage goes
Your homepage must be public_html/index.html or public_html/index.php. Those
filenames are what the web server looks for; home.html or Index.html will not
be served automatically.
Addon domains and subdomains
Each gets its own directory, created when you add it — typically
public_html/example.com or a folder you choose. Check the document root
shown under cPanel → Domains; that is the authoritative answer for a given
domain.
How to upload
- File Manager in cPanel — best for a zip you extract on the server, which is far faster than transferring thousands of small files.
- FTP or SFTP — see Upload files with FileZilla.
- SSH — see Connect over SSH.
Check it worked
Visit your domain. If you see a directory listing or a placeholder page:
- The files are one level too high. Move them into
public_html. - They are one level too deep —
public_html/mysite/index.html. Move the contents up. - The homepage is misnamed. Rename it to
index.htmlorindex.php.
Permissions
Uploaded files usually have correct permissions already. If not, directories
should be 755 and files 644 — see
File and directory permissions.
Related
A tour of cPanel
What each section of cPanel contains, which tools you will actually use, and how to read the resource limits in the sidebar.
How many sites can one account host
There is no fixed limit on domains per cPanel account. What actually constrains you is resources, and when to split across accounts instead.