Installing a WordPress theme from a zip file

Installation 4 min read

A 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 error that accounts for more failed installs than everything else put together.

#Installing through the admin

This is the right route in almost every case.

Open the theme browser

Go to AppearanceThemesAdd New.

Choose Upload Theme

The button sits at the top of the screen and reveals a file picker.

Select the theme zip

Pick the theme archive itself. If you downloaded a package containing several files, unzip it on your computer first and take the theme zip from inside it.

Install

Click Install Now and wait. WordPress uploads the file, unpacks it and reports success.

Activate

Click Activate. This is a separate step, and until you take it the theme is on your site but not running it.

Installing and activating are two different actions.

A good share of "I installed the theme and the site looks the same" reports are a theme that was installed and never activated. The Themes screen shows which one is live: it is the card at the front, labelled Active.

#The error you will probably meet

"The theme is missing the style.css stylesheet", also shown as "No valid theme stylesheet found".

There are two causes, and both are about the file rather than the theme.

The first, and by far the most common: you uploaded the full package instead of the theme zip. The package contains the theme, the documentation and the license files together, and WordPress has no idea what to do with it. Unzip it and upload the theme archive from inside.

The second: the theme zip was unzipped and zipped back up. Repacking adds an extra folder level inside the archive, and WordPress looks for style.css at the top and does not find it. Upload the archive exactly as you received it.

#Other things that can stop an install

Recognizing these is the point here; each has a longer answer in the installation troubleshooting article.

The upload is rejected as too large

upload_max_filesize or post_max_size is below the size of the zip.

The upload times out

max_execution_time is too low for the file to arrive and unpack.

The install runs out of memory

memory_limit is too low to unpack the archive.

WordPress asks for FTP credentials

The web server cannot write to wp-content, so WordPress falls back to asking you to do it over FTP.

The theme lands in Broken Themes

Usually a PHP version below what the theme requires.

There is no Add New button

The host or a security plugin has disabled file installation from the admin, often through DISALLOW_FILE_MODS.

Installation problemsAlmost none of these are about the theme. They are about the archive, the limits and the file permissions. This page is arranged by the message you see, so find yours and start there. "No va...Troubleshooting

#When the admin will not take the file at all

If the upload limit cannot be raised, the remaining route is to place the theme folder on the server yourself over SFTP. It is a normal thing to do, and there is a walkthrough for it. Try the admin route first: it handles unpacking and permissions for you, and it is harder to get wrong.

Installing a theme over FTP or SFTPThis 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...Installation

#Common questions

Where does the theme actually go?

Into wp-content/themes/, one folder per theme, which is worth knowing because it is where you look when the admin cannot tell you whether the theme installed at all.

Can I install a theme over an older copy of itself?

Yes, WordPress asks whether to replace the existing one and replacing is the correct answer when you are updating by hand, since your settings and content live in the database rather than in the theme folder and survive the swap.

Do I need to delete the old theme?

No, and it is worth keeping one default WordPress theme installed, because that is what you switch to when you need to rule the theme out as the cause of a problem.

The install still fails

Note the exact wording of the error before you change anything, because every cause on this page produces different text and the text is what tells you which one you have, then match it against the installation troubleshooting article. "Missing style.css" is the file, a timeout or a memory error is the server, and a request for FTP credentials is file permissions.

#Still stuck

Open a support ticket with the exact error text, the name of the file you uploaded, and your PHP version.

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.