Menu

Staging on Flywheel

Updated on October 11th, 2023

Flywheel offers Staging on all current plans. Because of the complex nature and size requirements, Staging sites are not available on Legacy Tiny plans or sites that employ WordPress Multisite.

Note

For users that signed up to Flywheel via a Google account, you’ll first need to create a password before you’ll be able to push from staging to production. To generate a password for your account, head to your Profile > Security and follow the prompts.


Getting started with Staging

Staging can be enabled from the Advanced tab of the site’s Flywheel dashboard. Staging sites are then accessible via a staging URL, which you can find under the new Staging tab in your site’s dashboard.

Because you don’t want search bots crawling your staging site or visitors seeing it while you’re still working on it, the staging site is protected by a Privacy Mode. The username and password can be found in the Staging tab, and they’ll be identical to the Privacy Mode username and password on the live site.

You’ll find the switch to enable and disable Staging under the Advanced tab of the site’s Flywheel dashboard. Toggle that switch on to get Staging set up for your site!

It may take a few minutes to get Staging ready, particularly if you have a large site. Once setup is complete, you’ll have a new Staging tab in your site’s Flywheel dashboard. Click that new tab to see all the info and options related to your new staging site.

Note

Because of the nature of Staging and how it essentially duplicates the live site, the enablement process can significantly increase the load on server resources and could potentially cause temporary slowness or other issues with larger sites. You can contact Flywheel if you experience any issues.

When you connect via SFTP, you’ll see a new folder with the same name as your original site, only appended with “_staging”.

You can access your staging site at the URL listed in the Staging tab. You’ll still log in to WordPress exactly the same way, using the same credentials as on the live site.

Note

Depending on which platform your site is on, your Staging URL will be formatted differently.

Flywheel Cloud Platform

Legacy


Staging best practices

Staging on Flywheel is a powerful and versatile tool, but it has so many capabilities that it can be difficult to know how best to use it, and what it should (and shouldn’t) be used for. Never fear! We’re happy to help.

The main consideration when using Staging boils down to one simple question: is the live site being edited or updated while the Staging site is in development, or will it be waiting unchanged until you’re ready to push your Staging changes to the live site?

The answer to that question will determine the best use of staging for you, because when you push Staging changes to the live site, you’ll have the option to overwrite the live database with the Staging database, or to leave the live database as-is and instead only push file changes from Staging. 

Because those are the two options, here’s a guide to our recommendations for Staging:

Ideal uses for Staging:

  • Duplicating the live site to make changes and updates
  • Making changes and updates to theme files
  • Making changes and updates to CSS and/or JavaScript Files
  • Installing and removing plugins
  • Adding and removing themes
  • Testing updates to themes or plugins
  • Activating a new theme
  • Adding new media files, images, etc.
  • Adding or editing posts, pages, settings, products and other content stored in the site’s database as long as the live site’s content and database are NOT being updated or edited in the meantime

X

NOT recommended for Staging:

  • Importing an external site or database—anything that is not a duplicate of the live site
  • Adding or editing posts, pages, settings, products and other content stored in the database in situations where the live site IS changing while Staging is in development (such as an eCommerce store, a frequently updated blog, or a forum)
  • Making changes to eCommerce data like products, orders, users, etc. while the live site’s store is still active
  • Making database content changes to any site where site users can create content
  • Keeping a backup of the live site. (Our automated backups do not include Staging)
  • Leaving the Staging site active but not pushing it live for extremely long periods of time (as this increases the likelihood of database conflicts)
  • Any situation where a secure HTTPS connection is required. (The staging temp domain cannot be secured with an SSL certificate at this time)
  • Speed tests and other uses which require a connection to the site (since Staging sites are blocked by Privacy Mode)
  • Situations where the Staging database would need to be merged with the live site’s database, keeping changes to both, or in which only a partial database merge is desired

If that all seems like a lot, just remember: Staging is designed to create a duplicate of the live site, then allow changes to be pushed back to the live site later. Staging can overwrite the live database or leave it alone and only push files, but it can’t merge changes to both the Staging and the live site’s database. So if you’re changing both at the same time, you risk losing some data.

Note

If there are any staging URLs in the code files of the staging site—including within CSS, JavaScript and/or PHP files—they will need to be manually updated! For best results with Staging, only use relative links that do not include the staging domain.


Pushing changes to your live site

Staging sites also give you the option to choose what exactly gets rolled out to your live site.

Note

When pushing changes from a staging environment to a production environment, the production site will display 476 Maintenance Mode until the push completes.

All right, you’ve made your changes to staging, confirmed that everything’s running well and looking good, and you’re ready to go live with your shiny new edits. This is the exciting part, but it’s also a little tricky. Don’t worry, we’re here to help!

