5 min read(Last Updated On: December 21, 2017)

Few things are more annoying when testing out something new on your live site than having to uninstall a WordPress plugin that doesn’t want to be deleted.

In a perfect world, we’d all set up test sites and install plugins each time we want to test something, but in the real world sometimes you just don’t have time, and, as crazy as this may seem, you generally expect things to work.

And by things I mean plugins. Install. Try. Don’t like? Fine. Delete. Done.

To be fair, this issue doesn’t happen often, but it is frustrating when it does happen. Like it’s happening to me right now, with a premium plugin, of all things.

I literally can’t delete the WordPress plugin. It will deactivate, but it won’t delete and I can’t remove it using the usual method.

So I thought I’d share my quick solution for those who can’t delete a plugin on their WordPress site, as I actually deal with this annoyance myself.

The suffering ends today.

Let’s do this.

How to Remove a WordPress Plugin Completely

When you experience this irritating issue, typically, the failed plugin remains in your plugins dashboard despite many attempts to remove it. If you click the delete link, it seems to be deleting. It shows three dots and it looks like it’s doing something, like it’s going through the motions you expect when you uninstall a WordPress plugin, but that will still say that half an hour from now.

So here’s what to do:

Step 1: FTP into your WordPress plugins directory

Fire up your FTP client of choice because you need to FTP into your plugins directory.

I use FileZilla and you can watch my entire process in the video at the top of this page.

  • FTP up to your web hosting space
  • click on the public HTML
  • drill down into the wp-content folder
  • navigate to the plugins subdirectory (inside wp-content)
  • find the offending plugin’s folder
  • delete it manually (right-click on the offending plugin’s folder, then click on delete)

Step 2: Manually Check the Plugin has Gone

At this point, flip back to your WordPress site’s dashboard, visit the plugins area and refresh your screen to verify that the plugin is no longer there. If you manually deleted the folder via FTP then it should no longer show in your plugins area.

Step 3: Remove The Plugin Data from the Database

Now we need to clean up the database because the fact is that plugins that you install and then uninstall can leave tables behind them in your database. Those tables are no longer being accessed but it all adds up to your database size – it bloats your database and actually slows things down.

The thing to do here is to install a plugin that’s going to enable you to look at your database tables.

If you want to do this bit manually:

  • log into your cPanel
  • click on phpMyAdmin
  • manually look at all the tables
  • delete the ones that you don’t want (i.e. the ones the plugin left behind)

But the easier way of doing this is via a plugin because that way you can do it all from your WordPress dashboard without actually having to use PHPMyAdmin.

Here’s how:

  • click on add new plugin
  • type in WP-DBManager into the plugin search
  • install the plugin

This is what the plugin looks like:

wp database optimisation
WP database optimisation plugin

This is one of my all-time favourite plugins. I have been using this for countless years and it has never let me down. In the video walkthrough, you’ll see exactly how I use it.

In your dashboard, you’ll note that you have a new section called Database.

  • click on the database section (see video for visuals)
  • go to the option that says empty / drop tables
  • browse through the database table names and select the ones that you want to delete

What if you don’t know what the database tables are called?

if you don’t know what the offending plugin’s tables are called, the only thing you have to do is contact the plugin developer and just explain that you want to uninstall the plugin and clean up the database and ask for the table names.

Dropping or Emptying Your Database Tables

Once you have selected the tables you want to remove, you have two options:

  1. you can empty a table, which basically means exactly that (you’re going to empty the table of the data that it has, but the table is going to remain in your database)
  2. or you can drop the table, which actually means deleting the table

Once you decide on what option suits you best:

  • click on the empty and drop button

Precautions: Backup Your Database First

Now, before you do anything, you should obviously back up your website and backup your database.

For this, I use a plugin called All-in-One Migration to backup my WordPress website in just 1 click.

This is how I Backup my Website:

Check Everything Worked

Once the offending database tables have been dropped, load your website in a fresh browser tab or hard-refresh the page and make sure your website looks OK.

Click on a couple of pages to make sure all is working as it should, and you’re good to go.

That’s how you completely remove a troublesome plugin from WordPress when the plugin will not delete.

Recap: How to Uninstall a WordPress Plugin

  • backup your website
  • FTP to your web hosting space using the FTP client of your choice
  • go to the plugins directory (public_html/wp-content/plugins…)
  • find the offending plugin
  • right-click and delete
  • then install the WP-DBManager plugin
  • click on the database section
  • browse through the tables to see if there are any tables that are related to the deleted plugin
  • select any tables that you want to delete
  • drop the tables
  • check everything works fine
  • you’re done

This 2 step approach to completely uninstall a WordPress plugin ensures that you remove the faulty plugin and also delete plugin data from the database. You can also use the second part of this method to ensure you have a clean WordPress database devoid of old plugins.

Please Share This Content
Hey, I would really appreciate it if you share this content with your friends and followers :) 👇


the 5 Tools I'm using to Get Traffic and Subscribers to Grow my Brand

(instant access - no waiting)