ThisCalculator

Everyday

WordPress Staging Environment: 4 Reliable Methods

Updated · Standard formula, shown below

WordPress Staging Environment: 4 Reliable Methods

Setting up a WordPress staging environment lets you test updates, plugins, and theme changes without risking your live site. This guide covers four reliable methods—from simple plugin-based approaches to manual setups—so you can choose the one that fits your hosting and comfort level. You’ll learn how to create a clone, work on it safely, and push changes back to production.

What You’ll Need

  • A WordPress site with admin access (to install plugins or use cPanel).
  • FTP/SFTP credentials and database access (for manual methods).
  • Depending on your host, cPanel, phpMyAdmin, or a hosting control panel.
  • A staging subdomain or subdirectory (e.g., staging.example.com) or a separate hosting plan.

Step-by-Step

Method 1: Using a Staging Plugin (e.g., WP Staging)

  1. Install a staging plugin from your WordPress dashboard. Popular options include WP Staging, Duplicator, or UpdraftPlus (premium). For this guide, we’ll use WP Staging (free version).
  2. Go to WP Staging in the admin menu and click Start.
  3. Enter a subdirectory name for your staging site (e.g., staging). The plugin will create a copy in a subfolder of your main site.
  4. Choose what to copy: files, database, and optionally a specific database table prefix. Leave defaults if unsure.
  5. Click Start Cloning. The plugin will copy files and database, which may take a few minutes.
  6. Once done, you’ll see a link to your staging site. Log in with the same admin credentials (or the ones you set).
  7. Test your changes there. When ready, use the plugin’s Push feature (available in the premium version) or manually sync files and database.

Method 2: Using Your Hosting Provider’s Staging Feature

  1. Log into your hosting control panel (cPanel, Plesk, or a custom dashboard).
  2. Look for a Staging or WordPress Staging tool. Many managed hosts (e.g., Bluehost, SiteGround, WP Engine) offer this as a one-click feature.
  3. Select your live site from the list and click Create Staging.
  4. Wait for the process to complete. The host will typically create a subdomain like staging.yoursite.com.
  5. Access the staging site via the provided URL and log in with your usual admin credentials.
  6. After testing, use the host’s Deploy or Push to Live button to move changes to production.

Method 3: Manual Staging with a Subdirectory and Database Copy

  1. Create a subdirectory on your server via FTP or file manager, e.g., /public_html/staging.
  2. Copy all WordPress files from your live site’s root to that subdirectory. Use FTP or a file manager; be sure to include hidden files like .htaccess.
  3. Export your live database using phpMyAdmin. Select the database, click Export, and choose the “Quick� or “Custom� method. Save the SQL file.
  4. Create a new database for staging (e.g., staging_db) and a user with all privileges. Note the database name, user, and password.
  5. Import the SQL file into the new database via phpMyAdmin.
  6. Edit the staging site’s wp-config.php to point to the new database. Change DB_NAME, DB_USER, and DB_PASSWORD.
  7. Update the site URLs in the database. In phpMyAdmin, run SQL queries like:
    UPDATE wp_options SET option_value = 'http://yoursite.com/staging' WHERE option_name = 'siteurl';
    UPDATE wp_options SET option_value = 'http://yoursite.com/staging' WHERE option_name = 'home';
    (Replace wp_ with your actual table prefix.)
  8. Test the staging site by visiting http://yoursite.com/staging. If you get a database error, double-check the wp-config.php credentials.

Method 4: Using a Local Development Environment (e.g., Local by Flywheel)

  1. Install a local WordPress environment like Local by Flywheel or XAMPP on your computer.
  2. Create a new local site in the tool. For Local, click + and follow the prompts.
  3. Export your live site’s files via FTP or a backup plugin. Download the entire WordPress directory.
  4. Replace the local site’s files with your live files (except wp-config.php if you want to keep local settings).
  5. Export your live database and import it into the local site’s database (via phpMyAdmin in Local or Adminer).
  6. Update the site URLs to your local URL (e.g., http://mysite.local). Use a plugin like “Better Search Replace� or run SQL queries.
  7. Work locally, then push changes to live using a migration plugin like Duplicator or by manually uploading files and database.

Common Mistakes

  • Forgetting to update the site URL in the database. This causes redirect loops or a blank page.
  • Not changing the database credentials in wp-config.php when moving to a new database.
  • Testing on a live site because the staging site wasn’t properly isolated.
  • Pushing changes without backing up the live site first. Always take a backup before deploying.
  • Using the same database for staging and live, which can corrupt data.

Tips

  • Keep staging private by password-protecting the staging directory or using a plugin to block search engines.
  • Test everything: plugin updates, theme changes, new features, and especially any custom code.
  • Use a version control system like Git for your theme and plugin files to track changes.
  • When pushing changes, always update the database carefully—especially if you’ve added new content on staging that might conflict with live changes.
  • Regularly refresh staging to match live, so you’re not testing on outdated code.

Troubleshooting

  • “Error establishing a database connectionâ€� on staging: Check your wp-config.php database name, user, and password. Ensure the database exists and the user has permissions.
  • Redirect loop or “too many redirectsâ€�: The site URL is likely still pointing to the live domain. Update the siteurl and home options in the database.
  • Staging site shows live content: You may have imported the wrong database or the staging site is reading from the live database. Verify the database credentials and that you imported the correct SQL file.
  • Images or links point to live site: Use a search-replace plugin to update all URLs in the database from your live domain to the staging domain.
  • Plugin conflicts on staging: Deactivate all plugins and re-activate one by one to find the culprit.
  • Push fails: If using a plugin, ensure you have enough PHP memory and execution time. If manual, double-check file permissions and database import.

Frequently Asked Questions

What is a WordPress staging environment?

A staging environment is a clone of your live site where you can test changes without affecting visitors. It’s a safe sandbox for updates, new features, and troubleshooting.

How long does it take to set up a staging site?

Using a plugin or hosting feature, it usually takes 5–15 minutes. Manual methods can take 30–60 minutes depending on your site’s size and your familiarity with databases.

Can I use a staging site for client work?

Yes, staging is ideal for showing clients new designs or features before going live. Just remember to password-protect it if it’s publicly accessible.

Do I need a separate domain for staging?

No, you can use a subdomain (staging.yoursite.com) or a subdirectory (yoursite.com/staging). A subdomain is often cleaner and easier to manage.

How do I push changes from staging to live?

You can use a plugin like WP Staging (premium) or manually upload changed files and export/import the database. Always backup live first.

Is it safe to delete a staging site?

Yes, once you’ve pushed changes and verified everything, you can delete the staging site. Keep a backup of the staging database if you might need it later.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.