How to Upload Files to Your Website Using FTP
Overview
FTP, or File Transfer Protocol, allows you to transfer files between your computer and your Have Freedom Hosting account.
FTP can be useful when you need to:
-
Upload website files.
-
Download files from your hosting account.
-
Replace or update existing website files.
-
Upload images, documents, or other website assets.
-
Transfer large numbers of files.
-
Manage website files without using cPanel's File Manager.
You can use an FTP application such as FileZilla to connect to your hosting account.
Security note: When supported by your hosting account and FTP application, use an encrypted connection such as SFTP or FTP over TLS (FTPS) rather than unencrypted FTP.
Before You Begin
You will need:
-
An active Have Freedom Hosting account.
-
Your cPanel or FTP account credentials.
-
An FTP application.
-
Your domain name or hosting server hostname.
-
The files you want to upload.
For most customers, FileZilla is a good choice because it is free and available for Windows, macOS, and Linux.
Understanding Your Website's Files
One of the most important things to understand before uploading files is where your website files belong.
For a primary domain, your website's document root will commonly be:
public_html
Files placed inside this directory are generally accessible through your primary website.
For example:
public_html/index.html
would normally be accessible as:
https://yourdomain.com/
A file such as:
public_html/about.html
would normally be accessible as:
https://yourdomain.com/about.html
Important: Do not upload your website files into your account's home directory unless you specifically know that is where they belong. Your website's document root is the location that matters.
Using FileZilla
1. Install FileZilla
Download and install FileZilla from the official FileZilla website.
After installation, open FileZilla.
2. Enter Your Connection Information
You can use FileZilla's Quickconnect fields or create a saved connection through the Site Manager.
Your exact settings may vary depending on the connection method supported by your account.
Typical information includes:
Host: Your hosting server hostname or FTP hostname
Username: Your FTP or cPanel username
Password: Your FTP or cPanel password
Port: The port required by your selected connection method
For encrypted connections, use the appropriate secure protocol offered by your hosting account.
Tip: If you are unsure which hostname or connection settings to use, check the FTP connection information provided by cPanel or contact Have Freedom Hosting Support.
Connecting to Your Hosting Account
After entering your connection information, click Connect.
If your credentials and connection settings are correct, FileZilla will display your computer's files on one side and your hosting account's files on the other.
Typically:
-
Left side: Your local computer
-
Right side: Your hosting account
You can navigate through the directories on either side.
Uploading Files
To upload files:
-
Locate the files on your computer using the left side of FileZilla.
-
Navigate to the directory where you want to upload them on the right side.
-
Select the files you want to upload.
-
Drag them from the left side to the right side.
-
Wait for the transfer to complete.
FileZilla will display the transfer status at the bottom of the application.
Do not close FileZilla until the transfers have completed.
Uploading an Entire Website
If you have an existing website that you want to upload:
-
Connect to your hosting account.
-
Open the website's document root.
-
Select the website files on your computer.
-
Upload the files to the document root.
-
Wait for all transfers to complete.
-
Visit your website and verify that everything works.
For a primary domain, the document root is commonly:
public_html
Make sure that your website's main file is located where your hosting account expects it.
For example:
public_html/index.html
or:
public_html/index.php
Uploading a Folder
You can upload an entire folder by dragging it into the appropriate location on the server.
However, pay attention to the resulting directory structure.
For example, if you upload:
mywebsite/index.html
into:
public_html/
you may end up with:
public_html/mywebsite/index.html
Your website would then be located at:
https://yourdomain.com/mywebsite/
If you intended for index.html to be the main page of your website, you would instead want:
public_html/index.html
Replacing Existing Files
FTP can also be used to update files that already exist on your website.
When uploading a file with the same name as an existing file, FileZilla may ask whether you want to overwrite the existing file.
Before replacing a file:
-
Make sure you are uploading the correct file.
-
Consider keeping a backup of the existing version.
-
Verify that you are working in the correct directory.
Overwriting an important file can cause your website to stop working.
Downloading Files From Your Hosting Account
You can also use FTP to download files from your hosting account.
-
Navigate to the desired file on the server.
-
Select the file or folder.
-
Drag it from the server side to your computer.
-
Wait for the transfer to complete.
This can be useful for creating a local copy of website files or retrieving files for editing.
Important: Downloading your website files is not the same as creating a complete website backup. Databases, email, configuration, and other account data may not be included.
FTP vs. SFTP
Although the names are similar, FTP and SFTP are different technologies.
FTP
FTP stands for File Transfer Protocol.
Traditional FTP does not encrypt your login credentials or transferred data.
For this reason, plain FTP should generally be avoided when a secure alternative is available.
SFTP
SFTP stands for SSH File Transfer Protocol.
SFTP operates through SSH and encrypts the connection.
If SFTP is available for your account, it is generally preferable to unencrypted FTP.
FTPS
FTPS is FTP combined with TLS encryption.
Some applications and hosting environments support FTPS as an alternative to SFTP.
Your available connection methods depend on your hosting configuration.
File Permissions
Linux hosting accounts use file and directory permissions to determine who can read, write, or execute files.
In most cases, you should not change file permissions unless you know why they need to be changed.
Incorrect permissions can cause:
-
Websites to stop working.
-
Files to become inaccessible.
-
Security problems.
-
Application errors.
If an application or support article tells you to change permissions, follow the specific instructions provided.
Common FTP Problems
Connection Timed Out
A timeout can be caused by:
-
Incorrect hostname.
-
Incorrect port.
-
Firewall restrictions.
-
Incorrect connection mode.
-
Temporary network problems.
-
Server-side restrictions.
Verify your connection settings and try again.
Authentication Failed
If FileZilla reports that authentication failed:
-
Verify your username.
-
Verify your password.
-
Make sure you are connecting to the correct server.
-
Check whether you are using the correct FTP account.
-
Make sure the account has not been disabled.
If you recently changed your cPanel password, you may need to update the saved credentials in FileZilla.
I Connected but Cannot Find My Website
Make sure you are in the correct directory.
For many primary domains, website files are located under:
public_html
If you are managing an addon domain or subdomain, its document root may be different.
You can check the document root for domains through cPanel's domain management tools.
My Website Shows a Directory Listing
If visiting your website displays a list of files instead of your website, check whether your document root contains a valid index file.
Common index filenames include:
index.html
index.php
Some applications use a different entry point.
My Website Shows a 403 Error
A 403 error generally means the server is refusing access to the requested resource.
Possible causes include:
-
Incorrect file permissions.
-
Incorrect directory permissions.
-
Missing index file.
-
Security rules.
-
.htaccessconfiguration. -
Server configuration.
Do not randomly change permissions or configuration files in an attempt to fix the problem.
If you aren't sure what is causing the error, contact support.
My Website Shows a 404 Error
A 404 error means the requested resource could not be found.
Check:
-
The file exists.
-
The filename is spelled correctly.
-
The file is in the correct directory.
-
The URL matches the file's location.
-
Uppercase and lowercase letters match.
Linux hosting systems are generally case-sensitive.
For example:
About.html
and:
about.html
may be treated as different files.
Files Are Not Appearing After Uploading
If your files uploaded successfully but you cannot see them:
-
Refresh the directory in FileZilla.
-
Verify that you uploaded them to the correct location.
-
Confirm that the transfer completed successfully.
-
Check the file's name and extension.
-
Verify that your website is using the directory where you uploaded the files.
Important File Upload Tips
Keep backups
Before replacing important website files, keep a copy of the original whenever possible.
Don't upload passwords or secrets
Do not upload files containing passwords, API keys, database credentials, or other sensitive information unless the application specifically requires them and they are properly protected.
Be careful with configuration files
Files such as:
.htaccess
wp-config.php
and application configuration files can affect how your website operates.
Make a backup before modifying them.
Don't delete files you don't recognize
If you find unfamiliar files in your hosting account, do not immediately delete them.
They may belong to your hosting environment or an application you installed.
If you suspect malware or unauthorized access, contact Have Freedom Hosting Support.
Need Help?
If you are unable to connect to your hosting account or upload your website files, contact Have Freedom Hosting Support.
When contacting support, provide:
-
The FTP application you are using.
-
The connection method you selected.
-
The hostname you are connecting to.
-
The exact error message.
-
Whether you can access cPanel.
-
A screenshot of the error, if applicable.
Never include your account password in a support ticket.