WordPress 3.0 Upgrade: What to Expect
With virtually any WordPress release (or the release of any open-source software, for that matter), there are bound to be bugs.
In a lot of cases the bugs are minor, and are just annoying. In other cases, these “bugs” can completely disable your site. Kind of like the difference between a mosquito bite and being attacked by a swarm of wasps.
WordPress 3.0 is no different. Almost as soon as the official release came out, reports of bugs starting pouring in. In the vast majority of cases, these bugs had to do with either customizations based on deprecated code or plugins that aren’t yet compatible with 3.0.
And in virtually every case, easy fixes have already been found. Of course, there are also a number of things you can do prior to upgrading to prevent problems. Read on for some tips, and some of the common bugs you might run into.
Turn Off Your Plugins
This is arguably one of the most important steps in performing an upgrade (another big one is running a full backup). Disabling the plugins your site uses prevents them from conflicting with the installation process or with the way your site functions once the upgrade is complete.
When the upgrade is finished, all you’ll need to do is go into the admin side of your website and deactivate each one prior to clicking the upgrade link. If you have plugins that are installed but aren’t activated, you may want to either uninstall them prior to upgrading or make a list of which plugins you had activated.
Now, let’s say you’ve upgraded without deactivating your plugins, and now your site is throwing a bunch of errors. If you’re lucky, the error message itself will include the file or folder name of the plugin, which makes it much easier to deactivate the offending plugin without having to deactivate and reactivate every plugin on your site.
In some cases, a defective or conflicting plugin can even prevent you from logging into the Dashboard of your site (if it doesn’t, then go into the Plugins tab and deactivate each one until your error messages go away). In this case, you’ll need to FTP into your site and rename your plugins folder (something like plugins_old is usually the best idea). Now, if you rename your plugins folder back to the original name, it should have left all of your plugins deactivated. If it did, then just log in to your Dashboard and reactivate them one-by-one. When you get to the one that’s causing the errors, you’ll probably have to go back in through FTP and rename or delete the offending plugin folder/files.
If, for some reason, your plugins aren’t deactivated when you rename the plugin folder back to its original name, then leave the name changed (to plugins_old, or whatever you’ve chosen) and create a new plugins folder. Then, copy your plugins into that folder one-by-one, reactivating and testing each one.
Overly Minimal Themes Have Been Deprecated
The “Default” theme has been part of the WordPress install package pretty much since WP was first released. Because of this, some theme designers used the Default theme as a sort of parent theme, using the files it included as the basis of their theme. Because of the way WP was set up, it didn’t even require officially declaring a parent theme.
With WordPress 3.0, that’s no longer an option. 3.0 uses a new default theme, Twenty Ten. As expected, the markup is quite a bit different than the old “Default” theme, which would effect the look of any themes based on it. Because of this, you’ll need to create a full version of your theme that doesn’t use “Default” as the parent theme.
Luckily, this is pretty easy. Just copy the needed files from “Default”. Make sure you test everything when you’re done to verify that nothing funny is happening with the theme (it’s best to do this on a copy of your theme, rather than the original).
Some Reported Bugs
Because of the complexity and extensibility of WordPress, there are bound to be bugs with virtually any upgrade. You might get off easy and have no issues, especially if you use a minimal number of plugins. But the more plugins you use, the more likely you are to run into problems. Below are a few that seem to be cropping up regularly. If you’ve had other problems or have heard of others, please post them in the comments below (preferably with a link to the solution!).
Stuck in Maintenance Mode
There have been numerous reports of sites getting stuck in Maintenance Mode after upgrading, even going so far as to block the wp-admin area. Luckily, there’s a fairly simple fix for this one. Just FTP into your WP site and delete the .maintenance file in the root folder of the site (you may need to turn on showing of hidden files and folders to see it).
Plugins and Themes Causing Issues with Static Pages
There has been at least one report of the “User Messages” plugin causing the static pages settings of a blog to stop working. Another reported culprit for the same issue is the Redirection plugin. There have been reports of at least one theme also causing this problem, the “Bueno” theme from Woo Themes. These are all anecdotal, and no guarantee that these themes/plugins would cause the same problems across different site installations.
Events Calendar Plugin Causing Errors
There have been multiple reports of the Events Calendar plugin causing fatal errors in WP similar to this one:
Fatal error: Cannot redeclare is_rtl() (previously declared in /var/www/web1503/html/wp_mu/wp-includes/locale.php:347) in /var/www/web1503/html/wp_mu/wp-includes/locale.php on line 349. To fix the problem, disable the Events Calendar plugin by renaming the folder in your plugins folder.
Most Issues Related to Plugins
As you can see from the instances mentioned above, most issues when upgrading WordPress are caused by incompatible plugins. This is why it’s so important to disable your plugins prior to upgrading, and then to reactivate each one individually when the upgrade is complete. Sure, it take a bit more time, but would you rather spend a few minutes doing this, or hours after the fact trying to track down which plugin is causing the error?
Now, most plugins that are compatible with WP 2.9.2 should work fine in WP 3.0, but there are some plugins that were technically throwing errors in the background in 2.9.2 that will raise a bigger fuss in 3.0. And by “bigger fuss”, I mean they’ll keep your site from working. So don’t assume that just because the plugins are compatible with 2.9.2 that they’ll automatically work just fine in 3.0.
Steps to Hassle-Free Upgrading
Upgrading WordPress isn’t particularly complicated, especially since it now includes automatic upgrades. But that doesn’t mean you should just click the upgrade link and go have a cup of coffee. You need to perform a few vital tasks before and after clicking that link to ensure you don’t have problems when the upgrade is complete. Here’s a short rundown:
- Do a backup
- Put a maintenance page up on your site (optional, but a good idea)
- Deactivate all your plugins
- Verify the install worked and that your theme is still functioning properly
- Reactivate plugins one-by-one, testing between each one
- Verify everything is functioning as it should
- Take down your maintenance page
The complete upgrade instructions, including instructions for performing a manual upgrade in case you run into issues with the automatic one, can be found in the WordPress Codex.
WordPress MU Upgrades
One of the biggest changes to WordPress 3.0 is that WordPress MU (Multi-User) is now incorporated into the main code. If you’re upgrading your MU site, there are some special things you’ll need to do.
One thing is that after the upgrade is complete, you’ll need to update your network settings. You’ll also need to make some edits to your wp-config file, and to some rewrite rules. Developer’s Mind has a great, step-by-step post covering how to successfully upgrade MU.
Now, if you want to upgrade your 2.9.2 installation of regular WordPress to include the new MU features in 3.0, it’s a bit more complicated. You’ll need to go into your wp-config file and add the following line:
define( 'WP_ALLOW_MULTISITE', true );
Then you’ll need to go into the Network settings under Tools in your Dashboard. The settings there are pretty self-explanatory. You’ll need to specify whether you want network blogs to be in a sub-domain or in a sub-directory, and then there’s some code you’ll need to insert into your wp-config file to enable everything. It’s all spelled out very clearly in the Network settings.
Written exclusively for WDD by Cameron Chapman.
Have you had issues with upgrading to 3.0? Or found a trick that makes upgrading easier? Please share them in the comments…