Pull and Push Your Staging Site
Once a hosted site has a staging site, you can copy it in either direction from one screen: Developer Tools > Staging Site on the production site. Both actions take a few minutes.

This is not the InstaWP Connect 2-way sync. This page covers the staging site built into a site hosted on InstaWP, which copies the whole site in one direction at a time. If your live site is hosted elsewhere and you sync selected changes with the InstaWP Connect plugin, you want How to Sync Changes from Staging to Live instead.
In this documentation, we will cover:
- The two directions
- Pull to staging
- Push to production
- What a push does not change
- While a sync is running
Let's get started 🚀
The two directions
| Action | Copies | Overwrites | Leaves alone |
|---|---|---|---|
| Pull to staging | Production files and database | Everything on staging | Production |
| Push to production | Staging files and database | Everything on your live site | Staging |
Neither action merges anything. Each one replaces the destination site's files and database with a copy of the source site, so any work sitting on the destination is gone once it finishes.
Pull to staging
Use this when staging has drifted and you want to start again from what is currently live, or when you want to reproduce a problem against real production data.
Step 1: Open the production site and select Developer Tools > Staging Site.
Step 2: In the Sync column, click Pull to staging.
Step 3: Read the confirmation and click Pull to staging again. It takes a few minutes, and you can leave the page while it runs.

A pull replaces everything on staging
The dialog puts it plainly: "This replaces everything on your staging site with a fresh copy of production. Any changes you have made on staging will be lost. Your production site is not affected."
Push your work to production first if you want to keep it.
The staging site keeps its own URL and its own SSH and SFTP credentials, so anything you have pointed at that URL keeps working afterwards.
Push to production
Use this when the work on staging is ready to go live. The push copies the staging site's files and database over your live site, rewriting the staging URL to your production URL as it goes, so links and settings point at the live address.
There is no automatic undo, and no backup is taken first
That is the wording of the confirmation dialog, and it is exact. In full, the dialog says:
Everything on your production site, files, database, plugins, themes and content, will be replaced by the staging copy. Your domain, SSL and plan stay as they are. There is no automatic undo, and no backup is taken first: if you want to be able to go back, take a backup of your production site before you continue.
So take your own backup of the production site first if you want a way back. See View and Manage Backups.
Step 1: Take a backup of the production site if you want to be able to restore it.
Step 2: Open the production site and select Developer Tools > Staging Site.
Step 3: In the Sync column, click Push to production. Read the Replace production with staging? dialog, then click Push to production to confirm, or Cancel to back out.

Step 4: Wait for it to finish. It takes a few minutes. The CDN cache for the production site is purged once the push completes, so visitors see the new site rather than a cached copy of the old one.
Your staging site is unchanged by a push. It stays exactly as it was, so you can carry on working there.
Password protection is switched off after a push
If the production site had password protection enabled, it is turned off when a push completes and is not re-applied. Check the setting on the production site after a push and turn it back on yourself if you still need it.
What a push does not change
A push copies the site's files and database. Everything that belongs to the production site itself stays put:
- Mapped domains: a site with a mapped primary domain keeps serving that domain after the push.
- SSL certificates and the CDN pull zone
- Tags
- SSH keys
- The site's plan and site settings
If you need to change any of those, change them on the production site itself, before or after the push.
While a sync is running
A pull and a push cannot run at the same time. While either one is in progress:
- The other direction is unavailable until it finishes.
- Deleting the staging site is refused.
Wait for the running sync to complete, then start the next action.
Related Articles
- Staging Environment for Hosted Sites - Create one, and what it includes
- Manage Staging Environments via API - Run a pull or a push over the API
- View and Manage Backups - Back up production before a push
- Restore a Site from Backup - Restore a backup you took earlier