How to Use FTP Properly with WordPress

File Transfer Protocol, or FTP, provides a fast and easy way to transfer files to and from your WordPress site.

In the early days of web development, FTP was the main means of interacting with the backend of your site and uploading content. Since then, however, WordPress has simplified the process of setting up and managing a website, allowing you to upload content directly via your browser, and using FTP has become less of a necessity.

But should you write it off? Not just yet.

There are still many reasons why you might need to use FTP (or File Transfer Protocol Secure, FTPS). Whether you need to upload large files to your site or even delete them ,or change file and directory permissions, knowing how to use FTP properly is a handy skill to have up your sleeve.

In this post, I’ll show you how to use FTP with WordPress and how to get around some of the common problems you may encounter along the way.

Setting Up and Using FTP

In order to transfer files to and from your server, you first need to download and install an FTP client onto your computer. There are a number of different clients available and no real right answer when it comes to choosing. It all depends on your operating system and which one you’re most comfortable using.

These are all FTP clients you can download and use today:

  • FileZilla – Free and open source for all platforms. FileZilla is definitely the most popular solution.
  • SmartFTP – An FTP client for Windows users only. It also comes with a price tag of either $60 or $120 depending on the version you want. There is a free trial available.
  • WinSCP – A free and open source option, but only for Windows users.
  • Macfusion – This is a free FTP client for Mac OS X users only and you must also have Google’s MacFUSE installed to use it.
  • LFTP – This FTP client works for Linux systems and it’s also free.
  • FireFTP – It’s free, but only works with FireFox. Outside this requirement, you can use it with any OS.
  • Cyberduck – Available for Mac and Windows and it’s also free and open source.
  • Core FTP – This is a free FTP client, but for Windows OS only. There’s also a premium version with more features available.
  • Free FTP – You likely already assumed by the name of this client that’s it’s free to use and you would assume correctly, though, it’s only available on Windows systems.
  • Transmit – It’s available for Mac OS X and while there is a free trial available, the full version comes at a cost of $34.

There are other clients out there, but I omitted many from the list simply because they are no longer updated or maintained. While many are still solid and usable, you’re ultimately using them at your own risk.

When you have picked a client and have it installed, it’s time to fire it up and enter your server details.

No matter the FTP, here’s the information you need:

  • IP Address – Your dedicated IP address or if you don’t have one, the regular IP address for your site.
  • FTP Account username and password – If you don’t already have an FTP account, you need to set one up.

Every hosting company is a little bit different so if none of the tips here are helpful for finding out where you can access this information, it’s best to ask your hosting provider and they can provide you with the best answer.

The "Expand Stats" link is highlighted in cPanel after logging in.
Expand the list of account stats if it’s not already displayed.

In cPanel, you can find your IP address after you have logged in. It’s listed on the left-hand side.

This is where you should find your IP address to log into your server from your chosen FTP client. But before you try logging in, you need to be sure to have your FTP account details handy.

On this page, click on Files > FTP Accounts and check to see if you already have a username listed under FTP Accounts.

If you do, you have everything you need to start transferring files. If not, you need to create a new account with the form at the top of the page.

New FTP account form is filled out.
It’s paramount that you enter a very strong password when creating an account to help keep your site secure.

Enter your desired username, password and be sure to select the correct directory. If your goal is to transfer files to install WordPress, for example, you need to choose the root of your site’s files in this section.

If you just want to add files to a specific folder, you can select it here, although, you can also select that specific folder once you have accessed your server through your FTP client so it’s not entirely necessary to be specific in this Directory field.

You can also select the Unlimited radio button under Quota to ensure you can transfer all the files you need without being interrupted, but keep in mind that the number of files you transfer is counted against your available bandwidth transfer limit that is a part of your hosting plan. If you reach this limit, your hosting provider could decide to shut your site down until you upgrade or until the next pay period begins.

You can check your limit in cPanel on the left-hand side on the homepage where you found your IP address. It’s listed under Monthly Bandwidth Transfer and you can see how much you have used of your limit there.

If you have a strict limit that you don’t want to surpass, you can choose to enter an amount in megabytes under Quota instead when filling out the form to create an FTP account.

Don’t forget to click the Create FTP Account button at the bottom of the form to ensure your account is created. Once that’s done, you’re ready to use your FTP client.

