# Where to upload your website files
Source: https://docs.webgee.com/en/getting-started/where-should-i-upload-my-website-files



Upload your website files to &#x2A;*`public_html`**. Applies to shared, reseller and
Premium hosting.

## Your home directory [#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                                  |

<Callout type="warn">
  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.
</Callout>

## Where the homepage goes [#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 [#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 [#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](/en/hosting/using-filezilla-to-upload-files-via-sftp-ssh-or-ftps-ssl-tls).
* **SSH** — see [Connect over SSH](/en/development/connect-via-ssh).

## Check it worked [#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.html` or `index.php`.

## Permissions [#permissions]

Uploaded files usually have correct permissions already. If not, directories
should be `755` and files `644` — see
[File and directory permissions](/en/hosting/what-file-and-directory-permissions-should-i-use-for-my-web-files).

## Related [#related]

* [Manage files in cPanel](/en/hosting/how-to-manage-files-in-cpanel)
* [File and directory permissions](/en/hosting/what-file-and-directory-permissions-should-i-use-for-my-web-files)
