FTP stands for “File Transfer Protocol,” and it’s one of the oldest protocols on the Internet. The first FTP clients were command-line interfaces since they existed before graphical computer desktops were common. Indeed, command-line interfaces for FTP and other legacy Internet protocols like IRC are still used today.
The file transfer method most users are more familiar with is uploading or downloading files through a web browser. This method uses HTTP methods called “POST” and “GET” respectively. For instance, when you create a Twitter profile and upload a new image to use as your avatar, that was sent using a “POST” request to the Twitter website.
FTP is a faster and more efficient method of transferring files. It is typically deployed in scenarios where large volumes of files need to be handled. We’re going to look at Filezilla, a modern FTP client. Using Filezilla is the same as using a command-line FTP client, but with the commands running behind a user-friendly interface. If you’re not using Filezilla, most alternative FTP clients work similarly, so you should be able to follow along.
Filezilla is a free, open-source application that runs on all major platforms and is available for download from the project site. You need the client only, not the server. Run the download to install it on your local system.
On opening Filezilla for the first time, you’ll see four text fields at the top of the window. They are “host,” “username,” “password,” and “port.” The host is the name of your website domain for the site you intend to access. The username and password have to be set up on your website previously through the CPanel interface. “Port” will fill in all by itself, but FTP typically uses port 20 or 21.
Filezilla will remember these fields if you click the File menu and select “Copy current connection to Site Manager.” That way, once you’ve successfully connected, you don’t have to enter the same fields again on subsequent uses.
The Filezilla interface will show directories on both your home computer and the remote website’s server in a directory tree structure. To move files between the two, all you have to do is drag and drop them.
In most scenarios, your WordPress files will be located on the public HTML folder (named something like “public_html”) in several sub-folders called “wp-content,” “wp-admin,” and “wp-includes,” or other directories with a “wp-” prefix. It is the home location of WordPress, where it installs by default. Things like WordPress themes and plugins will be under “wp-content.” As an example, if you downloaded a WordPress theme, you can install it by using Filezilla to drag the theme folder into your website folder in the path “public_html → wp-content → themes.”
There’s also a Filezilla tutorial in case you get stuck.
Why use FTP?
FTP is an improvement over HTTP in several ways:
- More secure connection
- More efficient for transferring large files or batches of files
- Requires a password to access
- A record of the file transfer is saved in the host’s log files
One problem with uploading files into WordPress directly using the dashboard is that you have no recovery should something break WordPress. If your dashboard is compromised through damage, crash, hacking, or another mishap, you’re out of luck trying to fix it when you depend on a running install to correct the problem. FTP gives you emergency access that doesn’t depend on having a functional web page with live code running.
But for everyday use, Filezilla is still more convenient once you get the hang of it. One caveat, however, is that Filezilla doesn’t have a method to unzip files directly. Zipping files is a common way of transporting large directories of files over FTP. You can still upload a zip file using Filezilla, and then log into your website CPanel and use its file manager to unzip the file there.
About that name
The name “Filezilla” is a reference to the Mozilla web browser, originally the open-source port of Netscape navigator, and eventually the precursor to the web browser we now know as Firefox. It, in turn, was named after the popular Japanese film monster “Godzilla.” Appending “Zilla” to a name is a common trope in open source development.