WordPress Staging Sites
How to create a WordPress staging environment on GoZen Host to test changes safely before pushing them live.
3 min read
A staging site is a private copy of your live WordPress site where you can test updates, new plugins, theme changes, or design tweaks without risking your production site. Anything that breaks there stays off the live site.
Why Use a Staging Site?
- Test WordPress core updates before applying them to your live site
- Try new plugins or themes without risking compatibility issues
- Redesign pages and get approval before going live
- Debug issues in an isolated environment
- Test WooCommerce changes (checkout flows, payment gateways) safely
Method 1: cPanel Staging with Softaculous
If you installed WordPress via Softaculous, staging is built in:
- Log in to cPanel > Softaculous Apps Installer
- Click the Installations tab (or the WordPress icon)
- Find your site and click the Create Staging button
- Choose a staging URL:
- Subdomain:
staging.yourdomain.com(recommended) - Subdirectory:
yourdomain.com/staging
- Subdomain:
- Click Create Staging
Softaculous clones your entire site (files + database) to the staging location.
Pushing Staging to Live
When you’re happy with the changes:
- Go back to Softaculous > Installations
- Find the staging installation
- Click Push to Live
- Select what to push: Files only, Database only, or Both
- Confirm
WooCommerce warning: If you push the database, you’ll overwrite any live orders, customers, or data created since the staging copy was made. For WooCommerce sites, push files only unless you know what you’re doing.
Method 2: WP Staging Plugin
WP Staging is the most popular staging plugin:
- Install and activate WP Staging on your live site
- Go to WP Staging > Create New Staging Site
- Choose which database tables to include (default: all)
- Click Start Cloning
- WP Staging creates the clone in a subdirectory (e.g.,
/wp-staging/)
Accessing Your Staging Site
After cloning, WP Staging gives you a direct link. The staging site has an orange admin bar so you always know you’re on staging, not production.
Method 3: Manual Staging
For developers who want complete control:
- Create a subdomain in cPanel > Domains (e.g.,
staging.yourdomain.com) - Clone the database: create an empty staging database and user in cPanel > MySQL Databases, then in phpMyAdmin export the live database (Export > Quick > SQL) and import the file into the staging database (Import). On a VPS, Business Cloud or dedicated server you can do the same over SSH (shared and WordPress plans have no shell):
mysqldump -u dbuser -p live_database > live_backup.sql mysql -u staging_dbuser -p staging_database < live_backup.sql - Clone the files via File Manager (compress, copy, extract) or FTP
- Update wp-config.php with the staging database credentials
- Update URLs in the database:Then log into the staging site and replace the remaining live URLs in posts, menus and plugin settings: run Better Search Replace from
UPDATE wp_options SET option_value = 'https://staging.yourdomain.com' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'https://staging.yourdomain.com' WHERE option_name = 'home';https://yourdomain.comtohttps://staging.yourdomain.com(it handles serialized data). Without this, staging pages still load images from, and link back to, the live site. - Block search engines: Settings > Reading > check “Discourage search engines”
Best Practices
- Password-protect staging so it’s not publicly accessible (cPanel > Directory Privacy)
- Block search engines from indexing staging (duplicate content hurts SEO)
- Don’t leave staging sites running indefinitely - they use disk space and become security risks
- Always back up before pushing to live
- Delete staging once testing is complete
Related Articles
- Installing WordPress
- Backups and Restores
- WordPress Speed Optimization
- Browse VPS Plans - running staging + production on the same shared plan often pushes you into resource limits; a VPS removes the constraint
Last updated 21 Oct 2026, 00:00 +0300.