Maintaining your own website is kind of like maintaining your car. Just as you can drive your car to work every day without knowing how the engine works or how to change your own oil, you can run your website every day, including publishing blog posts and conducting e-commerce, without knowing how the underlying technology works.
And just as a car needs frequent fueling, less-frequent oil changes, and occasionally the attention of a mechanic when something actually breaks or wears out, your website needs regular updates that you can do from the dashboard, and occasionally the attention of an expert when something breaks or becomes obsolete.
When a car breaks down, one of the first things your mechanic will do is take a look at what’s going on under the hood.
When your website breaks, one of the first things I’m going to do to troubleshoot is to take a look at the site’s files via FTP.
Using FTP is slightly more complicated than popping the hood of your car (you probably don’t need a password to pop the hood), so there’s nothing wrong with wanting to delegate it to a professional. Just like changing your car’s oil, you can do it yourself or you can pay someone to do it for you.
Okay, but what is FTP exactly?
FTP stands for File Transfer Protocol, and you can use FTP software (often called an “FTP client”) to browse and modify the files in your web hosting account.
For normal day-to-day operation of your website, all you need is access to your WordPress dashboard. But if something goes wrong and you can’t access the dashboard — whether you see an error message when you try to log in or whether you experience the dreaded White Screen of Death — you’ll need direct access to your website files.
For instance, once in a great while, WordPress updates will fail in a way that requires FTP to fix (although this error is much less common than it used to be).
How to use FTP
First, check your web host’s documentation (or help desk or knowledge base or whatever they’re calling it this week) for their instructions on using FTP, particularly for configuring your FTP client. Your web host may have even emailed you FTP instructions when you first signed up for web hosting.
Next, you’ll need a piece of software called an FTP client, which is different from a web browser. You can get a free FTP client called FileZilla here if you don’t have one installed on your computer. Click the button labeled “Download FileZilla client (all platforms)” and the site should auto-detect whether you’re using a Mac, Windows, or Linux.
When you open your FTP client, you’ll need three pieces of information to login to see your website’s files:
- A hostname. Often this is simply ftp.your-domain.com, but sometimes it’s a server address at your web host. This is why you need to read your web host’s specific instructions.
- A username. Sometimes your web host assigns you one, sometimes you have to set this up yourself. Some hosts automatically make usernames end in @your-domain, and some don’t.
- A password. If you don’t know your FTP password, you will need to log into your web hosting account to generate a new one (for security reasons, you won’t be able to see or retrieve an existing password, so just reset it). Resetting the password won’t affect anything on your website.
Two quick notes about resetting and using your FTP password:
- Please take care to create a solid, secure password, because this is a direct doorway to all of your website files. Once you’ve got a working FTP password, you can save it in FileZilla’s Site Manager so you don’t have to remember it or write it down. This is why I use a password manager.
- You may be tempted to use the same password for your web hosting account, your FTP login, and your WordPress dashboard. Please please please do not do this. I know it seems easier to have one password than three passwords for the same site, but it’s a terrible idea, security-wise. Much better to let your password manager generate unique random passwords for everything.
Now that you’re logged in, what can you do?
First, be careful.
Changes to these files can wreck your site, so if you make any changes, back up the originals first. This is very easy with most FTP clients — just copy the file or files in question from the web server to your computer. Then you can simply restore the originals if you ever make a change that breaks something.
That said, here are a few situations when FTP access is useful.
- Backing up: You can create a complete backup of everything in your website (except the database, which is not one of the files you can access via FTP) just by copying everything from your web host to your computer. I wouldn’t recommend this as a sustainable long-term strategy, but it can be handy in a pinch.
- Restoring from a backup: If you know for sure that a specific file (or plugin or theme) is causing a problem on your website, you can replace that file on your web server by uploading a backup copy from your computer. And if you need to do a full-site restore, for example from a BackupBuddy zip file, you will need to upload the zip file to your web server to start that process.
- Restoring access to the dashboard: Sometimes, website problems can be fixed by editing or uploading fresh copies of one or more WordPress configuration files. The .htaccess file and the wp-config.php file are the most common culprits here.
- Troubleshooting plugins: A very common piece of WordPress troubleshooting advice is “disable all of your plugins”. You can do this from your WordPress dashboard, but the process can take awhile. If you want to do it quickly, or you can’t access your dashboard, you can rename your plugins folder using your FTP client, which will make WordPress unable to find and use any of your plugins. Create an empty folder named “plugins” and your site should load without any active plugins. If this step fixes your website problem, you can move plugin files from your renamed folder into the new plugins folder one at a time to see which one caused the original problem.
These are only a few of the basics that can be accomplished by looking under the hood of your WordPress website with the help of an FTP client.