Often upgrading to the latest version of your WordPress theme can be a little daunting (if you haven’t done it before), as there are a few factors to consider.
It isn’t as easy as uploading the latest version to your webserver, especially if you have done a fair bit of customization to your blog.
All quality WordPress premium themes will be (or should be) regularly updated with,
- improved functionality
- increased security
- bug fixes
At least this is the case with my theme Yamidoo by WPZoom.. if yours isn’t then you should seriously consider changing to a theme that is better maintained.
This post outlines the steps I took when upgrading my theme to the latest version, and hopefully it will save you some headaches if you decide to do so as well.
I have broken this process up into three main sections,
- Pre-upgrade tasks
- Post-upgrade tasks
Before we get started I want to stress how important it is to perform a full backup of your site including your database, before commencing this upgrade!
If uptime is critical to your website, then it is this extra care in planning that will ensure minimal disruptions.
These are the tasks I performed prior to actually upgrading my WordPress theme to the latest version.
The first thing that I will do is create a root folder where all my backups, etc., for this upgrade project will be placed.
I have called mine Yamidoo v1.3 upgrade project,
Just dump everything relating to this upgrade project in this root folder.. that way everything is nice and tidy.
Backup, Backup, Backup!
Backup early and backup often.. your blog is only as safe as your most recent backup.
I then create a backup folder and put the following backups into it,
- home directory
- full backup
- WordPress export
I also leave a copy of my full backup on my webserver.. just-in-case.
These backups will only be used if something goes drastically wrong during the upgrade process.
Download Theme’s Folder
I then create a folder called Original files – prior to upgrade.. then download a copy of all the files and folders of my current theme, that I will use (and refer to) during the actual upgrade process.
The name of the folder my current theme resides in, is called yamidoo_new, and is located here /public_html/wp-content/themes/yamidoo_new
The reason I have downloaded this folder is any tweaks or customizations to files I have made, will be contained here.
I also use a tool called HTTrack which enables you to download entire websites.. and browse them offline.
I believe you can never be too safe when it comes to the amount of backups you do.
Just for peace of mind, I also like to download my entire website using this tool.. prior to performing an upgrade to a newer version of my theme.
That way, I can browse my site and see everything (including any customizations).
The next thing I do is take screenshots of everything in the backend using a free screen capture tool called Gadwin Printscreen.
- Installed plugins and their version numbers
- Settings for every plugin
- Blog specific settings
- Widgets installed
- Widget settings
The reason I have taken screenshots of everything, is in case the upgraded theme is incompatible with the installed plugins.. and they either need to be disabled, or uninstalled.. or even rolled back to an earlier version.
If you have a screenshot of the plugin settings, it can certainly help when it comes to troubleshooting.
That is pretty much all the “prep” work I do, prior to the actual upgrade.
As you can see I have done extensive backups of everything, and can easily roll-back to my blog’s current state, if the upgrade fails.
When performing a major upgrade to my blog, I also take note of the steps I take in chronological order.. that way if something stuffs up, you just back-out, or undo the steps in reverse order.
Next I will rename the new theme to something different to my current theme.. then upload this newly renamed theme to my theme’s folder /public_html/wp-content/themes
As you can see here my current live theme is called yamidoo_new, and I have renamed the newer version to yamidoo_v1.3_WP3.0.. and uploaded it to the ../themes/ folder
You can now proceed to enabling the newer version of your theme which can be found under Appearance > Themes,
Click on <Activate>,
When you view your upgraded theme you will notice that it has returned to the plain old vanilla version.
Depending on modifications you have made to your theme, you will now need to re-customize everything again.
Now for the fun part of bringing your newly updated plain theme back up to speed.
This will vary from person to person depending on the amount of customization done on your blog.
For me, some of the customization that needed re-doing included,
- change the background image
- google custom search
- 404 page
- re-adding social networking icon and links
This is why I downloaded my theme’s folder during the prep stage. I can use these files to compare against the new files.
For example, any changes or tweaks I made to header.php for instance, can now be re-applied to the same file in the upgraded theme.
If you have made any modifications you would have a fairly good idea of the files that were changed.
If not you can always use a file compare tool to compare (eg), header.php from the old theme with header.php from the new theme.
This will show you any changes that need to be added to the various files in your new theme.
The screenshots taken earlier can also help with re-configuring,
- plugins and their settings
- blog specific settings
Just remember you don’t have to do all of this in one go!
You can customize a little bit here and there of the new theme.. then re-activate your old theme..
Then tomorrow, re-activate your new theme again and do a little bit more.. then go back to your old theme.. and so on (back and forth).
You can spread this migration out over days or weeks.. up to you.
Now to test that the upgrade was successful.
There is no need to go through every single post and click on every single link and check everything.. that would take quite a long time especially if you have a large blog.
These are the things I check,
- Posts – check you can open and view some new posts.. posts created a while ago.. and posts created when you first started your blog
- Images – do random spot checks on posts to ensure images display as expected
- Pages – go through and click on your blog’s pages and confirm the all open up as expected
- Widgets – check your widgets are displaying nicely
- Categories and Tags – do a random check by clicking on various categories and tags and confirm posts display as expected
- Plugins – confirm all your plugins are working
- Browse to your site from a different browser, computer, mobile phone and confirm it is still accessible
If your new theme isn’t displaying or working correctly try disabling all your plugins.
Then re-enable each, one-by-one.. testing as you go.
If that fails you may want to either contact your theme’s developer for advice/assistance or revert back to your old theme.
If things go pear-shaped there are a few things you can do.
Remember how I mentioned earlier to take note of the steps you make during the upgrade process?
Well, you simple undo these steps. Work backwards in reverse order, undoing what was done.
If that doesn’t work.. then restore from backup!
Remember all those backup files you safely stored away in that special folder? Now is the time to use them..
.. and if that doesn’t work.. you still have that full backup stored safely on your web server, that you (or your web host) can restore from.
After I have confirmed the upgrade was successful, I won’t actually delete my old theme.. just in case.
I will either set a reminder in my calendar 6 months from now to delete it.. or just wait til the next new version of my theme is released, and delete it then.
FULL BACKUP OF NEW VERSION
Finally I will perform a full backup of my blog with this new version, including,
- home directory
- full backup
- WordPress export
This is the general process I follow when I perform a major upgrade to my blog.
For some, the steps outlined may seem like a little excessive (especially when it comes to backing up).. but this process works for me, and has saved me a lot of work when things have gone wrong.
I have successfully performed two major upgrades in the past year using this process.
Hopefully you have picked up a tip or two!