Whether you’re a beginner blogger or a seasoned developer, mastering FTP can unlock a new level of control over your WordPress website. Stop relying solely on the WordPress dashboard – let’s learn how to take the reins!Network instability, firewall issues, or server-side restrictions can cause frequent FTP connection drops. Try using a wired connection instead of Wi-Fi, check your firewall settings to ensure SFTP (port 22) is allowed, and contact your hosting provider or check RunCloud’s server logs for potential issues. Sometimes, adjusting the timeout settings in your FTP client can also help.The primary risk of using plain FTP is the unencrypted transmission of your credentials and data, which exposes them to potential eavesdropping. This can lead to a compromised website, stolen data, or malicious code injection. Always prioritize SFTP to mitigate these significant security risks.After this, navigate to your server’s “Security” section and ensure that TCP traffic is allowed on the port being used for SSH. It uses port 22 by default, but server administrators often change it to something unique. Finding Your Credentials: The exact steps for finding your credentials will vary for different cloud providers. However, if you’re using RunCloud, this process is quick and painless. Navigate to your server, then to “Web Applications”. Select your WordPress installation, and note down the IP address, username, and root path (highlighted in the image below).
Table of Contents
- 1 What is FTP?
- 2 How to Use FTP to Upload Files to WordPress via SSH Key: Step-by-Step Guide
- 3 Troubleshooting Common FTP Issues
- 4 Wrapping Up: Who Should Use FTP for Their WordPress Websites?
- 5 FAQs on Using FTP with WordPress
- 5.1 What is the difference between FTP and SFTP?
- 5.2 Do I need FTP to install WordPress plugins?
- 5.3 Can I use FTP on shared hosting?
- 5.4 What are the security risks of using FTP?
- 5.5 How do I find my FTP credentials?
- 5.6 Is FTP still relevant in 2025?
- 5.7 What do I do if my FTP connection keeps dropping?
- 5.8 How can I speed up my FTP transfers?
What is FTP?
Have you ever needed to upload a massive plugin that WordPress couldn’t handle? Or dive deep into your website’s files to fix a mysterious error?
How Does FTP Work?
Before you can connect, you’ll need your SFTP credentials. These are not the same as your WordPress admin credentials. Your hosting provider (or server management platform) will provide these details. You’ll typically need the following:
- Control Channel (Port 21 – for plain FTP): This channel is used for sending commands and responses between the client and server. These commands include “login”, “list files”, “change directory”, “upload file”, “download file”, etc. The control channel establishes the connection and manages the session.
- Data Channel (Various Ports): This channel is used for the actual transfer of file data.
- With SFTP (SSH File Transfer Protocol), the process is different. SFTP is a subsystem of SSH (Secure Shell). It uses a single secure channel (usually port 22) for both commands and data transfer. All communication is encrypted, making it vastly more secure than standard FTP.
Changing Permissions in FileZilla:
How to Use FTP to Upload Files to WordPress via SSH Key: Step-by-Step Guide
Your web hosting provider provides your FTP (SFTP) credentials, often found in your hosting control panel (like cPanel, Plesk, or a custom panel). For RunCloud-managed servers, you can create SFTP users and manage their access through the RunCloud dashboard, granting specific directory permissions. You will typically need a hostname (or IP address), username, password, and sometimes a port number (22 for SFTP, 21 for FTP – but again, avoid plain FTP).
Step 1: Choose an FTP Client
Even with careful setup, you might encounter issues when using FTP to connect to your WordPress server. This section covers some of the most common problems and provides solutions to get you back on track. Linux (and Unix-like) systems use file permissions to control who can read, write, and execute files and directories. A standard permission set is 755 (owner: read/write/execute, group: read/execute, others: read/execute) for directories and 644 (owner: read/write, group: read, others: read) for files.
- FileZilla (Free, Cross-Platform): A widely used, well-regarded, free, open-source FTP client. It’s available for Windows, macOS, and Linux.
- WinSCP (Free, Windows): Another popular free and open-source client, specifically for Windows.
- Cyberduck (Free/Paid, Windows & macOS): A versatile client that supports FTP and SFTP and cloud storage services like Amazon S3 and Google Cloud Storage. It has a simple, drag-and-drop interface.
- Transmit (Paid, macOS): A powerful and feature-rich FTP client for macOS, known for its speed and reliability.
If you see this error, then you likely don’t have write permission to the target directory. Use your FTP client to change the directory’s permissions. In the Site Manager menu, fill in the following information:
Step 2: Connect with FTP Credentials from Your Hosting Provider
That’s where FTP (File Transfer Protocol), or more accurately, its secure sibling SFTP (Secure File Transfer Protocol), comes in.
- Host (or Server Address): This is usually a domain name (e.g., example.com) or an IP address (e.g., 192.168.1.1).
- Username: This is your SFTP username, often specific to your web hosting account or a user you created on your server.
- SSH Key: A secret key (like a password) associated with your SFTP username.
- Port: This is usually 22 for SFTP. Never use port 21 (which is for unencrypted FTP) unless you have a very specific and secure reason.
Now that you’re in the correct directory, uploading files is straightforward:

