What to Do When Your Website Faces a Major Software Change
The web is in a constant state of change. What we build today will inevitably need to adapt tomorrow. And the challenge of keeping up is only growing.
Modern websites have multiple dependencies. They include everything from PHP, your content management system (CMS), to JavaScript libraries. Even the classic 5-page brochure site can’t escape their clutches.
None of these items are immune to change. Sometimes, those changes add extra work to our plates.
The situation presents a multitude of challenges for developers. We may need to refactor a feature’s code. Or go through an arduous manual testing process. Both involve a lot of time and money.
So, how do you carry out such an endeavor? Here are some tips for managing software changes that impact your website.
Assess the Impact of the Change
On the surface, some software changes may not seem so serious. For example, updating your WordPress install. It’s often a routine task – until it’s not.
Sometimes, a theme or plugin undergoes an overhaul. The new version could mean changes to your implementation. Thus, you won’t want to click the “update” button until you assess what’s happening.
You can learn a lot by reading documentation regarding the change. For example, a changelog may offer vital information.
Hopefully, you’ll gain a clearer picture of what steps you need to take. If not, it’s time to contact the developer or post in a support forum.
We’re also assuming you have intimate knowledge of your website. That includes an understanding of how the site was built – along with its dependencies.
What if you inherited the website from another developer? You may need to dig a little deeper to gauge the impact of an update.
Create a Staging Environment for Testing
It’s always worth repeating: Don’t implement critical updates without testing. You run the risk of something breaking in the process. Not fun at all.
A staging environment will allow you to test without risk. It’s an exact copy of your website, hosted locally or on a remote server.
Think of a staging environment as a playground for experimentation. You can turn on debugging or install development tools to catch any errors. Plus, you can add and remove components like plugins or libraries.
You might make a mistake or two – but that’s OK. There’s always an opportunity to reverse your changes or start fresh.
A staging environment is perfect for process-oriented updates – like upgrading to a new version of PHP. You’ll have a separate space to investigate and repair each issue. Again, it’s not something you want to do on a production site.
Your web host may offer a staging option. That may be your best bet. Ideally, you’ll want to use a server configuration that is as close as possible to your production environment.
If that’s not possible, try to get as close as you can with a local install. Having a place to test is the most important thing.
Take Notes as You Test
Some web hosts allow you to push your changes from staging to production. However, this isn’t always an option. Therefore, you’ll want to take notes during testing.
There are a lot of steps involved with software changes. For example, you may have implemented several code tweaks. A crucial item could easily get lost in the process. That might be a problem when it’s time to launch.
Having some project documentation on hand can be helpful. It will serve as a reference as you deploy any changes.
What should you include in your notes? Here are a few ideas:
- A list of changed files;
- Changed server or CMS settings;
- Items (like plugins or libraries) that have been added or removed;
These examples are a starting point. Feel free to document anything you think is relevant to your project. You’ll be glad you took the initiative when looking back! This step lessens the chances of making a mistake.
Oh, and be sure to back up your site before making changes. That can be a lifesaver should something go awry.
Prepare for Launch
Now that you’ve tested (and taken good notes), it’s full speed ahead! Much of what happens next will depend on the scope of your project. However, there are a few best practices worth following.
The first is to schedule a time to make the required changes. Try to do so when user impact will be minimal. Be sure to give yourself enough time for deployment and testing. You’ll also want to alert any stakeholders of what’s happening.
Next, create a checklist of tasks. List each step of the process in order. It’s a simple thing – but handy for keeping track of progress.
Also, make sure you have access to everything you need. For example, you may need permission to overwrite files on the web server. Or the account details for a third-party provider.
And don’t forget about any two-factor authentication tied to client accounts. You may need to coordinate a time to gain access.
Once you’re fully prepared, you can move forward with confidence.
Turn Big Changes into No Big Deal
Updates to system software and site components could mean extra work. It’s a staple of website maintenance. And you never know when something new will pop up.
Web designers need all the help they can get. As websites have more moving parts, so does the likelihood of something major coming along.
It may sound a bit scary – but do not worry! A solid process can simplify matters.
Assess your situation, test on a staging environment, and document your work. Prepare for the change as you would a job interview. When something comes up, you’ll be able to handle it gracefully.