What this problem looks like
Well-written plugins register an uninstall.php routine that runs when you delete from wp-admin. Many plugins skip that step, which leaves autoloaded options that slow every page load.
Never delete plugin folders at random on production WooCommerce or membership sites without reading whether custom tables hold orders or user progress.
Standard delete from wp-admin
- Plugins → Installed Plugins.
- Deactivate the plugin.
- Click Delete and confirm.
- Check for an uninstall wizard link in remaining admin notices.
Delete when admin Delete link is missing
Remove wp-content/plugins/plugin-slug/ via SFTP after deactivation.
Must-use plugins live in wp-content/mu-plugins/ and delete separately.
Clean database options and tables
Search phpMyAdmin for options rows containing the plugin prefix. Remove only rows you can identify as belonging to that plugin.
Some plugins add tables like wp_pluginname_logs. Drop them only after backup when documentation confirms they are safe to remove.
wp option list --search='myplugin_*' --format=table
wp cron event list | grep myplugin
Remove scheduled cron events
Orphan cron jobs from deleted plugins waste resources. Use WP-CLI cron event delete or a cron manager plugin to remove events named after the plugin.
After removal checklist
- Load homepage and wp-admin.
- Submit a test form or order if the plugin touched commerce flows.
- Run a database optimization plugin only after confirmed cleanup.
- Document the removal for client sites so no one reinstalls a deprecated plugin.
When to stop DIY and hire help
Plugins that created dozens of tables need careful uninstall planning. BugShield cleans plugin conflicts and database bloat at a fixed price when DIY cleanup feels risky.