When you open FileZilla, for example, you can choose to quickly connect to your server without entering any custom settings.

The username, password and port fields are filled out in the main screen of FileZilla.
You can choose the Quick Connect option in FileZilla or you can enter custom settings.

Enter in the following information which you have just collected:

  • Host – Your site’s IP address or dedicated IP address
  • Username – This is the name you entered for your new FTP account. Be sure to enter the full username that’s listed in cPanel. For example, enter [email protected] if that’s what’s listed or else it could result in a login error.
  • Password – This is the one you entered when you created your FTP account.
  • Port – Typically, you can simply use the default which is 21. If you get an error, ask your hosting provider which port is best for you to use.
A successful connection message in FileZilla.
You should see a message stating “directory listing successful” on a completed connection.

When these values are entered in, click the Quick Connect button and you’re on your way. If you are connected successfully, you should see a message appear in the area below the login form.

If you have an SSL certificate installed on your server, you may see a pop-up suddenly displayed asking you to accept the certificate.

Look over the information that’s listed. If your SSL certificate is listed, the information looks correct and you trust the certificate, go ahead and click OK to continue connecting.

If you run into errors, check out on of our other articles detailing fixes for common FTP problems.

You can also choose to add custom settings to your connection, especially if you see errors pop up while trying to establish a connection. To do this, go to File > Site Manager and click the New Site button toward the bottom of the pop-up that displays.

The new site settings pop-up in FileZilla.
If you aren’t able to connect and you know your login credentials are correct, try adding a new site instead of the quick connect method.

From this dialog box, you can choose to connect in different ways such as options if you don’t have an SSL certificate installed on your server. You can find this setting under the Encryption drop down box. There are also many other options here that may come in handy depending on your situation.

It may also be important to note that if you’re having difficulties connecting, it may be an issue with your SSL certificate. FileZilla has switched their default settings to FTPS instead of FTP. This means that FileZilla assumes you have an SSL certificate installed on your server and tries to establish a connection with it. If you don’t have an SSL certificate installed or it’s not configured properly, it results in an error.

To fix or test if this is the issue, try connecting using the option Site Manager > Encryption > Only use plain FTP (insecure). If you can successfully connect, then you likely have an issue with your SSL certificate being accepted or you don’t have one installed.

If you find that this is the case, contact your SSL certificate issuer since they are equipped to help you in these kinds of situations. Otherwise, install an SSL certificate or keep the plain FTP option intact.

Once you have entered all your desired settings, click the Connect button at the bottom of the pop-up to start establishing your new connection.

If you still run into problems and you see error codes even after trying the suggestions in one of our other posts 3 Common FTP Upload Errors and How to Fix Them, check with your FTP client’s documentation or ask them for support if you can’t find a resolution.

How to Transfer Files

Now that you’re connected, you’re ready to transfer your desired files. This is also step four in WordPress’ Famous Five-Minute Install.

You should see several different areas in FileZilla. On the left is the Local site section and on the right is your Remote Site.

Sections in the FileZilla client.
Understanding the FTP client layout is the key to knowing how to transfer files.

The first box under the message area shows you all the folders currently on your computer. When you click on them, the box directly below it populates with all the files and folders currently inside the selection you made.

This same principle applies to the remote site box on the right, underneath the message area. It shows the current main folders on your server. When you click on them, the box directly below it should populate with its containing files and folders. If this doesn’t happen, you may not be properly connected.

At the bottom of the window is the transfer queue with the status of your pending transfers.

All you need to do to start transferring files and folders is to select (or bulk select) your desired files and folders from the left side of the client, then click, drag and drop them to the remote site section on the right.

Selected files are clicked, dragged and dropped from the lower local site section on the left to the lower remote site section on the right of the FileZilla client.
Transferring files with FTP is easy.

You can click, drag and drop files and folders form either top or bottom box on the left or right to the other side. This means you can upload files to your server by dropping files to the remote site side on the right or download files to your computer from your server by dropping files to the left.

On the very bottom of the window, there are also a few tabs displayed: Queued files, Failed transfers and Successful transfers. The first tab is the default and shows all your current processes. The last tab displays all your files and folders that are completed and the Failed transfers tab shows you a list of – you guessed it – all your files and folders that weren’t transferred.

