How to Upgrade WPMU 2.9.2 to WordPress 3.0 in 5 Easy Steps

Late last night WordPress 3.0 RC1 was pushed out and we knew you’d need an upgrade guide, since it’s not a one-click process. There are a few steps to getting your WPMU site working with 3.0 but this guide will help to make the process as simple and smooth as possible.

To Upgrade or Not to Upgrade?

It is important to note that many of you will want to wait until the final release is here in order to start upgrading. Taking your WPMU site to 3.0 may not even be an option if your site’s functionality is heavily dependent upon plugins that have not yet been updated for 3.0. However, you’ll need to upgrade eventually, so make sure to bookmark this guide. In the meantime, it might be a good idea to make a duplicate of your site and perform an upgrade to see how your plugins respond. If you want to play around with upgrading, then follow this guide but remember that plugins and themes that have not been updated may affect your upgrade process.

5 Steps to a Smooth Upgrade with Multi-Site Features

Unwritten step 1a is don’t freak out; we’re all doing this together. If you find other useful tips on the upgrade process, please post in the comments.

Before You Even Think About Upgrading: Backup Your Files and Database

You must do this in case something goes wrong. The best thing you could do is reproduce your site and do the whole process on the duplicate site so that you know it’s safe for what you’re running. In the very least, you should make a backup to restore just in case.

Step 1: Delete the /wp-admin/ and /wp-includes/ directories in your current installation.

Step 2: Download WordPress 3.0 (RC1) and upload the files to your site, making sure it overwrites the old files.

Upload all the files in the 3.0 folder and mark them to overwrite in your FTP client.

Step 3: Login as Admin and follow the Update Network instructions.

You should see this message at the top of the dashboard. Follow the instructions for updating your network. The details on the edits to wp-config.php and the .htaccess files are shown in steps 4 and 5.

Step 4: Update wp-config.php to include nonce_salt.

Setp 5: Delete wp-content/blogs.php and update .htaccess file to use wp-includes/ms-files.php instead.

The wp-content/blogs.php file is deprecated in 3.0. Remove it and update your server rewrite rules to use wp-includes/ms-files.php instead.

Now that wasn’t so bad, was it? I’d like to thank Pete Mall for his helpful tutorial for upgrading when the 3.0 beta 2 was put out, which put me on the right track for upgrading my sites. The bulk of the process is uploading files and cutting and pasting. Remove it from your list of dreaded tasks now that you know how simple it is. You can probably do this in under five minutes. Start playing around and enjoy all the new features of WordPress 3.0!


Comments (63)

  1. …Well 2 out of 3 ain’t bad. On my second upgrade doing it this way, I ran into a – – Warning! Problem updating . Your server may not be able to connect to sites running on it. Error message: malformed –
    I had stepped away after step 3 and came back to Update Network – forgetting to remove blogs.php file and failing to add new .htaccess…and thats when i get the message and even after adding it correctly and going back to Update Network I get the malformed error message. Don’t know for sure that sequence of events had anything to do with it but just in case.

    anyone else run into something like this going from mu2.9.2 ->3.0

  2. Sarah, could you clarify one thing for me please? In step number 4 you say to include “nonce_salt” Do you mean to add “NONCE_SALT” in line 110 or to add all of the stuff written out in 111. Sorry about how naive I am. Thanks in advance for clarifying.

  3. @David. You’ll add the whole string found at the top of the admin panel during the upgrade.

    Unfortunately for me, despite adding the lines (I get 4 lines of code to add), I still get notices in the admin panel to add them … :)

  4. i try to add define( ‘NONCE_SALT’, ‘xg%+Sv#AGo>;8?uC>x!-k}AW=6sunCr`o2x_<3I}wjL80/.muAk~$u%!JXQk4.+}' ); into wp-config.php it not working because cannot chmod to777 help me please !!

  5. Hi Sarah,

    Great tutorial. Worked a treat. The admin dashboard prompts for a further step: “Thank you for Updating! Please visit the Update Network page to update all your sites.”
    That leads to the Update Network page. Is it safe to hit this button?

  6. i was prompted when logging into the wp-admin account (v 2.8.x) to click to upgrade to v3. does that do all the same stuff descirbed in this post? now i couldn’t get it to work because it asked for hostname but no path and my wp installation is nested in a folder (for virtual hosts). what to do?

  7. I would add here that deleting the wp-admin file may disrupt some WPMU plugins that relied on the installation of a .php file in the wp-admin folder. One example is the Messaging plugin. I’m having similar issues with Supporter and Avatar plugins since upgrading. These aren’t big issues, just something to be aware of.


  8. Thanks Sarah…very helpful article.

    After I completely demolished my Test Sites it (my dumb fault, not WordPress :-P), it worked like a beauty and did in fact only take about 5 minutes…

    Many thanks to you and the fine folks at WordPress :-)


    Stephen G

  9. Thanks for this! One thing just seems to be overlooked. I’m curious about the recommended order of things. With lots of existing mu-plugins is it best to upgrade WP first, or take care of all the plugins and themes first?

  10. jcnjr – Upgrade your WP first and then upgrade all your plugins that are ready for WP 3.0. If you have plugins that are breaking your site, then you can’t use them until the plugin author updates them for 3.0. A good way to check is just to deactivate your plugins all once before upgrading. Then after you upgrade, activate your plugins one at a time, checking for white screens and any other signs of something not working. If everything seems ok, then move on to the next plugin, etc.

  11. deactivate your plugins all once before upgrading.

    Thanks! We’re giving it a shot now on our test install. I presume you mean deactivate all mu-plugins too, which means removing (or moving) them, since that is what I asked.

  12. Thank you for this great post.
    I followed all of the 5 step and successfully updated my web site. My only concern is with Step #5. I edited my .htaccess
    RewriteRule ^(.*/)?files/(.*) wp-content/ms-files.php?file=$2 [L]
    But I am still getting this message on the admin panel.
    “The wp-content/blogs.php file is deprecated. Please remove it and update your server rewrite rules to use wp-includes/ms-files.php instead.”

    Did I edit the .htaccess correctly?

  13. Jeff- The reason I didn’t was because WordPress generates the code that you need to paste in there, and it’s unique to each installation. I didn’t want anyone copying my NONCE_SALT and then complaining that it doesn’t work for them. ;)

  14. Hi,

    >WordPress MU 3.0.1 is available! Please update.

    I don’t understand why we need to FTP the V3 upgrade files rather than upgrade from the Admin panel. I must be missing something. If I deactivate all plugins even BP pluggins and ensure my Theme support v3…..

    Ah, What steps do I need to takd if I have Buddypress installed?


  15. just did the big jump from 2.9.2 to 3.0.1 and guess what? all went well except that my installation now says: You are using WordPress 3.1-alpha.

    So I went and manually installed a localized 3.0.1 version and guess what? It still claims to be 3.1-alpha.

    Anyone experienced anything like this and what can I do? I don’t want to run alpha. Which file can I verify to check if I am indeed running alpha?

  16. @sarah Thanks!

    @timothy @ajay I have wpmu 2.8.4. Then I upgraded to wpms 3.0.1 using the Automatic Upgrade”. Everything worked almost perfect. Except that I faced the same issues reported by Timothy and Ayai: images disappeared even the new ones dont show. So I restored my 2.8.4 from backup and now I will do the process described in this tutorial and will keep you posted if necessary.

  17. Dudes/Dudettes,
    Can you tell me how to move a WP blog from WordPress-3.1-alpha to the regular NON-BETA release in current?? Every time there’s an update, it’s for the development tree. I wanna go with the latest release — no more beta. Is there a quick way of doing this or forcing the update manager to use current?