To upload your website to a hosting account you need to copy your site's files to the public_html folder on the server. You can do this two ways: via FTP with a client like FileZilla, or directly through cPanel's File Manager. Both methods work equally well — the best choice depends on your situation.
This guide walks you through each method step by step so your site can go live today.
Before you start: what you need ready
Confirm these points before uploading anything:
- Site files ready on your computer: HTML, CSS, JavaScript, images, and any other assets.
- cPanel access — your hosting control panel (usually at
yourdomain.com/cpanelor:2083). - FTP credentials if you're using FileZilla: host, username, password, and port (usually 21). These are in your hosting welcome email or under FTP Accounts in cPanel.
- Domain pointing to your hosting — without this the site won't load even if the files are on the server.
Method 1: upload files with FileZilla (FTP)
FTP is the standard protocol for transferring files between your computer and the server. FileZilla is the most widely used free client and is available for Windows, Mac, and Linux.
Step 1 — Download and install FileZilla
Go to filezilla-project.org and download the Client version (not the Server version). Install it normally.
Step 2 — Connect to the server
Open FileZilla. In the Quickconnect bar at the top, enter:
- Host: your domain or server IP (e.g.
yourdomain.comor whatever your provider gave you). - Username: your FTP username.
- Password: your FTP password.
- Port:
21for standard FTP, or22if your hosting offers SFTP (more secure).
Click Quickconnect. If the credentials are correct you'll see the server's folder tree in the right panel.
Step 3 — Navigate to public_html
In the right panel (remote server) navigate to the public_html folder. This is your site's public root: any file here is accessible at yourdomain.com.
If you're publishing to a subdomain or subdirectory, navigate to the corresponding folder (e.g. public_html/blog).
Step 4 — Upload your files
In the left panel (your computer) navigate to the folder containing your site files. Select them all (Ctrl+A or Cmd+A) and drag them to the right panel, or right-click and choose Upload.
FileZilla will transfer each file. Speed depends on your connection and the total file size. When the queue at the bottom shows 0 pending files, the transfer is complete.
Step 5 — Verify in the browser
Open your browser and go to yourdomain.com. If your main file is named index.html or index.php, the site will load automatically.
Method 2: upload files from cPanel's File Manager
If you'd rather not install extra software, cPanel includes a browser-based file manager. It's ideal for quick uploads or editing a single file without opening FileZilla.
Step 1 — Open the File Manager
In cPanel, find the Files section and click File Manager. A window will open showing the server's directory tree.
Step 2 — Go to public_html and upload your files
Click the public_html folder in the sidebar. Then click Upload in the top toolbar. A drag-and-drop upload area will appear where you can drop your files or browse for them.
The File Manager has an upload size limit (usually 256 MB per upload). For larger sites with many images, it's faster to compress everything into a .zip file, upload it, and then extract it on the server using the Extract option in the file manager.
Step 3 — Adjust permissions if needed
Most HTML/CSS/JS files don't need permission changes. However, if your site uses PHP and some scripts need to write to disk (logs, uploads), make sure those folders have permissions set to 755 or 775. In the File Manager, right-click the folder and choose Change Permissions.
Common errors and how to fix them
These are the most frequent issues when uploading a site for the first time:
| Problem | Likely cause | Fix |
|---|---|---|
| Site shows "403 Forbidden" | No index.html or index.php file |
Make sure your main file is in public_html with exactly that name |
| Site won't load (timeout) | Domain not pointing to the hosting | Check the domain's DNS records; propagation can take up to 24 hours |
| FileZilla connection error | Incorrect host, username, or password | Copy credentials directly from cPanel → FTP Accounts |
| Images not loading | Incorrect relative paths in the HTML | Verify that paths in your HTML match the actual folder structure you uploaded |
For more tips on choosing and managing your hosting, elenlace.com has up-to-date guides and comparisons to help you make the right call.
You can also find more related articles in our hosting comparisons section.
Key takeaways
- Your site files must go inside
public_htmlto be accessible from the domain. - FTP with FileZilla is best for large sites or when you need to transfer many files at once.
- cPanel's File Manager is ideal for quick uploads and one-off edits without installing anything.
- For heavy sites, compressing to
.zipand extracting on the server is faster than uploading file by file. - If the site doesn't load after uploading, check DNS propagation first, then confirm
index.htmlorindex.phpexists inpublic_html.
Still looking for the right hosting for your site? Visit elenlace.com for detailed plan comparisons to help you find the perfect fit for your project.
FAQ
Do I need FTP to upload a website?
No. cPanel's File Manager lets you upload files directly from your browser with no extra software. FTP is more convenient for bulk uploads or advanced workflows, but it's not required.
What happens if I upload new files when there are already files in public_html?
New files are added alongside existing ones. If you upload a file with the same name as an existing one, it gets overwritten. Be careful when replacing configuration files like .htaccess or wp-config.php.
Can I upload a locally built WordPress site?
Yes, but in addition to uploading the files you also need to export your local database, create a new one in cPanel, import it there, and update wp-config.php with the new database credentials. You'll also need to update the site URLs in the database (using Search Replace DB or WP-CLI).
How long before the site is visible after uploading?
Once the files are in public_html and the domain is pointing to the server, the site is visible immediately for direct server connections. If you recently changed nameservers or DNS records, propagation can take anywhere from 30 minutes to 24 hours depending on the DNS provider and the TTL value configured.
Further reading
Other providers and guides worth comparing: