ServerNeed — This Year's Best Offers For You

ServerNeed — More Than Hosting
Tutorials

How to Upload Website Files With File Manager or FTP

Upload your website to hosting with cPanel File Manager or an FTP client: where the files go, how to connect securely, setting permissions, and fixing the most common upload errors.

5 min read 1 view
Row of coloured folders standing upright
Table of Contents
  1. Where the files go
  2. Method 1: cPanel File Manager
  3. Method 2: FTP client (FileZilla)
  4. Step 3: Set permissions
  5. Step 4: Check the site
  6. Worked example: uploading a static site
  7. Keeping a local copy in sync
  8. Troubleshooting
  9. Frequently Asked Questions
  10. Related reading
  11. Sources

To upload a website to cPanel hosting, put the site's files in the document root of the domain, which is public_html for the main domain. For a handful of files or a single ZIP archive, use cPanel File Manager in your browser. For many files or regular uploads, use an FTP client such as FileZilla, preferably over SFTP or FTPS so your password and files are encrypted.

Where the files go

Domain Typical document root
Main domain public_html
Addon domain The folder chosen when the domain was added (shown in cPanel → Domains)
Subdomain Its own folder, also shown in cPanel → Domains

The home page file (index.html or index.php) must be directly inside the document root, not inside an extra subfolder. Remove any placeholder index.html the host added if your site uses index.php.

Method 1: cPanel File Manager

Best for: uploading a ZIP of the whole site, or a few files.

  1. Log in to cPanel and open Files → File Manager.
  2. Open public_html (or your domain's document root).
  3. Click Upload and select your files, or a ZIP archive of the site.
  4. For a ZIP: go back to the folder, right-click the archive and choose Extract.
  5. If the extraction created an extra folder (for example public_html/mysite/), move its contents up into public_html.
  6. Delete the ZIP afterwards.

To see hidden files such as .htaccess, click Settings and tick Show Hidden Files (dotfiles).

Method 2: FTP client (FileZilla)

Best for: many files, large sites, and repeated updates.

Create an FTP account (optional)

In cPanel → Files → FTP Accounts, create an account limited to the folder it needs. This avoids sharing your main cPanel password with developers. Delete accounts you no longer need.

Connect

In FileZilla's Site Manager, add a new site:

Setting Value
Protocol SFTP if your plan includes SSH access; otherwise FTP with "Require explicit FTP over TLS"
Host Your domain or the server hostname from your welcome email
Port 22 for SFTP (or the port your host specifies); 21 for FTP/FTPS
Logon type Normal (or Key file for SFTP keys)
User The FTP username (often [email protected]) or cPanel username
Password The account's password

Avoid plain, unencrypted FTP: it sends your password in clear text.

Upload

  1. In the right-hand (remote) pane, open public_html.
  2. In the left-hand (local) pane, open your site folder.
  3. Select the files and drag them to the remote pane.
  4. Check the transfer queue at the bottom for failed transfers and retry them.

Step 3: Set permissions

Typical safe values on cPanel hosting:

  • Files: 644
  • Folders: 755
  • Sensitive configuration files (such as wp-config.php): stricter where supported, for example 600 or 640

Never use 777. In File Manager, right-click → Change Permissions; in FileZilla, right-click → File permissions.

Step 4: Check the site

Visit your domain in a private browser window. If you see the host's default page, the files are in the wrong folder or the placeholder index.html is still there.

Worked example: uploading a static site

A designer hands over a finished static website as a folder containing index.html, about.html, contact.html, a css folder, a js folder and an images folder.

  1. On the computer, open the folder and select its contents (not the folder itself), then compress them into site.zip.
  2. In cPanel File Manager, open public_html and delete the host's placeholder index.html if it exists (after checking it is not something you need).
  3. Upload site.zip and extract it. index.html, css, js and images now sit directly in public_html.
  4. Delete site.zip.
  5. Visit the domain: the home page loads. Check that images and styles load; broken styles usually mean the paths in the HTML do not match the folder names (they are case-sensitive on Linux servers: Images and images are different).

Keeping a local copy in sync

When you edit files on your computer and upload changes regularly:

  • FileZilla's directory comparison highlights files that differ between local and remote.
  • Upload only changed files, and keep a dated copy of the previous version before overwriting important files.
  • For frequent updates, consider version control (Git) and a deployment process, which records every change and makes rollbacks easy.

Troubleshooting

Problem Fix
"Index of /" listing or default page Home page file missing from the document root, or files in a subfolder
403 Forbidden Permissions wrong, or no index file; see common hosting errors
500 error after upload Bad .htaccess or PHP error; check the error log
Upload fails for large files File size limit; use FTP or upload a ZIP in parts
FTP connection refused Wrong protocol or port, or IP blocked after failed logins; ask support
Disk quota exceeded Free space or upgrade the plan

Frequently Asked Questions

Should I use FTP or File Manager?

File Manager for quick, small uploads and ZIP extraction; SFTP for larger sites and regular work.

Do I need to upload a database too?

For dynamic sites (WordPress, Laravel), yes: create a database and import it. See how to create a MySQL database in cPanel.

For moving a complete site, see how to move a website to a new host without downtime. cPanel, with its File Manager, is included with the ServerNeed shared hosting plans.

For the fundamentals of where your files live, see what is web hosting.

Sources

Last updated 7 October 2026

View All Articles