To implement a WordPress Theme on your website, you first need to upload it to WordPress. The most prominent and well-known method is using Dashboard. The zip file of a WordPress Theme can be uploaded to the Dashboard from Appearance > Themes > Upload Theme. Theme gets uploaded easily and can be activated with just a single click. This is perhaps the easiest way to upload a WordPress Theme. But sometimes, it is just not enough. Users have reported a bunch of errors using this method some of which include file size limit exceeded, asking for FTP details and what not. It can turn out to be a real head ache if user is not adept at using WordPress. We will discuss all these issues and provide solutions to them some other day as these deserve an article of their own. Today, we are going to discuss an alternate approach to installing a WordPress Theme, using cPanel.

What is cPanel?

According to Wikipedia, cPanel is ‘an online (Linux-based)¬†web hosting control panel¬†that provides a graphical interface and automation tools designed to simplify the process of hosting a web site.’ Without getting into the details, we can say that cPanel is where a user can control the back-end of their website. We can access the server and databases from here. You can access your cPanel by typing http://{site URL}/cpanel. Here is what the login screen looks like-

How to upload a WordPress theme to cPanel?

It seems we have digressed from the subject. Let’s continue with the topic at hand. We want to install a WordPress Theme using cPanel. I am assuming WordPress has already been installed and user has a fully functional Dashboard. In case, WordPress is not installed kindly refer to the following article on the official WordPress documents –

Now, let’s get to it!

    1. Open the cPanel login page.

      Type your site URL in address bar followed by ‘/cpanel’. It will lead you to a login screen.
      Enter your login details. If you don’t have your cPanel login details, kindly contact your web hosting service. They will provide it to you. The home screen looks like this (I have enabled the paper_lantern theme) –


    1. Go to File Manager > public_html > wp-content > themes directory.

      This is where the theme files are stored. You will be able to see all the themes that have been previously installed on your site.


    1. Upload the zip file to the themes directory.

      Click on the ‘Upload’ Icon in the Navigation bar, browse for the file and upload it in the directory.

      The zip file of the theme now shows up in the themes directory.


  1. Extract the zip file.

    Select the zip file, Click on the ‘Extract’ Icon present in the navigation bar, go through the options and extract the zip file.

  2. Activate the theme in dashboard.

    Our work is done at cPanel. Go back to Dashboard.
    Navigate to Appearance > Themes. The uploaded theme will now be visible there.

    The theme is not yet activated. Just activate theme. It should be live on your site now.

And now, our theme is live on the site. There are many advantages to this method some of which include speed, reliability and versatility. There is absolutely no restriction on the size of the zip file. Also, you don’t have to worry about the timing out of the process.
Apart from installing themes, the themes can also be deleted easily using this method. It is really very helpful in case you have a huge library of themes installed in your Dashboard and want to clean up. A single user install of WordPress allows deleting of only one theme at at a time. Bulk selection is currently not possible in the Dashboard for Themes. Here is a brief look at the process-

Just open the themes directory and select all the themes that you want deleted.

Click on the ‘delete’ option in the navigation bar of cPanel. All the themes should now be permanently deleted.

cPanel is surely a powerful way to navigate through the settings of your settings. It grants you full control over your site enabling you to perform many difficult tasks rather easily.

Did I miss something? Was there a better approach to the method used? I would like to hear your opinion in the comments.