Title: TSO Options &amp; Tables Cleaner
Author: deadko
Published: <strong>June 28, 2026</strong>
Last modified: October 11, 2026

---

Search plugins

![](https://ps.w.org/tso-options-tables-cleaner/assets/banner-772x250.png?rev=3589307)

![](https://ps.w.org/tso-options-tables-cleaner/assets/icon-256x256.png?rev=3589307)

# TSO Options & Tables Cleaner

 By [deadko](https://profiles.wordpress.org/deadko/)

[Download](https://downloads.wordpress.org/plugin/tso-options-tables-cleaner.1.4.0.zip)

 * [Details](https://en-au.wordpress.org/plugins/tso-options-tables-cleaner/#description)
 * [Reviews](https://en-au.wordpress.org/plugins/tso-options-tables-cleaner/#reviews)
 *  [Installation](https://en-au.wordpress.org/plugins/tso-options-tables-cleaner/#installation)
 * [Development](https://en-au.wordpress.org/plugins/tso-options-tables-cleaner/#developers)

 [Support](https://wordpress.org/support/plugin/tso-options-tables-cleaner/)

## Description

TSO Options & Tables Cleaner is a database maintenance plugin for WordPress. It 
helps you clean wp_options, orphan metadata, revisions, and leftover plugin tables,
with backups and table optimization.

**Features:**

 * **Current status** — Dashboard tab with database size, options/transients summary,
   autoload highlights, and quick links to cleanup actions
 * **General cleanup** — Remove expired transients, post revisions, auto-drafts,
   trashed posts and comments, orphan post/comment/user/term metadata
 * **wp_options manager** — Browse, search and delete orphan options grouped by 
   plugin, with autoload management and plugin detection for 300+ known plugins
 * **Extra tables** — Detect and remove tables left by uninstalled plugins (see 
   detection limitations below)
 * **Plugin & theme history** — Track installation, activation, deactivation and
   deletion events for plugins and themes
 * **Database backup** — Export the full database to SQL, download, restore or delete
   backups stored in wp-content/uploads/tso-options-tables-cleaner/backups/
 * **Table optimizer** — Run OPTIMIZE TABLE on all fragmented WordPress tables
 * **Interface languages** — Catalan, Spanish and English UI with per-user language
   preference
 * **Cache-plugin compatible** — Compatible with LiteSpeed Cache and other caching
   plugins

**Detection is heuristic, not perfect**

WordPress does not record which database table belongs to which plugin. TSO Options&
Tables Cleaner infers ownership from table prefixes, plugin folders on disk, install
history, and other signals. That works well for many sites, but it cannot be 100%
accurate in every case.

You may occasionally see:

 * A table marked as **probably orphaned** while the plugin is still installed or
   active (false positive)
 * A leftover table **not flagged** as orphaned after uninstall (false negative)
 * **Recent activity** on a table because MySQL metadata was updated (maintenance,
   repair, or unreliable timestamps on some engines) even though the plugin is gone
 * **Unclear ownership** for shared prefixes, renamed plugin folders, or custom 
   tables

The plugin is intentionally conservative: when confidence is low, delete actions
are blocked and you will see **Review only**. Always check the plugin list, export
SQL before dropping tables, and use manual assignment when the automatic label looks
wrong. Never delete a table unless you are sure it is safe for your site.

### Privacy Policy

TSO Options & Tables Cleaner does not collect, transmit, or share any personal data
with external services.

Data stored locally:

 * Language preference: The administrator’s chosen UI language (Catalan, Spanish
   or English) is stored in wp_usermeta under the key tso_ui_lang. This data stays
   on your server and is never transmitted anywhere.
 * Plugin/theme history: A log of plugin and theme events is stored in wp_options
   under the key tso_plugin_history. This log is optional and can be cleared at 
   any time from the History tab.
 * Database backups: SQL backup files are stored locally in wp-content/uploads/tso-
   options-tables-cleaner/backups/ and are never uploaded to any external service.
   They are removed when you uninstall the plugin (download first if you need to
   keep them).

No external connections: This plugin does not make any HTTP requests to external
servers, does not use analytics, and does not track usage of any kind.

## Screenshots

[[

[[

[[

[[

[[

## Installation

 1. Upload the plugin folder to /wp-content/plugins/
 2. Activate the plugin through the Plugins screen in WordPress
 3. Go to Tools > TSO Options & Tables Cleaner to start cleaning

## FAQ

### Is it safe to delete options from inactive plugins?

Yes. Options from inactive plugins can be deleted safely. The plugin marks active
plugin options with a warning so you can identify them.

### Is plugin and table detection always accurate?

No. Detection is heuristic. WordPress does not store a definitive link between each
table or option and its plugin. TSO uses prefixes, folder names, history, and other
clues. Results are usually helpful, but false positives and false negatives can 
happen — especially after plugin renames, shared prefixes, stale maps, or unusual
custom setups.

### Why does a table show as orphaned when the plugin is still active?

Usually because automatic detection matched an outdated path, a label-only prefix
map, or conflicting signals. Reload the Extra tables tab after plugin updates. If
the label is wrong, use **Assign** to link the table to the correct plugin, or export
SQL and review before deleting anything.

### Why is delete blocked for a table that looks orphaned?

Delete is allowed only when status and usage signals both look safe. If MySQL reports
recent writes, the plugin folder still exists but is inactive, or ownership is uncertain,
the UI shows **Review only** to reduce the risk of dropping a table still in use.
Export the SQL backup and verify manually when in doubt.

### Where are the backups stored?

In wp-content/uploads/tso-options-tables-cleaner/backups/. This directory is protected
by .htaccess and an index.php to prevent direct access. Files are stored locally
and never transmitted to any external service.

### What happens to backups when I uninstall the plugin?

Uninstall removes the plugin-owned uploads folder (including SQL backups and options-
tab cache). Download any backups you want to keep before deleting the plugin from
WordPress.

### Does it work with LiteSpeed Cache?

Yes. The plugin sends the appropriate no-cache headers and LiteSpeed Cache API calls
to avoid caching the admin interface.

### What data does this plugin store?

Only the administrator interface language preference (Catalan, Spanish or English),
saved as user meta (tso_ui_lang). No data is sent to external servers.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“TSO Options & Tables Cleaner” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ deadko ](https://profiles.wordpress.org/deadko/)

[Translate “TSO Options & Tables Cleaner” into your language.](https://translate.wordpress.org/projects/wp-plugins/tso-options-tables-cleaner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tso-options-tables-cleaner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/tso-options-tables-cleaner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/tso-options-tables-cleaner/)
by [RSS](https://plugins.trac.wordpress.org/log/tso-options-tables-cleaner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

Recent releases only. Older notes are in changelog.txt in the plugin folder.

#### 1.4.0

 * Fix: wp_options Accions column keeps all row buttons on one line (no wrap, no
   large empty gap before the actions)
 * Fix: Confirmar only appears when there is a real auto-suggested plugin/theme 
   to promote — not on bare “Unconfirmed” rows with no candidate (same rule for 
   extra tables)
 * Fix: bare tso_* keys from other TSO plugins are no longer attributed to theme
   tso-blog via the short token “tso” (history/map); polluted theme map rows are
   dropped on sanitize
 * Improvement: admin buttons use rounded relief styling; day-mode selects keep 
   the chevron; Confirmar and secondary CTAs align with the WordPress admin colour
   scheme
 * Improvement: night-mode text and accent contrast reviewed across tabs; dead admin
   CSS/PHP paths removed
 * Fix: Cron tab EscapeOutput compliance for soft-broken hook names in the UI

#### 1.3.9

 * Fix: third-party promo/review notices that use `.notice-success` (e.g. Media 
   Cleaner) are no longer treated as first-party and forced visible on the Tools
   screen; only TSO-marked notices stay shown
 * Fix: deep-scan / cache info banners no longer use WordPress `.notice-info` (white
   bar + unreadable text in night mode); they use first-party `.tso-notice-info`
   with night-theme contrast
 * Improvement: night-mode chromatic pass across all tabs — design tokens, readable
   status labels, and form-control dark accents
 * Improvement: primary buttons, active tabs, language chips and accent UI follow
   the WordPress admin colour scheme (Sunrise, Ocean, Ectoplasm, …), same approach
   as TSO Link Inspector

#### 1.3.8

 * Fix: extra-tables list no longer needs horizontal scrolling to see the action
   buttons, and the wp_options owner detection now recognizes Jetpack Carousel’s
   option keys (carousel_display_exif and its siblings) instead of leaving them 
   unconfirmed
 * Fix: the “looks uninstalled, safe to delete” notice could wrongly claim a plugin’s
   folder was gone when it was actually still on the server (get_plugins() was sometimes
   called before WordPress had loaded it, on top of a stale cached check) — it now
   re-checks the folder live and shows a caution warning instead of a false all-
   clear when the folder is still there, and softens the wording (‘probably safe’)
   since automatic detection is not infallible
 * Fix: wp_options owner detection now recognizes WordPress core’s own Connectors
   API keys (connectors_ai_google_api_key and its siblings, added in WordPress 7.0
   for AI provider credentials) as WP Core instead of leaving them unconfirmed

## Meta

 *  Version **1.4.0**
 *  Last updated **5 days ago**
 *  Active installations **10+**
 *  WordPress Version ** 6.1 or higher **
 *  Tested up to **7.1.3**
 *  PHP Version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/tso-options-tables-cleaner/)
 * Tags
 * [cleanup](https://en-au.wordpress.org/plugins/tags/cleanup/)[database](https://en-au.wordpress.org/plugins/tags/database/)
   [maintenance](https://en-au.wordpress.org/plugins/tags/maintenance/)[optimization](https://en-au.wordpress.org/plugins/tags/optimization/)
   [wp options](https://en-au.wordpress.org/plugins/tags/wp-options/)
 *  [Advanced View](https://en-au.wordpress.org/plugins/tso-options-tables-cleaner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tso-options-tables-cleaner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tso-options-tables-cleaner/reviews/)

## Contributors

 *   [ deadko ](https://profiles.wordpress.org/deadko/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tso-options-tables-cleaner/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://ko-fi.com/deadko_cat)