This usually indicates a problem with the server address, port, or firewall. To solve this issue, try the following steps:

In this guide, we will walk you through using FTP (specifically, the secure version, SFTP) to upload files to your WordPress website. While WordPress offers a built-in file uploader for media and plugins, FTP provides more control and is essential for certain tasks, like uploading large files, modifying theme or plugin files directly, or troubleshooting.

📖 Suggested read: How to Check if TCP Port is Open, Closed, or in Use on Linux?

Generally, you don’t need FTP to install plugins, as WordPress has a built-in plugin installer through the admin dashboard. However, FTP (specifically SFTP) can be useful for troubleshooting, manually uploading large plugins, or when the built-in installer fails. RunCloud’s file manager offers a web-based alternative to FTP for many tasks, but direct server access via SFTP is still available.
- Protocol: SFTP
- Hostname: IP address that you noted earlier
- Port: If you are not using the default port (22), then you need to enter your port number here
- Logon Type: Key file
- User: Enter the username that you noted earlier
- Key File: Browse the files on your computer and select the private SSH key for your server

⚠️ Important: Do not modify core WordPress files (in wp-admin and wp-includes) unless you know what you’re doing. Most file uploads will be within the wp-content directory.Transfer FailuresOnce connected, you’ll typically see two panes in your FTP client:

FTP operates on a client-server model. The client (e.g., an FTP software like FileZilla) initiates a connection to the server (e.g., your web hosting server). FTP uses two separate channels for communication:
FTP transmits data in plain text, making it highly vulnerable to interception. SFTP (Secure File Transfer Protocol) encrypts all communication, including your username, password, and file data, ensuring secure transfers. Always use SFTP; it’s like the difference between a postcard and a sealed letter.
- Left Pane (Local Site): This shows the files and folders on your local computer.
- Right Pane (Remote Site): This shows the files and folders on your web server.
If your connection is slow or unstable, the FTP client might time out before a transfer completes. You can try the following approaches to fix this:

Throughout this guide, we’ve discussed the details of using FTP and, more importantly, its secure counterpart, SFTP, with WordPress.
Step 4: Uploading Files to WordPress
This article is your comprehensive guide to understanding and using FTP with WordPress. We’ll cover everything from the basics of FTP to uploading files, troubleshooting how to connect securely, navigate your WordPress directory structure, uploading files, troubleshooting common FTP issues, and even how server management platforms such as RunCloud integrate with FTP.
- Locate the file(s) on your local computer (left pane).
- Navigate to the destination directory on the server (right pane). For example, if you’re uploading a new theme, navigate to wp-content/themes/.
- Drag and Drop: Drag the file(s) or folder(s) from the left pane (local) to the right pane (remote). Alternatively, right-click the file(s) and choose “Upload”.
- File Transfer Queue: FileZilla will show the progress of the upload in a queue at the bottom of the window.
In these scenarios, SFTP provides the necessary direct access and control. RunCloud seamlessly integrates with SFTP, offering easy SFTP user management.
- Overwriting Files: If a file with the same name already exists in the destination directory, the FTP client will usually ask you if you want to overwrite it. Be cautious when overwriting files, especially if you’re unsure what they are.
- File Permissions: Sometimes, you might need to adjust file permissions after uploading. This controls who can read, write, and execute files. Incorrect permissions can cause issues with your website. Your hosting provider or RunCloud documentation can provide guidance on appropriate file permissions. Generally, folders are 755, and files are 644.
Step 5: Verifying Successful Uploads
While web-based file managers and other tools are becoming more common, FTP (specifically SFTP) remains relevant for developers and power users. SFTP provides a robust and secure way to directly manage files on a server, which is crucial for tasks like debugging, custom development, and large file transfers. It’s a fundamental tool for server management, even with modern alternatives.
- Check the FTP Client: FileZilla (and most other clients) will indicate successful transfers in the queue. Look for any error messages.
- Test on Your Website: If you uploaded a plugin or theme, go to your WordPress admin dashboard and check if it appears in the Plugins or Themes section. Activate it and test its functionality. If you upload media files, check the Media Library.
- Check File Permissions (if necessary): If you’re experiencing issues, use your FTP client or RunCloud’s file manager to check and adjust file permissions as needed.

