Fewer tools simplify web management like your FTP client, and for a while there, FTP familiarity was a skillset. Today, it's fundamental. I believe this is the first usage document I ever created, and it has been used and re-used in various forms over the years.
This guide explains how to connect to a site using an FTP client and, once connected, how to edit and transfer files. The client used in this guide is Filezilla, but since most popular FTP clients have similar interfaces, users may find the guidance below helpful with other clients.
This guide covers:
FTP Basics
FTP Clients
Connecting via FTP
Transferring files
Creating local directories
File Transfer Protocol, FTP, is an easy method of moving files to and from a server and provides greater file management flexibility than most uploaders.
FTP transfers can be accomplished in three ways:
FTP clients – Applications specifically designed to conduct file transfers.
Command line FTP (Advanced) – Remotely connecting to a server and issuing commands from your computer’s command line. Requires knowledge of the WordPress command line interface, wp-cli.
Browser FTP – Connecting to a server and managing files over the internet. Speed, reliability and other limitations makes browser FTP the least efficient method.
This guide specifically covers using FTP clients, and does not explore command line FTP or browser FTP.
FTP, alone, is not a secure method of transferring data, so most hosts use a variety of encryption tools and security protocols to protect FTP transfers. If you’re concerned about file security, consult your provider for details of how they secure your file transfers.
FTP clients are the most popular method of transferring files because they are not difficult to use, require no advanced technical knowledge and are not hindered by the limitations built-in to most uploaders.
With an FTP client you can:
Create, add and remove site files (plugins, themes, php, etc.) and directories without ever logging in to the site.
Bypass limitations regarding upload size or type.
More easily maintain local copies of site files.
Organize and schedule file transfers, facilitating regular, even large-scale content updates.
In addition to transferring files, FTP clients can also be used to create or edit files, although most do not have exceptional editors built-in. If you integrate a quality code editor with your FTP client, however, it becomes a useful tool for creating or modifying files and quickly making those changes live.
Any popular FTP client will provide all the file transfer functionality most users need. That said, there are a couple of factors to consider:
Operating System – Some clients, like Filezilla, work with PC, Mac and Linux systems, while other clients only work with a single operating system. Be sure to choose an FTP client that works with your OS.
Skill set – Some clients offer advanced features that most users do not require. Advanced users should compare clients to determine what advanced features they support.
Cost – There are several very good free and open source FTP clients, and there are paid products offering additional security or administrative features. You can pay for an FTP client if you wish, but it is not necessary.
The following are links to some popular FTP clients:
Filezilla – Supports PC, Mac, Linux
Cyberduck – PC, Mac only
Forklift – Mac only
Transmit – Mac only
WinSCP – PC only
WS FTP Pro – PC Only
Commander One Pro – Mac only
Most FTP clients have similar interfaces, and it will be helpful if you understand their basic layout before you connect a site.
The panels, or panes, on the main transfer screen are discussed below.
Quickconnect bar – The Quickconnect feature at the top of the screen allows users to connect to a site directly from the main screen by entering their FTP credentials into the fields provided.
The Filezilla Quickconnect bar (above) and Message Log (below).
Queued files – Files that having been selected for transfer but which have not yet been moved.
Failed transfer – Files that failed to transfer successfully.
Successful tranfers – Files that were successfully transferred to or from the remote site. The Direction column indicates if the files were being moved to or from the Local Site.
Use the tabs at the bottom to navigate between transfer panes.
FTP clients have many more features than those covered above. Users should explore their clients and consult the applications’ usage documentation to become truly proficient.
To transfer a file to or from a server, simply double-click the file to be transferred. Alternatively, you can drag and drop a file from one pane, Remote Site or Local Site, to the other. The file being transferred is the Source file, and the location where it will be saved is the Target file.
Double-clicking a file in the Remote Site pane will initiate a transfer (download) from the server to the local computer, and double-clicking a file in the Local Site pane will initiate a transfer (upload) from the local computer to the server.
In both cases, a modal will appear that displays both the Source and the Target file paths. You can use this information to double-check that the right file is being moved to the right location.
Click OK when you’re ready to begin the transfer.
Once you’ve verified that the source and target files are correct, click OK.
FTP/SFTP users must be created on your host’s servers. If your site is not hosted by WPMU DEV, the first step is to locate and follow your hosting provider’s guidance on creating FTP/SFTP users.Got SFTP?
WMPU DEV encourages the use of SFTP (Secure FTP) which enhances security by passing FTP transfers through the Secure Shell (SSH). All WPMU DEV hosted sites connect to FTP clients in this, more secure, way. If your site is hosted elsewhere, check with your host to determine if SFTP connections are supported. If not, you can still connect via conventional FTP and we’ll secure things on our end.
SFTP users for sites hosted by WPMU DEV are created in the SFTP/SSH tab of each site’s Hosting Dashboard or by following the guidance in our Creating SFTP/SSH Users guide.
An FTP or SFTP username and password are required to create an FTP connection. If you haven’t created such a user, see the Creating FTP/SFTP Users section of this guide before proceeding.
Begin by collecting the following information about the user and the relevant website:
Host – The name your hosting provider uses to identify your site, also called the host address or connection address. Usually resembles the site’s domain name and may even be identical, but not always. Be sure to confirm the site’s FTP hostname with your hosting provider.
Username – The username associated with the current FTP/SFTP user
Password – The password associated with the current FTP/SFTP user
Port – Provided by the host. The FTP port is often displayed on a site’s dashboard in the same area as the FTP user information, but not always. Contact your host’s support team for assistance if you do not know your site’s FTP port.
With the above information at hand, open your FTP client. With Filezilla, as with most FTP clients, a “quick connection” method is available. Enter the FTP/SFTP user credentials listed above into the appropriate fields and click Quickconnect.
Enter the connection parameters and click Quickconnect.
Once connected, the primary site folder will appear in the Remote Site panel on the right side of the screen. Opening the site folder will reveal the public_html folder, where most WordPress site files are located.
The majority of the site files one usually transfers are located in the public_html directory.
The next step will permanently save this connection to the client’s Site Manager, so connecting in the future only requires a few button clicks.
While connected, click the File button and then select Copy current connection to Site Manager.
It’s a good idea — no, a great idea — to add all sites you will regularly access to the Site Manager.
This will open the Site Manager and automatically populate the site’s connection information to the appropriate fields. Enter a name for this connection in the blue highlighted field.
Remember, the site name entered here will be the name of the directory (folder) on your local computer for your site. We suggest using the site name to minimize the potential for confusion.
If you are creating a conventional FTP connection–not SFTP–verify that the Encryption field is set to Use explicit FTP over TLS if available. If it isn’t, click the dropdown menu and select that setting.
Verify that the Encryption field is set to Use explicit FTP over TLS before clicking OK.
Click Ok to save the new connection to your FTP client. Connecting to this site in the future will only require opening the Site Manager, selecting the site and clicking Connect. You will not need to re-enter the connection information.IMPORTANT
We strongly recommend creating a local site directory for all of your sites, because it simplifies file management and reduces the chances of misplaced files. The next section can guide you through quickly setting up a local directory.
A local site directory is simply a folder on your computer that mirrors the file structure of a specific website. Properly configured, the local directory will open, automatically, whenever the FTP client connects to its parent site. The file structures of the two directories appear side-by-side on screen, making FTP file management significantly more efficient.
The benefits of local directories include:
Efficiency – It’s far easier to move files from a local computer to a server and back again, and to do so with confidence, when the file structures in both places match.
Synced browsing – With synced browsing, as you navigate through either directory, the opposite directory will automatically navigate in the same manner so the file or folder currently active in one pane is readily available in the other.
Directory comparison – A feature that uses color coding to highlight differences between synced directories.
The image below shows how synced browsing works. The Local Site panel on the left displays a local directory called mysite.com that was created and synced with a website directory that appears in the Remote Site panel on the right.
Synced browsing saves enormous time by allowing users to transfer only files that have changed.
The green highlighting in the Remote Site panel indicates files and folders that match in both directories.
The two files and one folder highlighted in yellow in the local directory are highlighted because they are not present on the remote site. You can also see this discrepancy indicated in the data highlighted in red which confirms that, indeed, the local site has two files and one directory that are not present in the Remote Site directory.
Navigate on your computer to wherever you want the local directory to exist, then right click, select New Folder and give the folder a name.
It is not necessary for this folder’s name to match the Remote Site name, but it may help avoid confusion.
It is not necessary for this folder’s name to match the Remote Site name, but it may help avoid confusion.
In the example below, the user created a folder called WordPress Sites and within it created a folder called mysite.com, which will become the default local directory for a specific site. Later, if the user wants to create more WordPress sites, new subfolders can be created and designated as the local directories for those sites.
Again, naming the local directory with the same name as the site is a good way to avoid confusion, especially if you manage multiple sites.
Open the folder that will serve as the local directory. With that folder open, right click the address bar and click Copy address. This will copy the Local Site path, which needs to be pasted into the Site Manager.
Copy the local address to the clipboard, and paste it into the Site Manager.
Open your FTP client. In the main menu, click File and then click Site Manager.
Open the Site Manager to begin configuring a connection you wish to store for future use.
Select the desired site from the list of saved connections and then click the Advanced tab. Configure the highlighted fields using the guidance below.
Use the guidance below to configure a stored connection.
Default local directory – Insert the path to the local directory created for this site.
Default remote directory – This path seems to give some people trouble, but it is quite easy to locate.
Connect to the site
Copy the path exactly as it appears in the field next to the field label Remote Site:. For example, the path a user would copy from the site below is simply /site.
Paste the path into the Default remote directory field in the Site Manager.
Once the connection is established, select the features (below) you wish to add and click OK.
Use synchronized browsing – Enable this feature by checking the checkbox.
Directory comparison – Enable this feature by checking the checkbox.
Click the Ok button to save the new configuration. Disconnect from the server and re-connect to see the new features in action.
There was a time when FTP was considered an advanced skill, but that time has passed. If you’re making a living developing or maintaining websites, using FTP is a fundamental skill you must have. So, good luck and may your transfers always be fast, secure and error free!