Super Speedy Search

Uninstalling Super Speedy Search Safely

Published

Super Speedy Search keeps its search index in its own custom database tables rather than bloating your posts table, so it is worth knowing exactly what happens to that data when you deactivate or delete the plugin. This article explains what each step does, what is left behind, and how to remove any leftovers by hand if you want a completely clean database.

What deactivation does

Deactivating the plugin from Plugins in wp-admin (or with wp plugin deactivate super-speedy-search) unhooks all of the plugin’s code. WordPress then handles searches itself again, using its built-in core search. In practice that means your site immediately reverts to the default WordPress LIKE '%term%' search, which is slower and not relevance-ranked, but your site keeps working. Nothing on the front end breaks.

By default, deactivation does not touch your data. The custom tables, the settings, and the built index all stay in place. This is deliberate: if you reactivate later, your index and settings are still there and search is instant again with no rebuild required.

There is one exception. Super Speedy Search has an advanced setting, “Delete this plugin data on deactivation” (stored as delete_all_data_on_deactivation). It is off by default. If you have turned it on and saved your settings, then deactivation runs a cleanup routine that drops the plugin’s main tables, deletes its options and removes the Search Manager role. Unless you have explicitly opted in to that, deactivation leaves everything untouched.

What deletion does

This is the important part to be clear about. Super Speedy Search does not ship an uninstall.php file and does not register an uninstall hook. That means deleting the plugin through wp-admin runs no cleanup code at all. Deletion removes the plugin’s files from wp-content/plugins/, but every custom table and every option it created stays in your database.

Common mistake

The common mistake is to delete the plugin from wp-admin and assume the database is clean. It is not. Deletion runs no cleanup, so the index tables and settings survive. If you want them gone, opt into the cleanup before you delete (steps below).

If you want the data gone, the reliable route is: first turn on “Delete this plugin data on deactivation” and save, then deactivate (which triggers the cleanup), and only then delete the plugin files. If you delete the plugin without doing that, the tables and options remain and you will need to remove them by hand (see below).

Clean removal order
  • Advanced settings: tick “Delete this plugin data on deactivation” and save.
  • Deactivate the plugin (this runs the cleanup routine).
  • Delete the plugin files.
  • Delete wp-content/mu-plugins/sss-fast-ajax.php by hand – the cleanup does not remove it.

What is left behind

Even the built-in opt-in cleanup only drops a specific list of tables. The tables it drops are:

  • {prefix}superspeedysearch (the main search index)
  • {prefix}superspeedysearch_terms
  • {prefix}superspeedysearch_suggestions
  • {prefix}superspeedysearch_suggestions_useradded
  • {prefix}superspeedysearch_suggestions_userremoved
  • {prefix}sss_post_titles
  • {prefix}sss_tokens

Here {prefix} is your WordPress table prefix, usually wp_.

Some other tables the plugin can create are not covered by that automatic cleanup and so are left behind in all cases:

  • {prefix}sss_taxonomy_combinations (used by taxonomy combination suggestions)
  • {prefix}sss_search_log and {prefix}sss_search_redirects (only present if search tracking/analytics was used)
  • {prefix}wpi_scheduler_lock (a small lock table used by the background rebuild scheduler)
  • Any staging or temporary tables left over from an interrupted rebuild, such as {prefix}superspeedysearch_stage_<key>, {prefix}superspeedysearch_temp_<key>, {prefix}superspeedysearch_terms_temp, {prefix}superspeedysearch_suggestions_temp, {prefix}sss_taxonomy_combinations_temp and {prefix}sss_taxonomy_combinations_old. During a normal healthy rebuild these are created and then dropped again, so on a working site you usually will not see them.

The plugin also copies a must-use plugin file to wp-content/mu-plugins/sss-fast-ajax.php (used for the Fast Ajax speed-up). This file is not removed on deactivation or deletion, so it is worth deleting manually if you are removing the plugin for good.

Finally, a handful of settings rows in wp_options are left behind if you did not use the opt-in cleanup, including sss_options (your main settings), sss_db_version, sss_search_columns, sss_taxonomy_search_columns and several sss_build_* bookkeeping options.

None of these leftovers do any harm. They simply sit in the database taking up a little space. If you leave them and later reinstall Super Speedy Search, it will pick them up again.

Removing the leftovers by hand

If you want a completely clean database, you can drop the remaining tables and delete the options yourself. Back up your database first, and double-check your table prefix (run SHOW TABLES LIKE '%superspeedysearch%' and SHOW TABLES LIKE '%sss%' to see exactly what exists on your install). Only drop tables whose names match the Super Speedy Search names below, and never touch core WordPress tables such as wp_posts, wp_options or wp_postmeta.

-- Replace wp_ with your real table prefix.
DROP TABLE IF EXISTS wp_superspeedysearch;
DROP TABLE IF EXISTS wp_superspeedysearch_terms;
DROP TABLE IF EXISTS wp_superspeedysearch_terms_temp;
DROP TABLE IF EXISTS wp_superspeedysearch_suggestions;
DROP TABLE IF EXISTS wp_superspeedysearch_suggestions_temp;
DROP TABLE IF EXISTS wp_superspeedysearch_suggestions_useradded;
DROP TABLE IF EXISTS wp_superspeedysearch_suggestions_userremoved;
DROP TABLE IF EXISTS wp_sss_post_titles;
DROP TABLE IF EXISTS wp_sss_tokens;
DROP TABLE IF EXISTS wp_sss_taxonomy_combinations;
DROP TABLE IF EXISTS wp_sss_taxonomy_combinations_temp;
DROP TABLE IF EXISTS wp_sss_taxonomy_combinations_old;
DROP TABLE IF EXISTS wp_sss_search_log;
DROP TABLE IF EXISTS wp_sss_search_redirects;
DROP TABLE IF EXISTS wp_wpi_scheduler_lock;

If your install used the per-batch staging tables and a rebuild was interrupted, you may also see tables named wp_superspeedysearch_stage_<key> and wp_superspeedysearch_temp_<key>. List them with SHOW TABLES LIKE 'wp_superspeedysearch_%'; and drop any that remain.

To clear the plugin’s settings rows from wp_options:

DELETE FROM wp_options WHERE option_name LIKE 'sss_%';

That pattern matches every option Super Speedy Search creates (they are all prefixed sss_) without touching anything else. After that, delete wp-content/mu-plugins/sss-fast-ajax.php if it is present.

Reinstalling later

If you remove everything and then decide to reinstall, you do not need to recover any of this data. Install the plugin, configure your settings, and build the index once. The command-line route is covered in Rebuilding Super Speedy Search tables from the command line: wp sss rebuild. If deactivation or deletion left the site behaving oddly, or the index seems half-built, see Troubleshooting.

Further reading

if the site behaves oddly after removal or the index looks half-built.
the setup path if you change your mind and reinstall.

Comments

▲
▼
1/1