Installing a theme over FTP or SFTP

Installation 4 min read

This is a fallback, and most people never need it. The normal route is uploading the zip through the admin, which handles unpacking and permissions for you.

Installing a WordPress theme from a zip fileA theme is one zip file containing the theme files. Not the package you downloaded, not a folder, and not an archive you unzipped and zipped again. Getting that one thing right avoids the er...Installation

#When it is justified

  • The archive is larger than your host upload limit
  • The upload times out partway
  • Your host or a security plugin removed the ability to install files from the admin
  • WordPress shows an FTP credentials form instead of installing

File access does not depend on PHP limits, so it works where the admin gives up.

#What you need

Access to the site files, meaning SFTP, FTP, or your hosting panel file manager, and the theme archive unpacked on your own computer.

Use SFTP rather than plain FTP wherever your host offers it.

Plain FTP sends your password in clear text, so anyone watching traffic on a shared network can read it. Credentials come from your hosting panel, usually in an FTP accounts section, and any standard client works. FileZilla, Cyberduck and WinSCP are free and do the job.

#The process

Unpack the theme archive locally

Inside there should be one folder containing the theme files. If it unpacked into a folder containing another folder, the inner one is what you upload.

Connect and open the themes folder

Navigate to wp-content/themes/.

Upload the whole theme folder

This is the long step. A theme has a lot of files, so it can take several minutes. Do not interrupt it.

Wait for the client to report a clean finish

If some files did not transfer, the theme behaves strangely afterwards. Re-uploading is faster than working out which file is missing.

Activate

Back in the admin, go to AppearanceThemes. The theme is already in the list. Click Activate.

#The mistakes this route invites

You uploaded the archive instead of the unpacked folder. WordPress does not see a theme at all.

An extra folder level. themes/your-theme/your-theme/style.css instead of themes/your-theme/style.css. This is the most common manual upload error, and the symptom is the theme not appearing.

Not everything transferred. The connection dropped partway. The theme exists and the site looks broken or throws errors.

File ownership. After uploading, the files may be owned by a different user than the one PHP runs as. That is a question for your host, and it shows up as permission errors later rather than immediately.

#What support covers on this route

If you choose to install over FTP or SFTP, you should know how your server works. Connection problems, ports, files that will not unzip, permissions and server limits are hosting matters, and they are not covered by support, as the Support Policy sets out. Your host is the one who can see and change them.

Support does cover the theme itself once it is on the server intact. If you are unsure about any part of the transfer, use the admin upload instead, or ask your host to place the files for you.

#Plugins work the same way

The Pro plugin and the companion plugin install the same way, into wp-content/plugins/ instead.

If the theme had to go on this way, the plugin almost certainly will too. The limits that stopped one stop the other.

#Common questions

The theme still does not appear in the admin

Check the folder depth first. style.css has to sit directly inside the theme folder, not one level deeper, and that accounts for most cases. Then confirm your client reported the transfer as finished with no skipped files. A theme that appears but breaks the site usually has missing files.

Which folder do I upload into?

wp-content/themes/ for a theme and wp-content/plugins/ for a plugin, one folder per item. Nothing else about the layout matters.

My client cannot connect to the server

The host, port, protocol and credentials all come from your hosting account, so your host is the one to ask. Support cannot see or change your server's connection settings.

WordPress keeps asking me for FTP credentials in the admin

It means the web server cannot write to wp-content itself, so WordPress offers to do the write over FTP instead. You can fill the form in, but raise the underlying file ownership with your host, because it will come back on every update.

#Still stuck

Open a support ticket and say what you tried and where it stopped. Your product, your domain, a screenshot and the exact message you saw are usually enough to settle it in one reply.

Last updated

Was this article helpful?

Related articles

FIND THE ONE THAT FITS YOUR PROJECT

Import a demo, swap the content, adjust the layout. Modern WordPress under the hood, fast even when the site fills up.