We know updates are important! We also know updates can potentially break your site. When your LIVE SITE breaks, it’s a huge deal and can be time consuming and costly to fix – both in terms of technical support, and lost revenue. A much better solution is to first do your updates on a version of your site that ISN’T live, a site that is an exact duplicate of your live site. A site that can break without causing pandemonium in your life. This site is called a Staging Site, and it’s the recommended way to make updates and changes before doing them on Live.
There are a few different ways to go about setting up a Staging Site. All have their pro’s and con’s, so you should evaluate which option will work best for you. In this post, we will discuss a few simple solutions, but bear in mind many more complex ways to do it as well.
The Hosting Solution: 1-Click Staging
For the most reliable results, it is recommended that you have your staging site on the same server where the live website is located. Matching the same hardware and software version that your host is using is important because some updates can be affected by these details, and something that works fine on one host, may not work on another.
A few managed WordPress hosts, like WPEngine and Siteground’s GoGeek plan, offer a free staging site with their hosting. This is an awesome feature that allows you to replicate your live site into a staging environment with one click, make your changes and updates, and then another click sends that version live. It’s pretty darn useful, and I recommend this type of all-in-one hosting solution for a lot of my clients.
The downside is that these hosting plans are more pricey than typical cheap shared hosting, running between $20-$30+ a month. However, having a dedicated WordPress host with features that can really help you manage your site better is a major plus for many businesses.
The Plugin Solution: WPStaging
Not everyone has the ability to change hosts, or to pick a host that offers built-in 1-click staging. Another option is to use a plugin to create a staging version directly in your existing WordPress install.
The WPStaging plugin is available in both free and Pro versions. As expected, the Pro version offers far more functionality, but at $109 it’s a pretty cheap investment considering the price of hiring an hourly developer to fix broken things.
This plugin actually clones your Staging site into a subfolder of your live site. You then make changes, updates, etc, and push Staging to overwrite Live. It’s an ambitious project being managed by a single person, and has a lot of features that are very impressive and useful for managing a Staging site.
There are some limitations and drawbacks however – the ability to to push your Staging to Live only exists in the Pro version. If you have an altered version of WordPress (this is an advanced topic and doesn’t apply to typical users) you may find some conflicts. The developer is active in the support forums though, which is a good sign that they are putting effort and time into creating a very useful tool. It’s definitely worth reviewing as an alternative to a host-based staging environment.
The Local Solution: DesktopServer
In the development world, we use the term “local development environment” to mean running a website straight from your own computer. There is a lot of back and forth as well as small updates required when doing web development, and waiting for a website hosted on an outside server makes that development process s-l-o-w. When you run the site locally, it’s lightning fast and makes for quick coding.
But I’m not a developer, you say? That’s okay, because you can ALSO use a local site for testing updates to your website! As long as you have a copy of your site running locally, you can perform any necessary updates there, without any worry that a break will affect your live site. If all the updates go well locally, you can then run them on your live site without worry. Some local environment setups even give you the ability to migrate your local site right to your live site!
DesktopServer for Doing Updates Locally
What is DesktopServer? It’s a packaged local environment that you download and install right to your computer. It does the heavy lifting of installing all the required software for running a website, and even offers some really great WordPress-specific features as well. What’s more, the basic version is completely free! Head on over to ServerPress to learn more and download a free copy and take it for a test drive.
The Site Update Process Using DesktopServer
This is a quick rundown on using DesktopServer to make updates to your site. They also have a ton of tutorials on their website on installation and all of the additional features.
- Create a full site archive of your live site
If this is confusing, no worries: I’ll be talking more about backups and archives next week!
- Import into DesktopServer
- Run all necessary updates
- Ensure all updated successfully, and nothing is broken
- Run those updates again on your local site
Publish your updated version to your live site using DesktopServer’s Quick Deploy feature
We will be talking about using DesktopServer further in depth in a future post, so keep an eye out!
Pros and Cons of Using DesktopServer/Local Sites
Getting DesktopServer up and running is super easy, both on Mac and Windows. At $99 (then $74.96 a year to renew) and a half hour setup time, it’s by far the fastest and easiest way to get a local development environment up and running on your computer. It has quick (and frankly, amazing) WordPress site creation, cloning, sharing and migration features, but can be used for any PHP-based development.
HOWEVER, this is not a fail-proof solution. If your local computer and software environment isn’t a 100% exact clone of your live site (including server software, version, and hardware), there is no guarantee that the local site is running exactly the same. If there is a different PHP version for example, an update affecting that version could run fine locally, but break on Live because your live host may have a different version. Things like processing power and memory are also limitations you may have in place on your live site, that are not applicable to the local install.
Many professional developers spend countless hours making sure their local development environment EXACTLY mimics their server environment to try and avoid these issues. Unfortunately, that solution is hugely time consuming and takes a lot of technical knowledge. For the time, money, and easy entry point for beginners, DesktopServer is a great solution. Keep in mind that there is a small chance an undetected change could still break your live site – but those types of issues are specific to your host.
Staging Sites Aren’t Just for Updates!
Many people are afraid of installing plugins or themes, or even doing updates, because all they have is a live site to work on, and don’t want visitors to see these changes in progress. But never fear! If you’re curious about trying out a new theme or plugin, your Staging Site is the perfect place to do this! You can add the new theme, configure it to your specifications, and then take it on a real-life test drive right on your staging site. You can even invite others to check it out and give feedback. The same goes for new features and plugins – being able to test out and vet potential solutions on your actual site without affecting Live is very valuable. You can make any changes you want, and then push the Staging site to Live with very little downtime in between.
Next week we are talking backups and archives. What’s the difference? How can I create a backup that I can use for local development or staging? How can I use a backup to restore my site after an update broke something? All of these questions will be answered as we top off our Updates Series with “Back That Word Up! Creating a Backup Plan for your WordPress Website”!