Despite how easy YouTube makes it out to be, web development is challenging through and through. To minimize issues on your live site, it’s a good idea to test any changes beforehand. Setting up a WordPress staging site is a great way to do that.
A staging site lets you transfer mundane and potential site-breaking tasks to a copy of your site. The live website will remain online and error-free. Meanwhile, you can work on whatever you need to and push the changes live when you’re ready.
This post will explore WordPress staging and a few easy ways to get it set up.
Excited? Let’s start!
Check out our video guide to setting up a WordPress staging site
What Is a WordPress Staging Site?
A staging site is an exact copy of your live site that isn’t visible to the public. It’s much like a party or event staging area — it gives you a way to get your site set up how you want in a low-stress environment. From there, you can take those elements and transplant them to the live site, often with just a few clicks.
On a website, the transplantation process is straightforward when you have the right tools in place. Many web hosts give you an easy way to stage your site and push the changes back again.
You may already use a local development environment, and there are a few similarities. For starters, they’re both copies of your live site. From there, though, they diverge. Typically, a staging site is often more flexible regarding what you can pull and push. It can also let you work with interactive site elements that need a live server.
We’ll talk more about these elements (and more) next.
Why Set Up a WordPress Staging Site?
Even if you use a local development environment, we’d recommend using a staging site too. There are lots of reasons for doing so. First off, we’ve explained already how you’re able to work on specific site elements without impacting your live site.
One of the significant issues and essentials with staging is bringing over specific elements of your site without touching other dynamic content.
For example, consider site comments.
Comments represent time-based dynamic content that you don’t want to “freeze.” If you did, the activity on your live site between when you stage it and when you push it would disappear.
What’s more, your staging site can act as a testbed for your server configuration. An excellent local development environment can often simulate a server setup.
However, there’s no substitute for the live server itself. A staging site can show you how your site reacts and give you the chance to change things up if you need to before it impacts your visitors.
This ties into some other related good reasons for using a WordPress staging site:
- You’re able to test new functionality away from the public. This feature is vital for your traffic figures, bounce rate, and general analytics. On a more fundamental level, you can update WordPress’s core, your themes, and your plugins while fixing any issues that arise.
- There’s no downtime to your live site when using a staging environment. Again, keeping your uptime high isn’t just good for your server — it’s also great for your metrics.
A knock-on effect of all these benefits is that you’ll use fewer potential resources on the whole. It’s also great for keeping your developers happy! We’ll talk more about how a staging site helps the mood next.
The Importance Of Developing Using a Staging Site
First off, we’re going to give you some advice. If you’re a site owner looking to work on your site without the assistance of a professional, we’d ask you to reconsider. At the least, think about getting some third-party input into how your site looks and runs.
Collaborating with a developer will help you in a few ways. One of the big reasons is because you can use their tried and tested methods of getting a site from your brain to the internet with the least fuss.
A developer will often have a few critical points of their process, some of which you may not have considered:
- There’s often a heavy planning stage, rather than simply winging it on the live site.
- The software stack is essential, as this determines the functionality you can access. It cascades down to your site’s performance and scalability.
- There will be a revision and bug fixing stage, which can be tedious but crucial for keeping your site’s quality high.
A staging site is a vital part of each step of the process. The first aspect will be to get your live site into staging to perform some “stress tests.” Knowing this gives you scope for the challenge ahead.
Bug fixing and layout polishing are also great uses for a staging site. The developer can push versions of the site to you and fix any glaring issues, while you can comment on aspects that may have gone unnoticed.
A local development environment works to dig into the nuts and bolts of a site without using any server resources. A staging site is a crucial point in the chain between local and live sites. It also gives you insights you can’t get elsewhere either.
When to Use a Staging Site
Given what we’ve said so far, it’s no surprise that staging is something you’ll want to use most of the time when developing your site. Pulling your live site to staging is something that should become a habit so that you’re never making a change to your live site at all.
Even so, there are some specific situations in which you’ll want to utilize a WordPress staging environment:
- Simple updates, such as themes, plugins, and WordPress’s core, should be attempted on staging first if they present any site-breaking issues.
- Installation of plugins and themes should be done on staging so you can test the functionality and features without impacting live users. What’s more, it gives you the time and space to fiddle with the minutiae before making the changes public.
- If you have significant code-based changes, they should always be applied to the staging site first. As we’ve noted, a staging site acts as the “middle man” between your live site and the local environment, saving confusion and stress for you and your active visitors.
It’s worth pointing out that you can often get away with updating themes, plugins, and WordPress itself directly on your live site. However, we don’t recommend it. It’s also doubly important to stage your site if you intend to update known “flaky” plugins or install a major WordPress release.
Taking care of and exercising caution over the stability of your site is paramount. On the whole, stage your site anytime your work may impact or confuse users.
What to Consider When Using a Staging Site
Deciding to use a WordPress staging site isn’t an impulsive decision in most cases, regardless of whether there’s a staging option available directly through your host.
It would help if you asked yourself plenty of questions about how you plan to use your staging site. Here are just a few:
- Can you use all of the functionality of your live site on the staging site?
- Are you able to push specific elements live while keeping other aspects intact (e.g. site comments)?
- Can you pull those specific elements to your local environment and work away from your server?
These are general concerns that every site owner ought to ask themselves. It could be that you have specific questions relating to your setup. Of course, you should make finding the answers to them a priority. WordPress blogger Chris Lema has a great thought piece and tutorial on how to decide the right approach for you.
You may also have niche-specific questions about using a staging site. For example:
- Ecommerce sites: Can you use the entire checkout process on your staging site? This factor is going to be essential to determine how users move through your site.
- Plugins and themes: How do plugins such as Jetpack work on staging sites? As an aside, Jetpack, in particular, is feature-limited within local environments because it needs server access.
- Video and streaming: Do you get full functionality on your staging site? How can you determine whether the video you see on your staging site represents your live site?
As we noted, these questions will be specific to your environment, site, and needs. Hence, it’s another good reason for working with a developer, at least in the planning stage. They can bring their experience into your project and ask some of these questions before knowing you need the answers.
How to Set Up a WordPress Staging Site (3 Ways)
Over the following sections, we will look into setting up a WordPress staging site using a few different methods. We’ve ordered from the easiest to the hardest, but the definition is loose.
You may gravitate to a particular solution more than the others. Feel free to jump around and take a look at whichever method you like.
1. Build a Staging Site Using Your Web Host
Our first method is one that not all web hosts will offer. Dedicated staging functionality is often the domain of top-quality WordPress hosts because they know the value of a staging site. For example, Kinsta offers multiple Premium Staging Environments that can be added on to each account. In fact, Kinsta has 47,740 staging sites in use and counting! We’ll showcase this in more detail later.
Where a host does offer built-in staging, there are often two elements in place:
- As we’ve noted, automated staging is popular because this represents the fastest way to stage your live site.
- A WordPress staging site will reside on a subdomain of your primary domain. We’ll discuss this in various ways throughout the article.
If you’re a Kinsta customer, we’ve discussed WordPress staging in detail on our knowledge base. Refer to that piece to run through the details of how to do this. That said, it’s worth outlining the whole process in summary:
- Choose your site from the list in MyKinsta.
- Change the environment from “Live” to “Staging.”
- Click the button to implement your WordPress staging site.
- Wait up to 15 minutes for the staging site to populate.
Your staging environment will have its own subdomain and will carry over your Secure Sockets Layers (SSL) settings too.
You can even restore a site backup to staging and push your staging site live from the MyKinsta dashboard:
We think our staging functionality is second to none. Even so, there’s icing to pipe onto the three-tiered cake, courtesy of DevKinsta, which we’ll discuss next.
How DevKinsta Can Help You Create a Staging Site
The MyKinsta dashboard has almost all of the features and functionality you need to create and manage your live site. If you prefer working in a local environment, you can use DevKinsta.
DevKinsta is our local development environment for all web developers and site owners, though it has specific functionality for Kinsta customers:
It’s a full-featured (and free) app to help you create new WordPress sites with a minimum of clicks. In addition, it has lots in the box to help you get things ready for a real server. We’ve covered this elsewhere on the Kinsta blog, but there’s one setting we want to focus on a little more — the Push to staging option:
This feature allows you to choose a target site and transfer your local site to your staging environment. It also means you have a way to stay entirely within the Kinsta ecosystem throughout the entire development journey.
The first step in the process is to import your site from Kinsta within DevKinsta:
Once your site is hosted within DevKinsta, you can take your time to make the changes you need. From there, you’ll click the Push to staging button and send it back to your hosting server. When you’re ready to unleash your site into the world, the Push to Live button within the MyKinsta dashboard will get the job done.
2. Install a Plugin to Help You Create a WordPress Staging Site
We mentioned that some hosts wouldn’t let you create a WordPress staging site. Of course, we’d recommend switching providers if this applies to you, but there are still ways to create a staging environment if you cannot.
Given that WordPress’s plugin ecosystem is robust, it’s no surprise that staging plugins also exist. For the unaware, a staging plugin gives you near parity in functionality as a host does, but handled from your WordPress dashboard. That said, it’s worth noting that there are some differences between staging plugins and other site duplication plugins such as Duplicator.
For starters, Duplicator isn’t for staging. It’s a powerful plugin to clone a website, but it doesn’t have the pseudo version control that a staging environment has.
We’ve seen site duplication plugins recommended as an ideal way to create a staging site. We don’t recommend it! It’s arguable whether using a plugin such as Duplicator is on par with a dedicated local development tool such as DevKinsta.
Instead, there are beefier solutions such as WP Stagecoach and WP Staging:
The benefits of using a solution such as WP Staging are numerous:
- You’re able to clone your site fast.
- Everything happens within a familiar-looking dashboard.
- You can exclude specific database tables and folders.
- You can choose which files and tables are pushed live.
The whole process of using a plugin will feel familiar. Concerning WP Staging, you’ll install the plugin on your site in the usual way. Note that there’s a free version with limited functionality and a premium version that offers the full range of features.
Once the plugin is on your site, you’ll head to the WP Staging > Sites / Start page and click the Create New Staging Site button:
Clicking this will bring you to the Scanning section. There are three parts here that you should consider, apart from entering a name for your staging site:
- Database Tables: This is a list of all your database tables, and you’re able to select whichever ones you’d like to stage.
- Files: You can choose which folders to copy here, along with any extra directories you’d like to copy.
- Advanced Settings / Pro: There are plenty of settings here. For example, you can copy your staging site to a separate database, to a custom directory, and you can also “symlink” your production site’s uploads.
Once you click to continue, you’ll begin the cloning and staging process:
When the plugin has finished, you’ll see the details you need to work on your staging site:
When you access your staging site, the toolbar will be bright orange — a deterrent in case you do the unthinkable:
From here, you can push your changes back to production and manage your staging site from the WordPress dashboard.
3. Create a Manual WordPress Staging Site
Our final method for setting up a WordPress staging site is the toughest and not as functional. We’re hard-pressed to recommend it in all but the most extreme and niche use cases.
Creating a manual WordPress staging site is as it sounds: You’ll build all of the components you need and deploy your site without automation for the most part. There are a few severe drawbacks with this approach:
- A manual approach means there’s a higher chance of errors creeping into your workflow.
- There’s no way to sync site data between installations.
- You’re not able to push selected data, tables, or files between installations.
In other words, you’re creating a manual version of a plugin such as Duplicator. Even so, you could see some benefits if you use the approach to your advantage.
For example, you could set up a staging site to test a narrow range of features and functionality (such as a WordPress core update). Once you’re happy that it works on your staging site, you can apply the changes to your live site.
Of course, you’re duplicating the work you need to do, and this is another drawback in the process.
Despite this, your situation and needs will determine whether a manual staging site is for you. If so, you’ll need the following:
- A hosting provider that lets you create subdomains.
- Admin access to your hosting backend.
- Working knowledge of the SQL language (it’s not as critical as the others).
Once you have these in place, make sure you’ve carried out a full backup of your site. Creating a manual WordPress staging site is fraught with danger, and you’ll be thankful for your backup if the worst happens.
There are seven general steps you’ll need to set up a manual staging site:
- Create a new subdomain in your web host’s control panel.
- Set up a dedicated Secure File Transfer Protocol (SFTP) account for your staging site.
- Upload your WordPress files to the staging server. The best way is to install a fresh version of WordPress, then upload your themes, plugins, and uploads folders.
- Export your database from your live site.
- Create a new database for your staging site within your hosting control panel.
- Import the database to your staging server using an SQL manager such as Adminer.
- Update wp-config.php to reflect your staging site.
How you achieve some of these aspects is up to you and your host. Despite the complexity involved, each method is within the scope of even a beginner user. That said, the time it takes to implement may not be worth the hassle.
Deploy Your Manual Staging Site
Of course, if you set up a manual WordPress staging site, you also have to deploy it yourself. There’s often a simple automated approach with managed hosting, which won’t be available in this instance.
If you’re a backend dev with high expertise in PHP and SQL, you may be able to implement the automatic deployment, though we’re betting this isn’t your situation here. As such, we’d recommend replicating the changes you make on your staging site rather than trying to “deploy” them.
Staging is not just for weddings and parties! Your website can also benefit from staging too. A WordPress staging site can be an invaluable tool when you need to work on potentially site-breaking aspects. What’s more, it will be easier for a developer to help you with any functionality, as the staging site will be well away from any live elements.
Throughout this post, we’ve discussed setting up a WordPress staging site through a few different methods. While you could create a manual staging site, it’s a potential administrative nightmare. A plugin such as WP Staging is good, but a host-based staging environment provides you with plenty of integration. Adding a local solution such as DevKinsta into your workflow gives you a stellar way to go from local to staging before pushing your new site live.
Do you know the value of a WordPress staging site, and if not, is it something you’re going to implement in the future? Please share your thoughts and opinions with us in the comments section below!
I’ve recently made a website on WordPress and I did not know much about staging. It helped me a lot as a new comer in this World of WordPress to understand.