I love the ease with which you can update a WordPress blog to the latest build. The Click to Update feature has made WordPress webmasters’ lives much easier. But this feature hasn’t been around forever, and if you built WordPress sites before version 2.7 was released, you were stuck doing a manual update, which means that your WordPress rarely got updated.
One of my clients had a WordPress installation that hadn’t been updated since 2007. Over the last couple of years I have helped them clear malware and other bugs as they popped up, but we finally agreed that it was time to bite the bullet and upgrade from version 2.2 to 3.5. While the project may seem pretty straight forward, there were actually quite a few steps involved. In attempt to save others going through the process some potential heartache, here are some resources and tips that I found indispensable.
Create Login and Password List
You may already have this, but in case you don’t, having a copy of your WordPress admin login and password, MySQL database information, FTP login and password and finally your host login and password for reference will be a huge help during the upgrade process.
Export Database, Backup from FTP and Screenshot Every Settings Page
Call me paranoid, but when I am working on a client’s website, I ensure every detail about their current WordPress installation is backed up before I upgrade or touch anything. Plugins like Backup Buddy make backing up and migrating WordPress sites a breeze, but when dealing with an older version of WordPress, you want to make sure to take every precaution before upgrading or changing the site.
Export Database – In older versions of WordPress, the export database function was under the Manage menu. In more recent releases, you can find it under the Tools menu. Export all authors right before to start the upgrade process.
Backup from FTP – You may be able to get away with backing up just the wp-content directory, but, as I mentioned before, I would rather be safe than sorry. Before upgrading, I download the entire WordPress directory from my FTP and save as a backup. This, along with the database back-up, allows me to restore the old WordPress site in case something goes wrong during the upgrade process.
Screenshots of WordPress admin pages – A lot of valuable configuration data is held within your WordPress Setting menu pages. As an aid to reconfigure everything as I had it before, I take screenshots of all the menu pages before upgrading.
Create HTML file with Widget Content – This is a measure I wish I had taken before upgrading. The database and FTB backups don’t capture all your widget data. While there are modern plugins that will back this up, they probably don’t work on older WordPress versions. Do yourself a favor and copy and paste all the HTML from Text widgets and take screenshots of all the other widgets.
Is your PHP and MySQL Up To Date?
I have run into some issues in the past with WordPress not working as advertised. Upgrading my server’s PHP and my MySQL database to the latest versions usually irons the kinks out. Check the server and database requirements for the latest version of WordPress. Upgrading your server’s PHP can usually be done from your hosting control panel. Upgrading your database to the latest version of MySQL might require a call or email to your host requesting the upgrade.
Update your WordPress .xml database backup
I build all clients’ sites on a test domain before launching on their domain. This way clients can peek at their site from time to time while its being built. The test site also acts as an active backup on which I can fall back if anything goes wrong with the upgrade on the actual domain.
When I tried importing the .xml file from the WordPress 2.2 database export to the new WordPress site on the test domain, I was met with an error. After doing a good deal of research, I found adding the following bit of code in your exported .xml file does the trick
Insert the above snippet after the tag. I entered it directly after en and was able to get rid of the error.
Update to a Modern Theme
Chances are, if you are upgrading so many versions of WordPress in the first place, you are probably updating the theme as well. If you are, please note: I have some bad news for you – it might be time to upgrade your theme as well. WordPress themes from 2007, while technically still workable with the latest version of WordPress, won’t be able to take advantage of all the improvements WordPress has made over the last 6 years, such as custom post types. Aside from WordPress compatibility, some modern themes employ responsive design and a variety of other improvements that your website will benefit from.
My go-to WordPress theme is the Genesis Framework and either a stock or custom child theme. One of the reasons I build with a framework is that as WordPress matures and new versions are released, the Genesis Framework is updated to take advantage of all the latest WordPress features.
Upgrade from 2.2 to 2.3, 2.3 to 2.5, 2.5 to 2.8.5, 2.8.5 to 3.0.1, and then 3.0.1 to latest version
While it seems like a pain in the ass (and it was), upgrading incrementally ensured that the database was upgraded properly. The upgrade process as detailed on WordPress Codex‘s site is pretty straight forward. The basic steps are as follows –
- Back everything up.
- Deactivate all plugins.
- Delete the wp-includes and wp-admin directories.
- Upload the new wp-includes and wp-admin directories from the updated WordPress version.
- Upload single files from the wp-content directory, being careful not to overwrite any of your current theme files.
- Upload and overwrite all the loose files in the WordPress root directory.
- Visit domain.com/wp-admin/ and follow the instructions to update the database.
- Breathe a sigh of relief.
Note: When upgrading from Version 2.2 of WordPress to the current install, you need to upgrade incrementally and follow the steps above for each upgrade. You can find the older versions of WordPress in the Release Archive.
All things considered, the upgrade went pretty smoothly. The only things I was not able to recover were the post tags. If you have any tips on how to salvage those, please share below!
What have been your experiences upgrading from an older version of WordPress? How to Win at Online Slot Machines