Push a Staging Site into Production

Last modified: November 24, 2025

In this guide, we’ll cover multiple options for pushing — also known as syncing, migrating, or copying — changes from a Pressable-hosted staging site to a live production site already in place.

Note that Pressable’s free Data Sync feature is the recommended solution for pushing changes from a Pressable-hosted staging site to an existing site.

Preparing to Push Changes

Stop Changes on the Live Site

Before pushing a staging site live, we recommend that you coordinate with all other users that may have editing capabilities to ensure they stop making changes and updates to both versions of the site — especially the live site.

How to Prevent Jetpack License and Connection Issues

To prevent Jetpack license and connection issues, we recommend the following before syncing, pushing, or copying sites.

When possible, use the staging environment variable on your staging site, set the production environment variable on your live site, and follow Jetpack’s Staging Sites and Safe Mode guides.

Otherwise, take the following steps –

  1. Disconnect Jetpack and deactivate any active Jetpack plugins on both the source and destination sites.
  2. After disconnecting and deactivating Jetpack, begin pushing/syncing changes.
  3. After changes have been synced, use the Set Jetpack License button on the updated live site.
  4. Proceed with activating and reconnecting Jetpack.

If you are missing your Jetpack plan after reconnecting, please contact Pressable support.

For missing Jetpack stats, it can take a bit of time for the information to repopulate after reconnecting. If the stats have not returned after 24 hours, Jetpack’s support can assist and more information can be found on their support site.

Data Sync: How to Push Changes via Data Sync

Pressable’s free Data Sync feature can be used to push content, database, and filesystem changes from one Pressable site to another and is the recommended solution for pushing changes from a Pressable-hosted staging site to an existing site. This automated process uses on-demand backups and cross-site restores to create a new backup of a source site and then restore that data to another site.

For the protection of your sites, Pressable will perform an on-demand backup of both the source and destination sites in the event they need to be restored. If no on-demand backup slots are available, instructions will be provided on how to delete an older on-demand backup. For more on managing on-demand backups, please review our detailed backup documentation.

Using Data Sync

Follow the steps below to start a new Data Sync, pushing changes from the selected site to a destination site.

  1. Locate the site you want to push or sync changes from within your MyPressable Control Panel Sites List and navigate to “Manage Data” menu → Data Sync section
Pressable's data sync options
  1. Under Data Sync, use the checkboxes to select the data you’d like to sync.
  2. Choose the destination site to push and sync the data to.
  3. The site will be checked and you will see a green Ready to sync data message.
  4. Select whether to Skip HTTP Status Check, as this will skip the HTTP Status Health Check of the destination site (off by default).
  5. Choose the WordPress Environment for the synced site (choosing Default will keep the destination site’s current value).
  6. Click Start Syncing Data to begin the Data Sync process.

Since new backups for both the source and destination sites must be created, this process can take time. An email notification will be sent to your Pressable.com account email address once the Data Sync process has been completed.

IMPORTANT: Once the Data Sync process is completed, you’ll want to review your wp-config.php file and database to ensure the WordPress Environment Type and site URLs are specified correctly and, if using Yoast, reset Yoast indexables. If a robots.txt file is being used on the source site, the original robots.txt file from the source site will be kept (this would need to be manually reviewed and changed if syncing from a live to staging or staging to live site). If our default robots.txt file is in place on the source site, it will be automatically changed if the destination site’s WP Environment is changed.

Domain Swapping: How to Move Content via a Domain Swap

In addition to the recommended Data Sync feature, another method to make a Pressable-hosted staging site the live production version is to move your custom domain from the old live version of the site to the new staging version. This will make the staging version of the site use your custom domain, effectively making it the live site.

This involves removing the domain from the live site and then adding it to the new site.

Domain Swap Step One: Delete the Custom Domain From the Live Site.

  1. Locate the current live site within your MyPressable Control Panel Sites List navigate to the Site Settings page and then the Domains menu.
  2. Click on the Trash/Garbage can icon next to the domain, under the “Actions” dropdown, to remove the domain. Be sure to remove both the www version and the non-www, or root, domain.

Domain Swap Step Two: Add the Custom Domain to the Staging Site

  1. Locate the staging site within your MyPressable Control Panel Sites List and navigate to Site Settings Page and then to the Domains menu.
  2. If prompted, click Convert to Live Site. Note that this site will now count against your plan’s live site total.
  3. Under Add Domains, add your custom domain and click Add.

If the domain is still using Pressable’s DNS records, the swap should be completed immediately. It might take a few minutes to be reflected in your browser.

Plugins: How to Push Staging Sites via Plugins

While we recommend using Pressable’s Data Sync feature, it is also possible to use plugins to push or copy content, filesystem, and database changes from one Pressable-hosted site to another.

Some popular plugin options include the following:

Syncing Specific Database Tables between Pressable Sites

Currently, it is not possible to sync specific database tables between Pressable sites. This is a feature we’re looking into, but no timeline currently set for implementation.