# Install a WordPress plugin over FTP
Source: https://docs.webgee.com/en/hosting/wordpress/installing-a-wordpress-plugin-via-ftp



Most plugins install from **Plugins** → **Add New**. Install by hand when the
dashboard uploader rejects the file for size, or when you cannot reach the
dashboard at all. Applies to all shared and reseller hosting.

You need the plugin as a `.zip` file, and either FTP credentials or cPanel
access.

## Upload and extract [#upload-and-extract]

1. Connect with an FTP client — FileZilla, Cyberduck and WinSCP are all
   suitable — or open **File Manager** in cPanel.
2. Go to your site's `wp-content/plugins` directory. The site root is normally
   `public_html`.
3. Upload the `.zip` file there.
4. Extract it. In cPanel's File Manager, select the file and choose
   **Extract**.

Most FTP clients cannot extract archives, so if you uploaded by FTP you will
still need File Manager for this step — or upload the already-extracted folder
instead. Uploading an extracted folder over FTP is slower, because it transfers
hundreds of small files rather than one large one, but it avoids the extra tool.

5. Delete the `.zip` file once extracted. It serves no purpose and counts
   against your disk usage.

The result must be a **folder** in `wp-content/plugins` containing the plugin's
PHP files. If extracting produced a folder containing another folder, move the
inner one up a level — WordPress will not detect a plugin nested two levels
deep.

## Activate it [#activate-it]

1. Log in to the WordPress dashboard.
2. Go to **Plugins** → **Installed Plugins**.
3. Find the plugin and select **Activate**.

## If the plugin does not appear [#if-the-plugin-does-not-appear]

* **Check the folder structure**, as above. A doubled folder is the usual cause.
* **Check permissions.** Directories should be `755` and files `644`. See
  [Fix "Unable to create directory"](/en/hosting/wordpress/resolving-the-unable-to-create-directory-error-in-wordpress).
* **Confirm you uploaded to the right site.** On an account with several
  domains, `public_html` belongs to the primary domain; addon domains have their
  own directories.

## A better fix for the size limit [#a-better-fix-for-the-size-limit]

If you are doing this because the dashboard uploader rejects large files, raise
the limit instead — it is a PHP setting, not a WordPress one:

```ini
upload_max_filesize = 64M
post_max_size = 64M
```

Set both in cPanel's **MultiPHP INI Editor**. `post_max_size` must be at least
as large as `upload_max_filesize`, or uploads fail without a clear message.

## Related [#related]

* [Fix "Unable to create directory"](/en/hosting/wordpress/resolving-the-unable-to-create-directory-error-in-wordpress)
