v1.5.2 · Live on the official WordPress.org Repository

The developer reset
that doesn't log you out.

Database wipe, uploads purge, and full plugin/theme removal in one authenticated operation. Your admin session stays intact. Chunked AJAX means no server timeout can stop it mid-wipe.

Download on WordPress.org Read the Documentation

Engineered for Reliability

Pre-Flight Analyzer

Nothing is deleted until you've seen the full Impact Report. A non-destructive background scan counts your database tables, extensions, and recursively calculates the exact byte size of your uploads folder. You know precisely what's on the chopping block before you confirm.

Zero Timeouts

Deleting 50,000 media files crashes standard reset plugins. Hawsome Site Reset uses an asynchronous, chunked AJAX pipeline to bypass PHP execution limits, ensuring 100% completion on any host, regardless of timeout settings.

Tested on SiteGround: 199 custom tables + 1.77 GB wiped in 9 seconds

Three-Step Verification

Every reset requires a site-specific confirmation string, a time-limited server-side token, and your administrator password re-entered on the spot. Three failed attempts locks the form for 15 minutes. Immune to XSS and clickjacking.

The Deep Cleanse

We don't just truncate core tables. Hawsome Site Reset drops orphaned custom tables (WooCommerce leftovers, etc.), removes cache drop-ins like advanced-cache.php, and leaves your database in a true blank-slate state.

Live Mission Control

Because wiping a large site takes time, a live terminal streams every chunk cleared and every table dropped in real-time. You always know exactly where the process is. It never goes silent and leaves you guessing.

See It In Action

Pre-Reset Analysis dashboard showing the Impact Report

The Pre-Reset Analysis dashboard showing the Impact Report.

Final Verification step with the secure password prompt

The Final Verification step with the secure password prompt.

Mission Control terminal wiping the site in real-time

The Mission Control terminal wiping the site in real-time.

Success screen confirming the wipe is complete

The success screen confirming the database and filesystem have been completely purged.

Documentation & FAQ

Will I be logged out after the reset?

No. Your active session token and administrator account are strictly preserved. You will remain logged in seamlessly.

What does the database look like after a reset?

The reset runs wp_install_defaults(), which creates the default "Hello World" post, a "Sample Page", and a default navigation menu, identical to a fresh WordPress installation. The database is not completely empty; it mirrors a brand-new install.

What happens to my active theme?

Your currently active theme is completely shielded from the filesystem wipe and remains 100% active. Every other theme, whether active or inactive, is permanently deleted from the server.

Will this delete my other active plugins, not just inactive ones?

Yes. Every plugin except Hawsome Site Reset itself is permanently deleted from the server during the filesystem wipe, regardless of whether it was active or inactive. This is a full plugin wipe, not a selective cleanup. Do not run a reset on a site with plugins you intend to keep.

Does this delete must-use plugins?

No. The wp-content/mu-plugins/ directory and all of its contents are explicitly protected during the filesystem wipe. This includes host-injected mu-plugins on managed hosts like WP Engine, Kinsta, and Pressable.

Will this delete caching drop-ins?

Yes. The plugin scans the wp-content root and permanently removes files like advanced-cache.php and objectcache.php to prevent fatal errors after reboot.

How do I permanently disable the plugin on a production environment?

Add the following constant to your wp-config.php:

define( 'DISABLE_HAWSOME_RESET', true );

When set, the plugin's reset functionality is completely disabled. Useful for environments where the plugin is installed but should never be triggerable.

Is there a hook I can use to run my own code after a reset?

Yes. The hawsome_reset_executed action fires immediately after a successful reset, before the terminal redirects. It passes the user ID (integer) and IP address (string) of the admin who triggered it. Suited for external notifications: webhooks, Slack, logging services.

add_action( 'hawsome_reset_executed', function( $user_id, $ip ) { /* your code */ }, 10, 2 );

Does this plugin work with SQLite databases?

No. MySQL or MariaDB is required. The plugin detects a SQLite backend and blocks the reset with a clear error message before any destructive action occurs.