One of the first steps to upgrading.
WordPress 2.1 is out and its a major upgrade to what I believe is the best blogging platform. But your decision to upgrade should be based, in part, on whether you can make good use of the new features. (You can learn more about what’s new on the WordPress.org Web site.) But that’s not all that should be considered when making the upgrade decision. What might be more important is the amount of work your blog may need to complete the upgrade.
Before I launch into my discussion of plugin compatibility as it applies to the upgrade, let me make a clear distinction between the two groups of WordPress users. If you’re using WordPress with a WordPress.com account, you don’t need to worry about upgrading the software. The folks who manage WordPress.com will do it for you and you’ll see the new features online. But if you’re running WordPress on your own server or on a hosted server, you have a bit of work ahead of you to complete the upgrade. This article is for you.
Why Care?
I operate six WordPress-based blogs on a hosted server account. Most of them are “mission-critical,” meaning they could cause loss of business if they were to become unavailable. So I can’t take a major upgrade lightly. That’s why I’m thinking through the upgrade for each site, one at a time, before actually moving forward.
(I do want to mention that if you follow the instructions on the Upgrade page, if the upgrade goes bad, you can always go back to the site the way it was before the upgrade. That’s why its vital to follow the upgrade instructions.)
Types of Plugins
Some of my sites make extensive use of plugins. The way I see it, there are four types of plugins, each of which I’ve given an unofficial label:
- Simple plugins don’t require any template file modifications and don’t make changes to the way you work with your blog. You just install the plugin, activate it, and it works. Examples of simple plugins include Hello Dolly and No Self Pings.
- Set-It-and-Forget-It plugins are one step above simple plugins. They don’t require any template changes and don’t make changes to the way you work with your blog, but they do offer an administration panel for setting options. Examples include Bad Behavior, Spam Karma, Random Header, and WP-Cron (with WordPress Database Backup).
- Entry Utility plugins are plugins that change the way your create entries or display them online. These plugins don’t require you to modify your template file(s), but they may change the way you compose blog entries by offering additional options or change the way entries appear online. Some examples include Adhesive, Simple Tags, and WP-Contact Form.
- WordPress Feature Extension plugins are those that require modification of your blog’s template files to add plugin-specific tags. In many cases, these tags add impressive new features to the site that go far beyond WordPress’s feature set. Some examples include Customizable Post Listings, Landing Sites, and WP-Print, just to name a few. This is by far the biggest group of plugin types and, as you’ll see in a moment, it’s the group that’s most likely to cause problems in the event of an incompatibility.
The upgrade instructions recommend that you disable all plugins before completing the upgrade. With the first three types of plugins, that should be no problem. But with plugins that require modification of your theme files to accommodate plugin-specific tags, turning off the related plugin could result in PHP errors or other problems when the page is loaded. If you don’t turn off the plugin and upgrade and the plugin is not compatible with WordPress, you could wind up with PHP errors, too.
Which Plugins are Compatible?
My advice is to make a full assessment of your plugin situation before beginning the upgrade. Here’s how:
- Go to your Plugins Management page (
/wp-admin/plugins.php from your blog’s main directory; click the Plugins button in the Dashboard or any other administration panel) and make a list all plugins that are installed and activated, as well as any that are installed and disabled but might be activated in the future.
- Compare the plugins on the list to the WordPress 2.1 Plugin Compatibility page.
- Check off all plugins on your list that are known to be compatible. These are the ones you won’t have to worry much about.
- Circle all plugins on your list that are known to be incompatible. These are the ones that will need to be permanently disabled. If they are WordPress feature extension plugins (as defined above), you’ll have to find and remove related tags that you may have inserted in your template files.
- Put a star beside all plugins on your list that are either not listed on the Compatibility page or are lists with unknown compatibility. These are the ones you’ll have to watch.
Proceed with Caution
There are two ways to insert plugin-specific code in your WordPress blog:
You should be able to see which one is safer — the first one. If your template files include plugin-specific code with if-then logic, when you disable your plugins, your blog pages will continue to display without the plugin-specific content or PHP errors.
My advice, therefore, is to go through all your template files and modify plugin-specific code to include if-then logic as illustrated above. This will make it far easier to disable all plugins before the upgrade and turn them back on, one at a time, when the upgrade is finished — as recommended in the Upgrade instructions document.
A Final Word of Advice
While the new features of WordPress 2.1 sound great and you may feel as if you just “can’t wait” to upgrade, don’t just dive in. Think things through. If you have multiple WordPress blogs, perform the upgrade on the blog that’s the simplest, with the least template modifications, and the least “importance.” Follow the upgrade instructions carefully. And be prepared to restore to your current version of WordPress if you need to.
More upgrade tips to come. Keep checking in.