{"id":220611,"date":"2025-01-30T06:00:58","date_gmt":"2025-01-30T06:00:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/factory-reset\/"},"modified":"2026-08-18T15:24:25","modified_gmt":"2026-08-18T15:24:25","slug":"factory-reset","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/factory-reset\/","author":8919718,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Factory Reset","header_author":"Ankit Rawat","header_description":"A WordPress plugin to reset your site to its initial state. Use with caution as it deletes all content, plugins, themes, and custom files except for this plugin.","assets_banners_color":"","last_updated":"2026-08-18 15:24:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ankitrawat.com\/factory-reset-plugin\/","header_author_uri":"https:\/\/ankitrawat.com","rating":5,"author_block_rating":0,"active_installs":20,"downloads":1701,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2":{"tag":"1.2","author":"ankitrawat","date":"2025-01-30 06:00:35"},"1.3":{"tag":"1.3","author":"ankitrawat","date":"2025-01-31 15:45:53"},"2.0.0":{"tag":"2.0.0","author":"ankitrawat","date":"2026-08-18 15:24:25"}},"upgrade_notice":{"2.0.0":"<p>This release contains a major safety and compatibility rewrite. Back up the site before using Factory Reset.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3231717,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3231717,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2","1.3","2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[237689,237688,4684,144773,4982],"plugin_category":[59],"plugin_contributors":[236932],"plugin_business_model":[],"class_list":["post-220611","plugin","type-plugin","status-publish","hentry","plugin_tags-clean-install","plugin_tags-factory-reset","plugin_tags-reset","plugin_tags-site-reset","plugin_tags-wordpress-reset","plugin_category-utilities-and-tools","plugin_contributors-ankitrawat","plugin_committers-ankitrawat"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/factory-reset\/assets\/icon-128x128.png?rev=3231717","icon_2x":"https:\/\/ps.w.org\/factory-reset\/assets\/icon-256x256.png?rev=3231717","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Factory Reset helps developers and advanced users clean a single-site WordPress installation without reinstalling WordPress.<\/p>\n\n<p>The reset permanently removes site content, comments, uploaded files, users other than the current administrator, installed plugins other than Factory Reset, non-core database tables, and installed themes other than the active theme and its parent theme.<\/p>\n\n<p>The active theme is preserved so the installation is not left without a usable theme. WordPress core files, the current administrator account, core database tables, and the site's installation URLs are preserved.<\/p>\n\n<p><strong>Important:<\/strong> This operation is permanent. Always create and verify a backup before using Factory Reset.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Delete posts, pages, custom post types, attachments, revisions, and related data through WordPress APIs.<\/li>\n<li>Delete comments.<\/li>\n<li>Delete all users except the current administrator.<\/li>\n<li>Remove non-core database tables using WordPress's core table list as the protected set.<\/li>\n<li>Empty the configured WordPress uploads directory while preserving the directory itself.<\/li>\n<li>Remove installed plugins except Factory Reset.<\/li>\n<li>Remove installed themes except the currently active theme.<\/li>\n<li>Reset selected core site settings to clean defaults.<\/li>\n<li>Require the administrator to type <code>RESET<\/code> before the operation can run.<\/li>\n<li>Use WordPress nonces and capability checks for the destructive action.<\/li>\n<li>Single-site only; multisite installations are refused.<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GNU General Public License v2 or later.<\/p>\n\n<h3>Author<\/h3>\n\n<p>Developed by Ankit Rawat.<\/p>\n\n<h3>Plugin URI<\/h3>\n\n<p>For more information, visit the plugin page.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Factory Reset from the WordPress Plugins screen.<\/li>\n<li>Go to <strong>Tools &gt; Factory Reset<\/strong>.<\/li>\n<li>Read the warning and make a verified backup.<\/li>\n<li>Type <code>RESET<\/code> in the confirmation field.<\/li>\n<li>Click <strong>Reset Site<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20factory%20reset%20reversible%3F\"><h3>Is Factory Reset reversible?<\/h3><\/dt>\n<dd><p>No. The reset permanently deletes data. Restore a verified backup if you need to recover the site.<\/p><\/dd>\n<dt id=\"which%20user%20is%20preserved%3F\"><h3>Which user is preserved?<\/h3><\/dt>\n<dd><p>The administrator account that performs the reset is preserved. Other WordPress users are deleted.<\/p><\/dd>\n<dt id=\"are%20wordpress%20core%20database%20tables%20deleted%3F\"><h3>Are WordPress core database tables deleted?<\/h3><\/dt>\n<dd><p>No. WordPress core tables are explicitly protected. Tables outside WordPress's core table list that use the site's database prefix are removed.<\/p><\/dd>\n<dt id=\"are%20wordpress%20core%20files%20deleted%3F\"><h3>Are WordPress core files deleted?<\/h3><\/dt>\n<dd><p>No. The plugin only removes files within the configured uploads directory and installed plugins\/themes. WordPress core files are not touched.<\/p><\/dd>\n<dt id=\"is%20the%20active%20theme%20deleted%3F\"><h3>Is the active theme deleted?<\/h3><\/dt>\n<dd><p>No. The active theme is preserved so the site remains usable after the reset. If it is a child theme, its parent theme is preserved too.<\/p><\/dd>\n<dt id=\"does%20factory%20reset%20support%20multisite%3F\"><h3>Does Factory Reset support multisite?<\/h3><\/dt>\n<dd><p>No. The plugin deliberately refuses to run on multisite installations.<\/p><\/dd>\n<dt id=\"does%20factory%20reset%20send%20data%20anywhere%3F\"><h3>Does Factory Reset send data anywhere?<\/h3><\/dt>\n<dd><p>No. The plugin does not make remote requests, collect telemetry, or send usage data.<\/p><\/dd>\n<dt id=\"should%20i%20use%20this%20on%20a%20production%20site%3F\"><h3>Should I use this on a production site?<\/h3><\/dt>\n<dd><p>Only if you intentionally want to permanently remove the site's data and have a verified backup. The plugin is primarily intended for development, testing, and controlled site resets.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Updated compatibility metadata for WordPress 7.0.<\/li>\n<li>Reworked destructive operations to protect WordPress core database tables.<\/li>\n<li>Added single-site enforcement.<\/li>\n<li>Added mandatory <code>RESET<\/code> confirmation.<\/li>\n<li>Improved capability, nonce, input validation, output escaping, and redirect handling.<\/li>\n<li>Removed hard-coded <code>wp-content<\/code> paths in favor of WordPress directory APIs.<\/li>\n<li>Fixed plugin self-preservation for both directory and root-level installations.<\/li>\n<li>Preserved the active theme to avoid leaving the site without a usable theme.<\/li>\n<li>Improved large-site deletion by processing posts in batches.<\/li>\n<li>Removed the old custom-folder assumption and now clear the configured uploads directory.<\/li>\n<li>Added internationalization-ready text domain and translatable admin strings.<\/li>\n<li>Updated documentation for current WordPress.org plugin requirements.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Preserved the empty themes folder after reset.<\/li>\n<li>Improved code structure and readability.<\/li>\n<li>Added a <code>$preserve_directory<\/code> parameter to the <code>delete_files<\/code> method.<\/li>\n<li>Updated documentation and tested compatibility with WordPress 6.7.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Initial release with basic reset functionality.<\/li>\n<\/ul>","raw_excerpt":"Reset a single-site WordPress installation by removing site data and installed extensions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/220611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=220611"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ankitrawat"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=220611"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=220611"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=220611"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=220611"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=220611"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=220611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}