If you see a number displayed after the Failed transfers label, that means that there are that many of your files that have not been transferred. You can place them back in the queue by selecting that tab, right-clicking on a file name for Windows or click and pressing the command key for Mac OS X and selecting the option Reset and requeue all.

If all your files are successfully transferred, you’re done. Your selected files and folders are now on your server.

Bulk Uploading Media Files with FTP

Transferring your files and folders seems easy enough, but things get a little bit tricky if you try and transfer files to your wp-content/uploads/ folder. You may notice that any files you transfer there via FTP don’t show up in your media folder. What gives?

Unfortunately, when you transfer files this way, the media library doesn’t register your files. WordPress just doesn’t recognize files that aren’t uploaded from the dashboard through the media library or through the Add Media button when creating a post or page.

Fortunately, there is a quick and easy solution and that’s to use the Add from Server plugin. It’s updated regularly and works on both single and Multisite installations. For networks, this plugin can be network activated. In either case, this plugin can be accessed through Media > Add from Server in the dashboard.

Once you have added your files to the uploads folder, click on that directory from the list to access a list of the unregistered files you uploaded. This plugin also lets you register files that you have uploaded to any folder in your WordPress install which is a bonus.

The main page of the Add from Server plugin.
Click on the directory in the list to find the files you uploaded via FTP.

You can also click one of the Quick Jump links toward the top of the page to access common folders a lot faster.

Once you find your files, check the boxes for all the ones you want to register or check the box next to File to select all of them, then click the Import button at the bottom of the list.

The "File" checkbox has been clicked and the Import button is highlighted.
Click the files you want to add then import in a couple clicks.

It may take a while for the images or files to be processed, especially if you selected many images so don’t be alarmed and grab a quick break. You should come back to being greeted with a success message.

Now you can check out your media library. Your images should be listed and ready for you to use.

Keeping Your Connection Safe

I would be remiss if I didn’t mention how to keep your server and your site when using FTP because there are some risks that can, fortunately, be avoided.

If you don’t have an SSL certificate installed on your server which means you’re using FTP instead of FTPS, it’s much less secure to say the least and your connection could be hijacked by hackers. Your files and all the information stored on your site and server including usernames, passwords, email addresses and all other personal information is at risk and could be stolen.

If you’re using shared hosting, your site is most likely protected since your hosting provider is responsible for your server’s security, but if you have a VPS or dedicated server, you are solely responsible for your site and server’s security. If you have your own server and you haven’t installed an SSL certificate, your site and server is at risk every time you use FTP.

While having an SSL certificate isn’t the only security measure you should take, it definitely is an important step I recommend you take. If you would like to peruse some more details on SSL certificates and how to purchase and install one, check out one of or other posts called How to Use SSL and HTTPS with WordPress.

It’s also important to delete the FTP account you created when you’re done uploading or downloading files since this information can also be vulnerable. Hackers could potentially get a hold of this information and upload or download files at their leisure.

Some hosting companies automatically delete FTP accounts after a certain period of time, but if this isn’t a service available to you, then don’t forget to manually delete the account when you’re done.

To do this in cPanel, go to Files > FTP Accounts and click the Delete link next to your listed login information.

The delete link is highlighted and listed beside an FTP account.
Don’t forget to delete your FTP account when you’re done.

Next, select either the Delete Account button to delete your FTP account and keep the files in that directory or click the Delete Account and Files button to trash your account and files.

Keep in mind that if your FTP account is attached to a main folder such as the root of your site, all files in that directory are deleted if you choose to delete your account and files. In such as case, this means you could delete all your site’s files so when in doubt, just click the Delete Account button.

When you want to transfer some files again, just create a new account, then delete it again when you’re done.

Wrapping Up

Now you’re all set and ready to start using FTP and FTPS to make transferring files to your WordPress site a piece of cake. You can even register uploaded files that normally wouldn’t be included in the media library.

Transferring some files is one thing, but transferring an entire site can be a bit tricky so if you need to migrate your site check out a couple of our other posts: Migrating WordPress (And Multisite!) to a New Server and Moving Multisite to a New Domain (Without Errors!).

Do you often transfer files via FTP or FTPS? What method or client is your favorite? Do you use any other plugins or FTP client to assist you in transferring files? Share your experience in the comments below.