How to Upload Files to WordPress via FTP

There are times when you simply cannot get into your WordPress dashboard. A failed plugin update, a corrupted theme file, or a PHP error can lock you out entirely — and that’s exactly when knowing how to access your server files directly becomes invaluable. FTP (File Transfer Protocol) gives you a direct connection to the files on your hosting server, completely independent of the WordPress admin panel.

Most site owners only discover FTP when something has already gone wrong. A better approach is to set it up before you need it. Connecting for the first time takes under five minutes, and once you’ve done it once, you have a reliable fallback for some of the most disruptive WordPress problems.

In most sites I build, I test an FTP connection during the initial setup — right after choosing hosting and before even installing WordPress. It costs nothing and ensures you’re never locked out of your own server. The step-by-step guide to building a WordPress website covers that full process from the beginning.

Quick Answer

To upload files to WordPress via FTP, install the free FileZilla client, enter your FTP host, username, password, and port from your hosting account, connect, and drag files from your local computer into your WordPress directory on the server — typically public_html or www.

Why FTP Access Matters

WordPress’s built-in tools only work when the dashboard is accessible. FTP bypasses that entirely, giving you direct access to the server’s file system. You’ll want it when:

  • Your dashboard is inaccessible due to a plugin conflict, fatal error, or corrupted core file
  • You need to upload files larger than the dashboard’s upload size limit
  • You want to manually install a plugin or theme by placing it in wp-content/plugins/ or wp-content/themes/
  • You need to disable a broken plugin by renaming its folder on the server
  • You’re migrating your site or restoring specific files from a backup

FTP is most useful in situations where something has already broken and your normal tools are unavailable. Having it set up in advance means you can act immediately rather than spending time figuring out an unfamiliar tool mid-crisis.

What You Need Before You Start

An FTP Client

The most widely used option is FileZilla, which is free, actively maintained, and available for Windows and Mac. The WordPress documentation on FTP clients covers the main options if you’d prefer to compare alternatives, but FileZilla handles everything in this guide without issue.

Your FTP Credentials

These come from your hosting account. Look in your hosting welcome email, in cPanel under FTP Accounts, or in your hosting dashboard under connection or account details. You need four things:

  • Host: usually your domain name (e.g., ftp.yourdomain.com) or a server IP address
  • Username: your FTP account username
  • Password: your FTP account password
  • Port: 21 for standard FTP, or 22 for SFTP — use SFTP if your host supports it, as it encrypts the connection

How to Connect to Your WordPress Site via FTP

Step 1 — Install FileZilla

Download and install FileZilla from its official site. No special configuration is needed during installation — just install and open it.

Step 2 — Enter Your Connection Details

In the Quickconnect bar at the top, enter your Host, Username, Password, and Port, then click Quickconnect. On a successful connection, your server’s file tree appears in the right-hand panel.

For future connections, save your details in FileZilla’s Site Manager (File → Site Manager) so you don’t need to re-enter them each time. You can also set the protocol to SFTP here rather than specifying port 22 manually.

Step 3 — Navigate to Your WordPress Files

In the right panel, look for a folder called public_html or www. Open it and you should see the familiar WordPress structure: wp-admin, wp-content, and wp-includes folders, along with wp-config.php and index.php. The wp-content folder is where your themes, plugins, and uploaded media files live.

If your WordPress installation is in a subdirectory (for example, inside a folder called blog), navigate into that folder instead of directly into public_html.

Step 4 — Upload, Download, or Delete Files

The left panel shows your local computer’s files. Navigate to the file or folder you want to transfer:

  • Upload: drag from the left panel (local) to the right panel (server)
  • Download: drag from the right panel (server) to the left panel (local)
  • Delete a file on the server: right-click it in the right panel and select Delete

FileZilla shows a transfer queue at the bottom with progress indicators, and confirms when each transfer completes. For large files or multiple files, let the queue finish before navigating away.

Practical Tips

  • Use SFTP rather than FTP where possible. Standard FTP transmits your credentials in plain text. SFTP (port 22) encrypts the entire connection. Most hosts support it — check your hosting settings and switch.
  • Check file permissions after uploading plugins or themes manually. Files should be set to 644 and folders to 755. Wrong permissions are one of the most common causes of silent failures after a manual upload. How to Set WordPress File Permissions to Improve Security covers the correct settings in detail.
  • Use FTP to disable a broken plugin by renaming its folder in wp-content/plugins/. Rename plugin-name to plugin-name-disabled and WordPress will automatically deactivate it — without needing dashboard access.
  • Back up before you touch anything critical. Especially wp-config.php, which contains your database credentials. Download a copy locally before editing the server version.

Common Mistakes to Avoid

  • Uploading to the wrong directory. Confirm you’re inside public_html before transferring files. Placing them one level above will not work and can cause server errors.
  • Overwriting wp-config.php accidentally. If you drag an entire folder, check whether it includes this file. Replacing it with an old or incorrect version breaks the database connection.
  • Using an outdated FTP password. If you’ve rotated your hosting credentials, update your FileZilla connection. A stale password is the most common reason FTP refuses to connect with no other explanation.
  • Ignoring permissions after uploading. PHP won’t execute files with permissions set to 777 (overly permissive) or 600 (overly restrictive). Set them correctly after every upload.

FTP vs the WordPress Dashboard vs cPanel File Manager

FTP is the right tool when the dashboard is broken or inaccessible, when you’re doing bulk transfers, or when you need direct file access during a recovery. If you’re moving your entire site to a new server, How to Migrate WordPress to a New Host explains where FTP fits into that process alongside other migration methods.

The WordPress dashboard is better for normal plugin and theme installation from the repository, and for uploading images and documents through the Media Library.

cPanel File Manager is a reasonable alternative if you don’t want to install a desktop FTP client. It gives you browser-based access to your server files without extra software. How to Use cPanel to Manage Your WordPress Hosting covers what you can do through the cPanel interface.

Conclusion

Set up your FTP connection once, test it, and save the credentials in FileZilla’s Site Manager. You won’t use it every week, but when a site breaks or the dashboard goes down, having direct server access already configured means you can fix the problem instead of spending time setting up a tool you need immediately.