FTP stands for “file transfer protocol” and it’s a way to transfer files. Most people will use FTP to upload files to their website.
Your website sits on a server, which is really just another computer that’s probably built a little differently than the computer you’re using. It’s tougher. It’s more powerful and it might have redundant network connections, redundant drives (hard drives or solid state drives (SSD)) and more memory. There are usually a lot of processors, too, but it’s essentially just another computer sitting at a website host where it’s public accessible. It’s running a program (app) called a web server, which makes it possible to run websites – along with a database server as well.
For FTP to work, you need to make a connection to that server, which means you need a username and password but I’ll get to that in a few minutes.
Some people try to use their web browser to do FTP but really the best way is to run FTP software. This software will work pretty much like Windows Explorer on Windows or Finder on a Mac.
Here are some popular FTP programs available for Mac/OSX and PC/Windows:
- WS FTP (Windows)
- SmartFTP (Windows)
- FreeFTP (Windows)
- WinSCP (Windows)
- FileZilla (Windows and Mac)
- Classic FTP (Windows and Mac)
- Cyberduck (Mac)
- Transmit (Mac)
Most people like using FileZilla because it’s free and there are versions for Windows and Mac. That’s the one I suggest and I’ll show you how to use FileZilla here.
Download and Install
You’ll first need to download and install it on your computer if you haven’t done that yet. I won’t go through that process.
Next, start it up and you’re presented with a blank looking screen. Here, you can start your connection and we’ll do that in a minute.
Get Your FTP Account Info
In order to make the connection, you need to get a few things from your website host:
- host name
- port (optional… sort of)
- remote path (optional)
The host name is the server name. There’s no “http://” in front of it. It should just be a host name by itself and it’ll look something like this:
The username might be one word or it might look like an email address.
The password is just a password – hopefully, it’s a good, strong one that’s more than 8 characters.
With the port, the default is 22 but that might not be secure, so you might use a different port.
The remote path is kind of like a map to the folder where the website is. It’s optional because if you don’t know it, it’s usually pretty easy to find. I’ll sometimes set this if it’s for a website I use often so that when I login, I go right the files I need – it saves a few clicks and a few clicks every time I do it can add up.
Secure or Not Secure?
You most definitely want to use a secure connection if that’s possible. Most website hosts have this. If you don’t, then your username and password are sent “in the clear” which means anyone between your computer and your host can intercept that information and have access to your website. That means you might get hacked and that’s not good.
There are 2 kinds of secure FTP:
I think they did that just to make it confusing. Nerds! 🙂
- SFTP is an SSH connection
- FTPS is FTP over SSL
Sorry for all the jargon but the point is, they’re both secure. You just need to know which one your host supports. They might support both. The FTP program we’re using does support both, which is good.
Make the Connection
Since you’ll probably want to connect to your website again in the future, what you want to do in FileZilla is use the Site Manager, which is like bookmarks or a phone book of your connections. That way, you don’t have to find and re-enter this information every time.
Find the File Manager button:
Click it and you’ll get the File Manager.
Click the “New Site” button and you’ll get some fields on the right:
Next, fill in the Host, User and Password. Make sure the Logon Type pulldown is set to Normal:
Next, look at the Encryption pull down:
If you’re using plain FTP (not secure), then select that option. If you’re using secure, then choose one of those options. You may need to try all of them but the one that usually works is the first one, “Use explicit FTP over TLS if available.” In that case, the port should still be 21, so the port can be blank since 21 is the default port.
If you’re using SSH or SFTP, then you may use port 22 or it might be a different port number. Again, your website host will give you these settings. If you don’t have it, just ask them. It might be in the initial emails you received from them when you signed up for your website hosting account.
Next, hit the “Connect” button and see if it works.
If you’re going secure and you get a notice about the certificate being unknown, then don’t worry about it and just click the “OK” button since it’s probably fine.
If the connection was successful, you should see a message like this at the top:
Also, a list of folders should show up on the right side where it says “Remote Site” – like this:
If the connection didn’t work, then click on the Site Manager button again and check all your settings – put them in again. Make sure you’re copying and pasting usernames and passwords so that you don’t enter a typo because that won’t work.
If you’ve done that and it still won’t work, then check the following:
- You have an Internet connection
- You’re not behind a firewall that is blocking FTP connections
- Check with your website host to make sure you have the correct information
Now that you’re connected, you can transfer files. The easiest way is to drag and drop them. You can browse your computer (they call this “Local site”) or drag files from your desktop or a file manager window.
Resources / Videos
Here are some additional resources that may help: