Here at VirusHead, I have a different host than at work. If any of you use WordPress at Yahoo Small Business, this post will interest you. If not – really – skip it.
I had to spend almost two days addressing the problems of upgrading WordPress at Yahoo Small Business hosting. Even now, I can’t really update any of the plugins that came with the Yahoo installation because of some funky permissions thing they do.
The first time I tried to upgrade, I could no longer access the blog at all. All that came up was a blank screen in the browser. I couldn’t find a solution. I gave up. I backed up the database with MyPhpAdmin, and recreated the blog at Yahoo.
I was only able to upgrade thanks to the resources at the WordPress codex and users’ forum and some very helpful advice from the comment left here by Ray on the previous post,. WordPress has upgrading instructions here, with common installation problems here.
I’m not sure I would recommend that you even try to upgrade unless you’re really comfortable with the things on the following list. Yes, it’s very much out of date, and so are the plugins. It might make more sense just to have more people giving Yahoo some feedback on servicing their WordPress client offer. Believe me, I would rather have done a one-click update like I do on my own host!
I’ve documented all the bits and pieces. In case you really need to do this, here’s how.
- First, update your plug-ins (Akismet will update itself in the upgrade).
- Use the WordPress backup plugin to do a backup of your WordPress directory. Download it for safekeeping. You can also use your friendly ftp program to download the entire WordPress directory onto your hard drive, too. You’ll need this if – after all – you change your mind about upgrading.
- Use MyPHPAdmin to export a back up your WordPress SQL database, too. Make several versions if you are unfamiliar with this. Make sure that use the right character set for export. If the upgrade fails, you’ll need this.
- Go to the WordPress dashboard and disable all your plugins.
- VERY IMPORTANT: From your WordPress backup on the hard drive, open the current wp-config.php file in the main directory. Delete the line “Define(’WP_CACHE’, true); //Added by WP-Cache Manager” and then save the file. Also save a copy of it under another name, like wp-configorig.php. You’ll need this file later.
- Edit wp-config.php file in the main WordPress directory that you downloaded and change DB_USER and DB_PASSWORD with your yroot user and yroot password (the username and password you set up to administrate your databases. Ftp the new wp-config file.
- Now run upgrade.php by browsing to http://YOURSITE.com/YOURBLOG/wp-admin/upgrade.php. It should succeed, in theory.
- However, before you go any further, look at your blog and make sure it’s there. If you get a blank page, then you’ve put the wrong yroot user and password in the config file. Make sure it’s right and try again.
- You may have to play with the permissions settings in MyPhpAdmin. Make sure that you have any needed permissions. Customer Care can help you with this part if you run into trouble.
- If none of this is working for you, you’ll have to download the latest version of WordPress, ftp it up, and then run upgrade again.
- Assuming that your blog is up, check to make sure that your category links and other links are displaying. If you see an error like [Unknown column 'link_count' in 'where clause'], you’ve got to detour at this point (a web search on the exact phrase of that error will give you a sense of how many blogs are affected). If you’re upgrading from the version at Yahoo, there has been a major change in the way categories are indexed. I haven’t been able to find the perfect fix for this if the upgrade doesn’t do it, but there are two suggestions. The first didn’t work for me in MyPhpAdmin on Yahoo – perhaps because of yet more permissions issues, or maybe an older version of MySql – but you could try it because it’s probably the better fix:
Run this SQL query:
ALTER TABLE --database--.wp_categories ADD COLUMN link_count BIGINT(20) NOT NULL DEFAULT 0 AFTER category_count,
ADD COLUMN posts_private TINYINT(1) NOT NULL DEFAULT 0 AFTER link_count,
ADD COLUMN links_private TINYINT(1) NOT NULL DEFAULT 0 AFTER posts_private;
- The second suggestion did work on Yahoo, but I hope it doesn’t mess anything up:
First, save your home copy of wp-admin/upgrade-functions.php under another name, like you did with the wp-config file. Then, edit the original file and delete where it says
// We are up-to-date. Nothing to do.
if ( $wp_db_version == $wp_current_db_version )
Ftp it up and run upgrade.php again. Then upload the original version of the file to restore it.
- Now, go get the wp-configorigin.php you saved earlier. Rename it back to wp-config.php and ftp it up.
- In your blog template, replace the current call for your blogroll with
< ?php wp_list_bookmarks('title_after=&title_before='); ?>. Some of the older tags have been depreciated.
- Enable your plug-ins one by one to make sure they are compatible. If something breaks the blog, use ftp or the online file management at Yahoo to delete the applicable folder from the wp-content/plugins.
Another problem that surfaced: The bottom navigation on the index page disappeared. Some think that it has to do with plugins as well. I’m not running a “sticky post” plugin, which seems to be the primary problem for others. There is also a thought that there might be an incompatibility between the upgraded Akismet plugin and the Yahoo hosting. In my case, I finally figured out that I needed to remove a hand-coded call to the FAlbum plugin (which isn’t enabled) on the Index page.
I still have minor problems. Do not attempt to use the newer version of the WP Cache plugin or the Yahoo version of the Customizable Permalinks Plugin! Keep them disabled or they will break the blog, and you’ll have to go back and do a lot of this again. You’re pretty much stuck with the versions of third-party plugins that Yahoo gave you. If they included them, it’s probably because they have set it up in some special way – if you update the plugin, it probably won’t work anymore. If you know workarounds, please comment.