On this tab, you can set the default local directory (the folder where WordPress is installed on your computer) and the default remote directory (the path you noted earlier).RunCloud provides the perfect balance of ease of use and advanced functionality. Sign up for RunCloud today.
Troubleshooting Common FTP Issues
We recommend you take a look at our previous blog post titled “The Best 5 FTP Client for Windows and Mac” – but if you’re in a hurry, here are some popular and reliable choices:
Connection Errors
Things to keep in mind:
“Connection refused” or “Could not connect to server”
📖 Suggested read: FTP vs. SFTP – What’s The Difference & Why It Matters
- Verify Credentials: Double-check the Host/Server Address, Username, Password, and Port. Ensure you’re using port 22 for SFTP (and not 21 for insecure FTP). Even a small typo can prevent connection. Copy and paste the credentials directly from your hosting provider’s control panel or RunCloud dashboard to avoid errors.
- Check the Server Status: Is your server up and running? Your hosting provider’s status page or RunCloud’s server overview will show you if there are any known outages.
- Firewall Issues: A firewall on your computer, router, or server might be blocking the connection.
- Local Firewall: Temporarily disable your computer’s firewall (e.g., Windows Firewall, macOS Firewall) to see if it’s the culprit. If it is, you must add an exception for your FTP client (e.g., FileZilla) to allow connections on port 22.
- Router Firewall: Check your router’s configuration to ensure it’s not blocking outgoing connections on port 22. You might need to forward port 22 to your computer’s internal IP address.
- Server Firewall: If you’re managing your server (e.g., with RunCloud), check the server’s firewall rules. Ensure that port 22 is open for incoming connections. RunCloud provides a firewall management interface that simplifies this.
- Incorrect Protocol: Make sure you’re using SFTP, not plain FTP. Your FTP client should have an option to select the protocol.
“Authentication failed”
By following these steps, you can confidently use FTP (SFTP) to upload files to your WordPress website. This gives you greater control over your site’s files and enables you to perform tasks that might not be possible through the WordPress admin interface alone.
- Double-Check Credentials: Carefully re-enter your username and password. Pay attention to capitalization, as usernames and passwords are often case-sensitive.
- Reset Password: If you’re unsure of your password, reset it through your hosting provider’s control panel.
- SSH Key Authentication (Advanced): If you use SSH key authentication instead of a password, ensure your private key is correctly configured in your FTP client, and the corresponding public key is authorized on the server.
Sometimes, files might fail to transfer completely; ensure you have enough disk space on both your local computer and the server. RunCloud provides a built-in disk usage monitoring solution to make this easy.
File Permissions Problems
📖 Suggested read: 3 Ways to Fix Too Many Authentication Failures SSH Root? [SOLVED]After entering the above information, you can connect to the server. But we encourage you to go one step further and switch to the Advanced tab.
“Permission denied” when uploading
Yes, you can usually use FTP (SFTP is strongly recommended) on shared hosting accounts. Your hosting provider will typically provide you with SFTP credentials to access your web space. However, shared hosting environments may have limitations on connection speeds or concurrent connections.After this, ensure that the SFTP user you noted in the previous step has SSH access to your server by navigating to the SSH menu of the server section. If the username is missing from the list, follow RunCloud documentation to learn more about generating and storing SSH keys in the RunCloud vault.
- Right-click on the file or directory.
- Choose “File permissions…”
- Enter the numeric value (e.g., 755) or check the appropriate boxes for read, write, and execute.
- Optionally, check “Recurse into subdirectories” to apply the changes to all files and folders within the directory.

This means your username or password (or both) is incorrect.
Timeouts and Other Common Issues
Connection Timeouts
However, the need for FTP (SFTP) increases as your WordPress usage becomes more sophisticated. Intermediate users, such as freelancers or agencies managing multiple WordPress sites, often need to customize themes and plugins (requiring direct code edits), troubleshoot issues by examining server logs, or upload larger files that might be cumbersome through the WordPress interface.
- Increase Timeout Settings: Most FTP clients have settings to adjust the connection timeout. Increase the timeout value (e.g., to 60 seconds or more).
- Use a Wired Connection: For a more stable connection, use a wired Ethernet connection instead of Wi-Fi.
After the upload is complete, it’s a good idea to verify that the files were transferred correctly:We’ll assume you’ve chosen FileZilla for this guide, but the general steps will be similar for other clients.
Wrapping Up: Who Should Use FTP for Their WordPress Websites?
Once you have gathered all the necessary information, you can open your FTP software and create a connection. In Filezilla, you can do this by clicking on “File > Site Manager”.You need to navigate to the correct directory on your server where your WordPress files are located. The exact path can vary depending on your hosting setup, but if you follow the steps described above, you will be in your WordPress directory.Connection errors are often the first hurdle. Here’s a breakdown of common causes and how to fix them:

Alternatively, RunCloud provides a one-click option named “Fix Permissions” that will fix all permissions issues. Follow the instructions described in the RunCloud documentation to learn how to resolve file access issues on your server.📖 Suggested read: How to Fix WordPress Stuck in Maintenance Mode? [100% WORKING]The need for direct FTP access is generally low for basic WordPress users (bloggers and small business owners) who primarily focus on content creation and use the standard WordPress interface for tasks like plugin installation and media uploads. The built-in WordPress tools, combined with a user-friendly server management platform like RunCloud, handle the vast majority of day-to-day operations.