WP Manifestindependent plugin directory
manifest / updates / wp-simple-staging

Simple Staging

Create and manage a staging copy of your WordPress site in a subdirectory or subdomain — no external services, no subscriptions.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/phalox/wp-simple-staging/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Create and manage a staging copy of your WordPress site in a subdirectory or subdomain — no external services, no subscriptions.

image

Features

  • Clones the live database into a staging-specific table prefix (but in the same database for higher performance)
  • Copies all WordPress files into a subdirectory of your choosing
  • Works with subdomains (staging.website.be)
  • Rewrites URLs, paths, and configuration so the staging site works out of the box
  • Runs in small batches so it won't time out on large sites
  • One-click deletion removes all staging files and database tables
  • Zero external dependencies — pure PHP/WordPress APIs
  • Blazing fast on shared hosting

Requirements

  • WordPress 5.6 or later
  • PHP 7.4 or later
  • Write permission on the WordPress root directory

Installation

  1. Upload the wp-simple-staging folder to wp-content/plugins/.
  2. Activate the plugin in Plugins → Installed Plugins.
  3. Navigate to Tools → Simple Staging.

Usage

The clone wizard runs three sequential steps:

Step What happens
Tables Each live table is copied to a new table with the staging prefix.
Files All WordPress files are copied to the staging subdirectory (excluded dirs are skipped — see below).
Configure wp-config.php, .htaccess, and database rows are rewritten for the staging URL and table prefix.

Once complete, your staging site is available at https://your-site.com/staging/ (or the subdirectory you chose), or if your hosting allows it https://staging.your-site.com/

Excluded directories

The following directories are never copied into staging:

Path Reason
.git, .svn Version-control metadata
node_modules Build-time dependencies
wp-content/cache Ephemeral cache files
wp-content/upgrade WordPress core upgrade scratch space
wp-content/wflogs Wordfence log files
wp-content/ai1wm-backups All-in-One WP Migration backups
wp-content/updraft UpdraftPlus backups
wp-content/backup-guard BackupGuard backups
wp-content/wpstg WP Staging Pro data
wp-content/backups Generic backup directories

The staging directory itself is also always skipped, so re-cloning never copies a previous staging clone into the new one.

Deleting the staging site

Go to Tools → Simple Staging and click Delete Staging. This removes:

  • All files inside the staging subdirectory
  • All database tables with the staging prefix

Uninstalling the plugin

Deleting the plugin via Plugins → Delete triggers uninstall.php, which removes the smsng_clone and smsng_settings options from wp_options.

Tested

This plugin was tested on a shared hosting website:

  • WP version 6.9.4 with >15 active plugins
  • 100+ tables
  • 20k+ files

Creating the staging takes less than half a minute

License

GNU General Public License v2.0 or later