WORDPRESS

Factory Reset

Reset a single-site WordPress installation by removing site data and installed extensions.

✓ 100% Free & Open Source ✓ Preserves Admin & Core ✓ Chunked Batch Deletion
Factory Reset — WordPress single-site cleanup and reset engine.
Admin Preserved
Initiating Admin Retained

The administrator account initiating the reset (identified via get_current_user_id()) is preserved so the reset returns directly to the WordPress dashboard with an active authentication session.

100 / Batch
Chunked Batch Deletion

Processes database records in 100-item batches to prevent PHP execution timeouts and memory exhaustion on large test databases.

Type “RESET”
Strict Confirmation Guard

Requires explicit uppercase confirmation token plus nonce and manage_options capability verification before execution.

Multisite Guard
Multisite Safety Block

Automatic execution block on WordPress Multisite networks to prevent accidental database reset on shared network installations.

Clean Slate Engineering

A clean WordPress installation in seconds, without destroying your server or core files.

Developing themes, testing plugins, importing dummy WooCommerce stores, or staging client handoffs leaves sites polluted with thousands of orphaned post records, media entries, comments, terms, and transient options.

Factory Reset restores your WordPress single-site installation back to a clean, newly installed state with a single controlled operation. Unlike crude SQL drops or wp-cli scripts that break site configurations, Factory Reset protects your administrative login credentials, core tables, active theme files, and core files on disk while resetting the content database and removing test assets.

Single-Site Reset Scope

Wipes posts, revisions, custom post types, attachments, comments, tags, categories, non-admin users, custom tables, inactive themes, other plugins, and orphaned transients. The administrator account initiating the reset is preserved, along with core WordPress database tables, active theme, and core server files.

Core Operational Features

  • ✓
    Admin Account Retention: The administrator account initiating the reset is preserved with credentials, password hash, and active session intact.
  • ✓
    Chunked SQL Batching: Deletes large datasets in 100-record batches to prevent gateway timeouts.
  • ✓
    Explicit Confirmation Token: Requires exact uppercase string verification before initiating deletion.
  • ✓
    Multisite Safety Guard: Refuses execution on multisite networks to safeguard shared installations.
  • ✓
    Zero Third-Party Dependencies: Pure PHP/MySQL execution running entirely within your WordPress environment.
Controlled Execution

How Factory Reset Safely Cleans Your Installation

A deliberate, four-stage lifecycle engineered to eliminate accidental data loss while ensuring complete database sanitization.

Step 01

Pre-Flight Scope Inspection

Open the Tools → Factory Reset panel in wp-admin. Review what will be deleted and confirm that a recent database and file backup exists.

Step 02

Type-to-Confirm Challenge

Type the exact uppercase confirmation token “RESET” into the verification input field. Validate the CSRF security nonce.

Step 03

Chunked Batch Deletion

The engine iterates through posts, media, comments, and terms in 100-item batches, preventing server timeout errors.

Step 04

Clean State Reset

Core database options are reset to standard WordPress defaults while strictly preserving siteurl, home, and the initiating administrator account.

Precise Data Boundary

Reset Scope & Preservation Boundaries

Understand exactly what Factory Reset removes from your installation and what remains safe.

Wiped from Installation
Reset Scope
Single-Site Content & Test Assets
  • Database: Posts, pages, revisions, drafts, and trash items (wp_posts & wp_postmeta)
  • Database: Custom post types (CPTs) and custom tables matching site prefix (wp_*)
  • Database: Comments and comment metadata (wp_comments & wp_commentmeta)
  • Database: Custom tags, categories, and taxonomy terms (wp_terms & taxonomy tables)
  • Database: Non-admin users and secondary administrator accounts (wp_users & wp_usermeta)
  • Database: Orphaned transients and plugin options in wp_options
  • Filesystem: Uploaded media files and directories inside wp-content/uploads/
  • Filesystem: Inactive themes in wp-content/themes/ and other test plugins in wp-content/plugins/
✕ Content database records, test extensions, and uploaded files are permanently deleted.
Preserved Intact
Core & Admin
Preservation Scope
  • User State: The administrator account initiating the reset (via get_current_user_id()) is preserved with password and active session
  • Database: WordPress core database tables are protected by an explicit whitelist; options reset with siteurl and home preserved
  • Filesystem: Core WordPress files (wp-admin, wp-includes, and root PHP files) are never touched
  • Filesystem: Configuration files (wp-config.php and .htaccess) remain untouched
  • Filesystem: Currently active theme and parent theme in wp-content/themes/ are preserved
  • Filesystem: Factory Reset plugin itself in wp-content/plugins/factory-reset/ is preserved
  • User Experience: The executing administrator is preserved so the reset can return directly to the WordPress dashboard
✓ Core files, configuration, active theme, and initiating admin remain safe.
Important Safety & Preservation Notice: Factory Reset performs irreversible database modifications. It is designed for development environments, staging testing, theme/plugin QA, and fresh rebuilds. It should never be executed on active production stores without a complete, verified offsite database backup. Execution on WordPress Multisite networks is automatically blocked by default.
Architecture & Features

Technical Reset & Sanitization Engine

Six architectural pillars engineered for controlled database resets without server timeouts or accidental network data loss.

