If you upload a WordPress theme via FTP and it doesn’t appear in Appearance → Themes, the most common cause is that you placed the theme folder in the wrong directory — it must go inside wp-content/themes/, not in wp-content/ or the site root. Other frequent culprits are an extra nested folder (e.g., theme/theme/), incorrect file permissions, or a corrupted zip extraction that leaves the theme files incomplete.
How WordPress Finds Installed Themes
WordPress scans the wp-content/themes/ directory for folders that contain a valid style.css file with a proper theme header. When you upload via FTP, you are bypassing the normal upload mechanism, so WordPress does not “register” the theme anywhere — it simply detects it on the next page load. If the folder is not exactly where WordPress expects it, or the style.css is missing or malformed, the theme will not appear in the admin.
Here is what WordPress checks:
- The folder must be directly inside
wp-content/themes/(e.g.,wp-content/themes/mytheme/). - That folder must contain a
style.cssfile with a header comment that starts with/*and includes at leastTheme Name:. - The folder name should not have spaces or special characters (use hyphens or underscores).
- The files must be readable by the web server (permissions like 644 for files, 755 for folders).
Most Common Causes (and How to Fix Them)
Let’s go through the typical reasons one by one, in order of likelihood.
1. Wrong Upload Directory
You might have uploaded the theme folder to wp-content/ instead of wp-content/themes/. Double-check your FTP client’s path. The correct path is:
wp-content/themes/your-theme-folder/
If you see your theme folder inside wp-content/, move it to themes/.
2. Nested Folder (Double Folder)
When you unzip a theme archive on your computer, it often creates a folder like mytheme/. If you then upload that folder, you might end up with wp-content/themes/mytheme/mytheme/. WordPress looks for style.css in the first folder, but it’s actually in the second. Fix: move the inner folder up one level, or delete the outer one.
3. Missing or Invalid style.css
If the theme’s style.css is missing or does not have the required header, WordPress will not list it. Open style.css in a text editor and confirm it starts with something like:
/* Theme Name: My Theme Description: A custom theme Version: 1.0 */
If the file is empty or lacks the header, re-upload it from the original theme package.
4. File Permissions
If the files are not readable by the web server, WordPress may skip them. Set folders to 755 and files to 644 (or 750/640 if your host uses different groups). You can change permissions in your FTP client by right-clicking and selecting “File permissions”.
5. Caching
Your browser or a caching plugin might be showing an old list. Hard-refresh the admin page (Ctrl+F5 or Cmd+Shift+R). Also clear any caching plugin’s cache from its settings.
How to Verify the Theme Is Actually There
Before blaming WordPress, confirm the files are on the server. In your FTP client, navigate to wp-content/themes/ and check that your theme folder is listed. Then open that folder and look for style.css. If you see it, try accessing the theme directly in a browser by visiting:
https://yoursite.com/wp-content/themes/your-theme-folder/style.css
If you get a 404, the file is not there or the folder name is wrong. If you see CSS content, the file is accessible.
What to Do If the Theme Still Doesn’t Appear
If you’ve checked all the above and the theme still isn’t showing, try these steps:
- Rename the theme folder to something simple like
mytheme(no spaces, no capitals). - Download the theme zip again and re-extract it locally to ensure it’s not corrupted.
- Upload via the WordPress admin instead of FTP: go to Appearance → Themes → Add New → Upload Theme, and choose the zip file. This often bypasses permission issues.
- Check the PHP error log — a fatal error in the theme’s
functions.phpcan prevent it from being listed. Temporarily renamefunctions.phptofunctions.php.bakand see if the theme appears. - Ensure the theme is compatible with your WordPress version. An old theme might be skipped if it requires a newer PHP version.
Common Misconception: “Uploading via FTP is Faster than Admin”
Many users think FTP is always better, but for themes, the admin uploader is often more reliable because it handles file placement and permissions automatically. FTP gives you more control, but that control comes with responsibility — you must place files correctly. If you’re not comfortable with FTP, use the admin uploader.
Frequently Asked Questions
Why does my theme show in the folder but not in admin?
Most likely the style.css is missing or has no header. WordPress only recognizes themes with a valid header comment. Also check that the folder is directly under wp-content/themes/, not inside another folder.
Do I need to refresh anything after uploading via FTP?
No, WordPress scans the themes directory on every admin page load. However, your browser might cache the page, so do a hard refresh. If you use a caching plugin, clear its cache as well.
Can I upload a theme as a zip via FTP?
No, FTP requires the extracted folder. If you upload a zip file, WordPress will not see it. You must unzip the archive locally and upload the folder contents.
What permissions should theme files have?
Typically, folders should be 755 and files 644. Some hosts use 750/640. If you’re unsure, check with your host. Too restrictive permissions (like 600) can make files unreadable.
My theme was working before, but after an update it disappeared. What happened?
An update might have overwritten the theme folder with a corrupted version or changed file permissions. Re-upload the theme folder from a fresh download, and ensure the folder name matches the original.
Is it safe to delete the theme folder via FTP if it’s not showing?
Yes, if the theme is not active, you can delete it to clean up. But first back it up locally in case you need it later. Deleting an active theme can cause errors, so make sure it’s not in use.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Channel TLD Websites: What They Are & How to Get One5.00 min/km
- Django Class Based Views CRUD REST API
- Most Secure OS for Privacy: 3 Picks by Device
- Ryobi One+ Battery System: Is the Switch Worth It?
- Tmux Terminal Upgrade: Is It Worth It?
- Refurbished Tech Buying Checklist