What this problem looks like
Theme ZIP errors usually mean nested folders. WordPress expects wp-content/themes/theme-slug/style.css, not wp-content/themes/theme-slug/theme-slug/style.css.
Marketplace downloads sometimes bundle documentation and licensing files outside the installable folder. Install only the folder that contains style.css.
Check the ZIP before upload
- Extract the download on your computer.
- Locate style.css and open it to confirm Theme Name and Version headers.
- If you see Installable Theme Files Only, use that inner ZIP.
- Reject nulled themes from unknown sources. They often contain malware.
Upload through wp-admin
- Go to Appearance → Themes → Add New → Upload Theme.
- Choose the ZIP and click Install Now.
- Click Activate after install succeeds.
- Install required plugins when the theme prompts you.
Upload via SFTP
Unzip the theme and upload the folder to wp-content/themes/ with FileZilla or your host file manager.
Set folders to 755 and files to 644 unless your host documentation says otherwise.
wp theme install /home/user/Downloads/my-theme.zip --activate
Install child themes correctly
The parent theme must exist on the server before you activate a child. Upload the parent ZIP first, then the child ZIP.
Child style.css must declare Template: parent-folder-slug matching the parent directory name exactly.
Fix common upload errors
The package could not be installed often means wrong ZIP structure or file size limits. Increase upload_max_filesize in PHP or use SFTP.
Stylesheet is missing means style.css is not in the ZIP root folder WordPress expects.
When to stop DIY and hire help
Theme demo imports can fail on shared hosting limits. BugShield sets up premium themes and child themes at a fixed price when DIY imports stall.