Pillar 1 Auth Safety

Administrative Account Retention

Will the administrator be locked out of the site?

The administrator account initiating the reset is preserved (via get_current_user_id()) prior to user table reset, allowing immediate continued administration without re-login or password reset emails.

  • The administrator account initiating the reset is preserved through user table reset
  • Maintains administrator role assignment and active auth session
  • The executing administrator is preserved so the reset can return to the WordPress dashboard without email dependencies
Pillar 2 Stability

Chunked Batch Deletion

Can large test databases cause gateway timeout errors?

Executes record deletions and metadata cleanup in 100-item batches to prevent PHP max execution timeouts and memory exhaustion.

  • 100-record batch operations prevent gateway 504 timeout errors
  • Handles databases with tens of thousands of mock records safely
  • Deterministic step-by-step progress tracking
Pillar 3 Security

Type-to-Confirm & CSRF Verification

Can a reset be triggered accidentally by a single misclick?

Eliminates accidental execution by requiring users to type the exact uppercase confirmation token “RESET”, validated alongside WordPress nonces and capability checks.

  • Case-sensitive “RESET” token verification input
  • Strict WordPress nonce validation on all form submissions
  • manage_options capability check prevents unauthorized execution
Pillar 4 Failsafe

Multisite Network Safety Guard

Is it safe to run on shared multi-site networks?

Detects WordPress Multisite network environments and immediately blocks reset operations to prevent accidental truncation on shared network databases.

  • Automatic is_multisite() environment detection
  • Explicit administrative notice explaining single-site constraint
  • Safeguards sub-sites and network-wide user directories
Pillar 5 Deep Cleanup

Orphaned Meta & Transient Purge

Does the reset leave behind junk data in options and meta tables?

Deep cleans residual postmeta, commentmeta, usermeta, term relationships, and transient options left behind by uninstalled test plugins and imported datasets.

  • Purges orphaned postmeta, termmeta, and usermeta records
  • Cleans all transient cache entries from the wp_options table
  • Removes residual custom taxonomy linkages
Pillar 6 Diagnostics

In-Admin Diagnostics & Safety Panel

Can you inspect database metrics prior to triggering the wipe?

Displays current database metrics, table row counts, and pre-flight recommendations under Tools → Factory Reset before any reset action is submitted.

  • Live summary of posts, media items, comments, and non-admin users
  • Clear pre-reset confirmation checklist
  • Zero background telemetric reporting or external requests
Technical Specifications & Compatibility

Designed for Safe, Controlled Site Cleanup

Engineered to strict WordPress core coding standards with zero external dependencies.

Technical Specifications

Current Version 2.0.1
WordPress Compatibility WordPress 6.0 through 7.1
PHP Compatibility PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5
License GPL-2.0-or-later
Author Ankit Rawat

Execution Safety

Batch Size 100 items / batch operation
Access Control manage_options only
CSRF Protection WordPress Nonce + Confirmation
Multisite Protection Multisite automatically blocked

100% On-Server Privacy

PHP makes zero outbound HTTP requests, contains no telemetry, and transmits no private data or customer analytics to external servers. All queries execute locally on your WordPress host.

Common Questions

Frequently Asked Questions

What does Factory Reset do?
Factory Reset restores a single-site WordPress installation to a clean default state. It removes all posts, pages, custom post types, comments, secondary user accounts, custom database tables matching the site prefix, uploaded files in wp-content/uploads/, inactive themes, and other installed test plugins, while preserving core database tables (protected by an explicit whitelist), core system files, your active theme, and the administrator account initiating the reset.
Is the reset operation reversible?
No. Factory Reset performs permanent, irreversible deletions. There is no automatic undo button. You should always create and verify a complete database and file backup before executing a reset.
Which administrator account is preserved during a reset?
The administrator account initiating the reset (identified via get_current_user_id()) is preserved, along with their login credentials, password hash, email, and active session. All secondary administrators, editors, and other user accounts are removed.
Are WordPress core database tables or core files deleted?
No. Core WordPress tables are protected by an explicit whitelist; options are reset to standard defaults with siteurl and home preserved. WordPress core files (wp-admin, wp-includes, and root PHP files such as wp-config.php and .htaccess) are never touched.
What happens to my active theme and uploaded media?
The currently active theme and its parent theme are preserved in wp-content/themes/ so the site remains operational. Files inside wp-content/uploads/ are emptied while preserving directory permissions. Inactive themes and other installed test plugins are removed (except Factory Reset itself).
Does Factory Reset support WordPress Multisite?
No. The plugin is strictly engineered for single-site WordPress installations and automatically halts execution if called on a WordPress Multisite network to prevent accidental network-wide database loss.
Does Factory Reset send data or telemetry to external servers?
No. Factory Reset operates 100% locally on your WordPress host with zero outbound HTTP/API requests, zero telemetry, and zero third-party tracking.
Available on WordPress.org

Ready for a Clean WordPress State?

Factory Reset is 100% free, open-source, and hosted on WordPress.org. Clean up your staging environments, theme testing sites, and test databases safely in seconds.

• Version 2.0.1 • GPL-2.0-or-later • 100% Local Execution • Admin & File Preservation