You can use SFTP and SSH to transfer files to and from your site. This guide shares answers and solutions to frequently asked questions about file access issues, SFTP, and SSH.
This feature is available on sites with the WordPress.com Business and Commerce plans, and the legacy Pro plan. If you have a Business plan, make sure to activate it. For sites on the Free, Personal, and Premium plans, upgrade your plan to access this feature.
In this guide
- Which files and folders can I edit via SFTP?
- I uploaded a plugin/theme and can’t see it in my dashboard?
- I have modified my theme files, but my changes disappeared after the theme was updated.
- I’ve added my site to my SFTP client, and it’s not working!
- I uploaded images/videos via SFTP, but they are not showing in my Media library.
- What file permissions should I set?
- Does content uploaded via SFTP count against my site’s storage limits?
- I uploaded a plugin using SFTP, but I can’t activate it. What should I do?
- I’m trying to upload a theme to my site, but it says it is too big. Can I upload it via SFTP?
- Can I add custom PHP modules like ioncube?
- How do I grant my plugin or theme developer access to my site via SFTP?
- Can I get support for using command-line tools?
- Are all commands available?
- Can I set my own SFTP and SSH password?
- Can I have multiple SSH keys?
- What if something else goes wrong?
Have a question?
Ask our AI assistantSome directories of your file system structure are locked and cannot be accessed via SFTP. This is vital for security and helps ensure the functionality of your site.
The screenshot below shows that some core directories have a ? mark icon next to them:
- _wp_
- advanced-cache.php
- object-cache.php
- wp-load.php
The question mark icon in SFTP denotes that the directory is part of your site’s core WordPress installation. These core files cannot be modified as they are required to ensure your site is functional.

Yes, you can modify your site’s wp-config.php file. We recommend that you do not touch this file unless absolutely necessary. If you’re not sure if you should make changes, contact us before you make a change.
For most WordPress.com-provided themes, the functions.php file is symlinked and protected. This means it cannot be edited. However, third-party and manually installed themes allow their functions.php to be changed.
Please keep in mind that editing or adding untested code to functions.php can crash your site, and changes are often lost when the theme is updated. We recommend using plugins such as Code Snippets if you want to apply any modifications to your site’s functions.php file. This plugin allows more control and granularity over where these snippets are run, and snippets in the plugin can be easily disabled if something does not go as expected.
No, you cannot edit core WordPress files or the default WordPress.com themes and plugins. These files are essential to keep your site functional. They are not editable via SFTP.
Make sure you’ve uploaded it to the correct folder. If plugins aren’t in /wp-content/plugins/ and themes aren’t in /wp-content/themes/, they won’t work.
This is expected if you have not used a child theme to make modifications, as any modifications will be overwritten by the new version of the theme. Please follow these instructions if you want to run your own customized themes.
Make sure you’ve specified an SFTP connection in your client’s settings. If you use the quickconnect option, make sure you prefix your SFTP address with sftp://.
This is expected as WordPress does not recognize media files uploaded via SFTP. While they are accessible via the direct URL, these will not show inside the admin area. You can use plugins like Media Sync to resolve this, so images and videos uploaded to the site via SFTP will appear normally in your Media.
By default, your folders and file permissions should be set to 755. Changing these settings can break your site. You’ll also see some symlinked files may appear to have different permissions. This is normal and cannot be changed.
Yes, the content you upload via SFTP counts against your site’s storage limits, similar to the content you upload via the Media library.
While we try to ensure your site here at WordPress.com is compatible with as many plugins as possible, we’ve found that some plugins aren’t a good fit on our platform or are otherwise incompatible. Please make sure you haven’t uploaded an incompatible plugin.
Yes. While you’ll be able to upload a theme by going to Appearance → Themes, there’s a 50MB upload limit for security, as some themes may include other files that are not part of the theme itself.
The first step in these cases would be to double-check if you have the correct theme files. Themes from third-party vendors may include things inside their zip file, like demo content or license information. You’ll want to make sure you only upload the WordPress-installable theme files to your site.
If you’ve removed the extra files, but you’re still getting an error, you can use SFTP to add this theme to your site by unzipping it and placing it under the /wp-content/themes/ directory.
No. While some plugins require custom PHP modules to be installed to function, this is set on the server side and cannot be changed. You can review our server environment details here.
If a plugin or theme developer requests access via SFTP, you can provide your SFTP credentials. It is limited to one SFTP user per site. When they no longer require access, make sure to reset the SFTP password.
Due to the complex nature of SSH and WP-CLI, we are not able to provide extensive support for using these tools. Happiness Engineers are available to help with issues connecting via SSH, but cannot guide you through using commands.
Extensive resources are available on using the Linux command line. Some popular examples include the following third-party sources:
- Ubuntu’s Command Line for Beginners Tutorial
- freeCodeCamp’s Linux Commands Handbook
- LinuxCommand.org
- Microsoft’s Shell Course
In order to provide a secure and performant environment, WordPress.com may restrict or disable certain shell and WP-CLI commands. The WP-CLI docs provide a list of available WP CLI commands.
The username and password are generated by the system automatically. These are unique to each site. If you have multiple sites, you’ll need to use multiple usernames and passwords, one for each site.
You can only add one SSH key per WordPress.com account, which you can then attach to multiple sites. Each site can have multiple keys attached, one per privileged user.
If something unwanted happens to your site as a result of actions in SFTP or SSH, you can restore a previous backup of your site.
If you perform an action and something happens that prevents you from accessing backups, we can help you restore your site to an earlier point from before you ran the command. We will not be able to help you debug your command to make it work as expected.