When you’re ready to push the changes from your Staging site to the live production site, start by clicking the “Move staging changes to live site” button in the Staging tab of the site’s Flywheel dashboard. Don’t fret – it won’t happen right away. First you’ll see this pop-up, giving you some options and asking for confirmation:

Staging push confirmation and options

The “Copy staging database to production” checkbox is the most important (and maybe the most confusing), so we’ll go a little more in-depth on that here.

If you check this box, your live production site’s database will be completely overwritten with the staging site’s database. If you leave it unchecked, the database of the live production site will be left untouched and will retain all of its current data; only file changes will be copied from staging.

It can be a little tricky to understand the difference, so here’s a quick guide to what will happen in both cases:

Copy staging database to production? Result:
 No (unchecked) The live production site’s plugins and themes will be overwritten with the staging site’s plugins and themes; new and updated uploads on the staging site will be merged with the live production site’s uploads; plus code files (like CSS, JavaScript, etc.), images, media files like audio and video, PDFs, and any other user-uploaded content will be pushed to the live production site.
Yes (checked) All of the above still happens, plus the staging database will overwrite the live production site’s database. The database includes: all posts, pages, post and page content and revisions, navigation menus, widgets, WordPress users, comments, configuration options, store data such as products and orders, and WordPress options.

There’s no middle ground between overwriting the live production site’s database with staging and leaving it untouched. There is no way to simply merge the two databases automatically using staging at this time. There are, however, a number of plugins and tools available for this process, including WordPress’s built-in import/export feature.

Now you’re up and running! Feel free to change and experiment, nothing you do in Staging will affect the live site until and unless you press the “Move staging changes to live site” button located on the Staging tab.

If you’ve pushed your changes to the Live site and are ready to switch off the Staging site, head back to the Advanced tab of the site’s dashboard to disable Staging.


Backup a staging site

Flywheel does not currently provide backups for staging sites. If you make changes on staging that you don’t want to lose, it’s best to save a backup of those locally using a backup plugin or by downloading the files via SFTP and the database via our database manager.


Reset a staging site

If you’ve gone a little too far, need to start over, or just need to update your Staging site’s content to reflect recent changes on the live production site, don’t worry – it’s easy!

Just head to the Staging tab of the site’s Flywheel dashboard and click the “Reset Staging” button. You’ll see the following pop-up, asking you to verify that you’d like to overwrite your staging site and confirm with your Flywheel password:
Confirm staging reset
Once you confirm and click the “Reset staging site” button, you’ll have a fresh copy of your live production site available and ready to go in your staging site!

The total time to complete the refresh will be a byproduct of both how large your database is and the total file-size of your site. For most sites, the job should complete in a matter of minutes. While the staging environment is being reset, 476 Maintenance Mode will display in browser.

Warning

Resetting staging will overwrite ALL content on the staging site. If you have changes on staging that you don’t want to lose, it’s best to save a backup of those locally using a backup plugin or the database manager and SFTP.

Staging site asleep

When we detect that a staging site has not been accessed for several days, we automatically dial down the staging site’s resources. Don’t worry, your staging site is still available for use, we just need to wake it up!


When traffic to staging is detected again, we automatically dial the resources back up, which can take a few moments.

Note

Have no fear, this only happens to staging sites and never your production site!

Need help?

If you have any questions our Happiness Engineers are here to help!

Was this article helpful?

Getting Started

New to Flywheel? Start here, we've got all the information you'll need to get started and launch your first site!

View all

Account Management

Learn all about managing your Flywheel user account, Teams and integrations.

View all

Billing

Everything about billing, invoices and payments can be found here.

View all

Features

Flywheel hosting plans include a ton of great features. Learn about how to get a free SSL certificate, set up a staging site, and more!

View all

Platform Info

All the server and setting info you'll need to help you get the most out of your Flywheel hosting plan!

View all

Site Management

Tips and tricks for managing your sites on Flywheel, including going live, troubleshooting issues and migrating or cloning sites.

View all

Developer Hub

Learn how to connect, deploy, and more with SSH on Flywheel's platform.

View all

Growth Suite

Learn more about Growth Suite, our all-in-one solution for freelancers and agencies to grow more quickly and predictably.

View all

Managed Plugin Updates

Learn more about Managed Plugin Updates, and how you can keep your sites up to date, and extra safe.

View all

 

Flywheel help

Help is just a click away! Log into Flywheel dashboard to instantly chat with an expert, respond to a ticket, or follow along with in-depth documentation. We happily offer support 24 hours a day, 7 days a week, 365 days a year!

Log in

Try Flywheel today

Launch your next WordPress site in minutes.

 Free migrations  24/7/365 support  14 day demo sites