When a new client comes on board, they may bring their current website with them. Only once you give their site a good checkup, you may find that not much is “current” at all. If it’s running WordPress or another open-source CMS, that could be trouble.
Outdated core software, plugins or themes could leave the site vulnerable to attack. And, while it’s easy to say, “Just update it”, that can sometimes bring its own set of challenges.
Here are a few tips on what to do when inheriting an outdated WordPress website.
Make a backup
First thing, back up the entire website. This includes grabbing at least the /wp-content folder, which contains all of the plugins, themes and uploaded media. You can easily download this folder either through FTP, or a web host’s control panel.
You’ll also want to have a copy of the site’s database as well. This can usually be done through a host’s control panel or through phpMyAdmin.
This will ensure that you have a version of the site you can roll back to, just in case something goes awry during updates.
While there are many plugins that also will create a backup, I hesitate to recommend using one until the site you’re working on is fully updated. Installing a new plugin on an outdated site could have negative consequences.
Assess the situation
A WordPress site can be built in any number of ways. So it’s worth looking through the following areas to determine how the site was built and how you will want to approach the update:
1. Check for malware/signs of a hacked site
A compromised site doesn’t always display symptoms in plain sight. Run a security scan through a web-based tool like Sucuri’s SiteCheck. It’s also a good idea to check through the site’s file structure via FTP to look for any suspicious files. The web host may even be able to help with this process.
2. Themes
What theme is the site using? More importantly, is the site making proper use of a child theme? If a child theme is necessary, create one so you don’t lose any parent theme updates. Take a look at the active theme’s template files to check if there’s any code that is of concern.
3. Plugins
Outdated plugins can be both a security and functionality concern. Look at the active plugins and find out if they are still being maintained by their author. You’ll want to ensure that they’ll work with the latest version of WordPress. Usage of the plugin may also have changed over time, so what worked when the site was initially built may need to be fixed for compatibility.
Plugins that come bundled with commercial themes may also be of concern. These types of plugins often don’t include routine updates and can cause problems as they age. Why, just with the release of WordPress 4.5 came the revelation that older versions of the popular page-builder Visual Composer weren’t compatible.
4. Customizations
Make note of any custom fields or custom post types being used. While these items should be fine, it’s worth double checking to see that they are setup correctly.
Create a staging site
Now that you have a better idea of what you have to work with, you can start the fun of getting everything up to date. You probably know this already, but it’s worth mentioning that you shouldn’t just start updating everything on the live, public site. In reality, you’re never supposed to do this (though I’m guilty as charged), but it’s especially risky with a totally outdated site.
Instead, make another copy of the backup you created (yes, a backup of your backup) and use it to create a staging site. There are a number of ways to create a staging environment. You can use a tool like WampServer or XAMPP to create one on your computer. Or, you can simply upload a copy of the site to any web hosting account and work from there. Either way, remember to change the site’s URL to reflect its temporary home.
Engage the update process
On your staging site, update items one at a time. Start with the WordPress core, and move on to themes and plugins. After each and every update, click through the front end of the site and ensure things work as they should. If something’s broken, take note of what it is and which update caused the issue.
This process will take some time (especially for sites running a lot of plugins). However, it’s better to know exactly which update is causing you headaches. You’ll (hopefully) save time troubleshooting.
You may run into an issue where a theme or plugin is simply not going to work. At this point, it’s time to have a heart-to-heart with your client to determine the best course of action. (Hint: Leaving the site severely out of date isn’t an option!)
Go live
Once the staging site is updated and working properly, it’s time to bring it online. How you do this is really up to you and your client. You might just repoint the site’s DNS to a new spot or you could overwrite the old installation.
I would recommend creating a new database and importing the updated version from your staging site. Then, make the appropriate changes to your wp-config.php file. Too many things can go wrong with overwriting an existing database.
Again, remember to change the URL of your WordPress install to reflect the live site’s domain.
You did it!
Inheriting an outdated site can be quite an adventure (and you should charge accordingly, ha!). The troubleshooting in itself can increase the need for an adult beverage or three. That said, following a process like this can make things much more efficient.