When WordPress shows "Installation failed" while installing a plugin or theme, it's almost always one of three things on our stack: a file permissions problem, the upload exceeding a PHP limit, or PHP running out of memory during extraction. Check the exact error text first. It usually names which one.
If the message mentions "could not create directory" or "destination folder already exists," it's permissions. If it mentions file size or upload limits, it's a PHP limit. If the install times out or the screen goes blank partway through, it's memory or execution time.
Cause 1: file and folder permissions
WordPress needs to write into /wp-content/plugins/ or /wp-content/themes/ to install anything. If ownership or permissions are wrong (common after a manual file restore or a migration from another host), the write fails silently or with a "could not create directory" error.
- Open File Manager from the portal (
Services→ your hosting →File Manager) or connect via FTP. - Check that
wp-content,wp-content/plugins, andwp-content/themesare owned by your account's user, notrootor a mismatched user from an import. - Standard WordPress permissions are
755for directories and644for files. Avoid777. It's a security risk and isn't needed to fix this. - If permissions look right but the error persists, try installing via FTP instead: download the plugin or theme zip, extract it locally, and upload the extracted folder directly into
/wp-content/plugins/or/wp-content/themes/.
Cause 2: upload size limit
Some plugins and most premium themes ship as large zip files. If the zip exceeds upload_max_filesize or post_max_size, the upload fails before WordPress even tries to extract it.
- In cPanel, go to
Software→MultiPHP INI Editor. - Select your domain, switch to Editor mode, and raise
upload_max_filesizeandpost_max_size(post size should be equal to or larger than upload size). - Save and retry the install.
- If the zip is very large, skip the wp-admin uploader entirely and use the FTP method described above. It has no upload size ceiling.
Cause 3: PHP memory or timeout during extraction
Large plugins and themes with a lot of bundled assets can run out of memory while WordPress unzips and copies files, especially on top of other active plugins already consuming memory on the request.
- Add or raise the memory limit in
wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
- If the install seems to time out rather than run out of memory (the page spins for a long time then fails), open a ticket about raising the execution time limit as well.
- After changing PHP settings, if the site was mid-install and now shows a blank page instead of a clear error, see Fixing the WordPress white screen of death for how to surface the real error.
Cause 4: a conflicting version already exists
If a plugin or theme folder with the same name already exists in wp-content, often left over from a previous manual install or a failed update. WordPress refuses to overwrite it and reports the install as failed.
- Via File Manager or FTP, check
/wp-content/plugins/or/wp-content/themes/for a folder matching the item you're installing. - Rename the existing folder (append
.old) rather than deleting it, in case you need to recover settings from it. - Retry the install. If it succeeds, delete the renamed backup folder once you've confirmed the new install works correctly.
After the fix: update safely
Once the plugin or theme installs, treat the first update the same way you'd treat any WordPress update, back up first and test after. See Updating WordPress safely for the full pattern, including how to isolate which plugin caused a problem if the site misbehaves afterward.
When to contact support
If you've checked permissions, raised the PHP limits, and confirmed there's no conflicting folder, but the install still fails, open a ticket from the portal (Support). Include the exact error text and which plugin or theme you're trying to install. A real person will look into it, not a bot.