Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

ko:Upgrading WordPress

From time to time you may want to update your WordPress installation to the latest version. You might want to do this because you've seen a message at the top of your Dashboard telling you that a new release is available, because you've been made aware of some useful new functionality, or because a security fix has been released.

WARNING: The upgrade process will affect all files and folders included in the main WordPress installation. This includes all the core files used to run WordPress, two plugins (Akismet and Hello Dolly) and two themes (Twenty Eleven and Twenty Ten). If you have made any modifications to those files, your changes will be lost.


Check Requirements

Whatever the reason for updating, before getting started it is best to check the current minimum requirements page first to make sure that your web host has the required versions of PHP and MySQL. (If you are not sure, then your hosting provider should be able to tell you.)

Take a Backup

The next thing to do is to take a backup of your database. All your posts and Pages are held in the database, so you will need to have a copy of it in case, for whatever reason, you change your mind after upgrading and need to go back. If you are not sure how to backup your database, then complete instructions can be found in the WordPress Backups section of the Codex.

Disable Plugins

The final preparation step is to disable plugins. Now, you don't have to do this, but every now and again a plugin hasn't been updated to work with the latest version of WordPress, and causes a problem after the upgrade. So, it's best to try and avoid that, yes? You can easily disable your plugins by heading to the Manage Plugins page in the Dashboard, changing the "Bulk Actions" pull down menu to "Deactivate" and clicking "Apply".

Ready to Update

Now that you've checked that you're ready to update, you've turned off your plugins and you've got your backup, it's time to get started.

There are two methods for updating - the easiest is the Automatic Update, which will work for most people. If it doesn't work, or you just prefer to be more hands-on, you can follow the manual update process.

Automatic Update

Current versions of WordPress (2.7+) feature an Automatic Update. You can launch the automatic Update by clicking the link in the new version banner (if it's there) or by going to the Tools -> Upgrade (or Update for version 3) menu. Once you are on the "Update WordPress" page, click the button "Update Automatically" to start the process off. You shouldn't need to do anything else and, once it's finished, you will be up-to-date.

For Automatic Update to work, at least two criteria must be satisfied:

(a) file ownership: all of your Wordpress files must be owned by the user under which your web server executes. In other words, the owner of your Wordpress files must match the user under which your web server executes. The web server user (named "apache", "web", "www", "nobody", or some such) is not necessarily the owner of your Wordpress files. Typically, WordPress files are owned by the ftp user which uploaded the original files. If there is no match between the owner of your Wordpress files and the user under which your web server executes, you will receive a dialog box asking for "connection information", and you will find that no matter what you enter in that dialog box, you won't be able to update automatically.

(b) file permissions: all of your WordPress files must be either owner writable by, or group writable by, the user under which your Apache server executes.

On shared hosts, WordPress files should specifically NOT be owned by the web server. If more then one user owns different files in the install (because of edits made by deleting and re-uploading of files via different accounts, for example), the file permissions need to be group writable (for example, 775 and 664 rather then the default 755 and 644). File permissions (in general) should be adjusted as appropriate for the server environment (the shared host RackSpace CloudSites for example recommends 700 and 600 for a single ftp user, or 770 and 660 for multiple ftp users). See the file permission section for more (some files and folders require stricter permissions).

Automatic update has been known to fail if you're not using PHP5. If you see the message indicating that the update is downloading the zip file and then nothing else happens, it may be because you are not running PHP5. Many hosts offer both PHP4 and PHP5, and switching is usually very easy, often a simple entry in your .htaccess file. If you can't switch to PHP5, and experience this problem, use the manual update below.

If you have customized the TwentyTen or TwentyEleven theme, you should not use the automatic upgrade, as it will overwrite your changes - you should use a manual update instead.

If you see a "failed update" nag message, delete the file .maintenance from your WordPress directory using FTP. This will remove the "failed update" nag message.

If the automatic upgrade doesn't work for you, don't panic! Just try a manual update.

Manual Update

These are the short instructions, if you want more check out the extended upgrade instructions. If you experience problems with the Three Step Update, you may want to review the more detailed upgrade instructions

For these instructions, it is assumed that your blog's URL is http://example.com/wordpress/.

Step 1: Replace WordPress files

  1. Get the latest WordPress zip (or tar.gz) file.
  2. Unpack the zip file that you downloaded.
  3. Deactivate plugins.
  4. Delete the old wp-includes and wp-admin directories on your web host (through your FTP or shell access).
  5. Using FTP or your shell access, upload the new wp-includes and wp-admin directories to your web host, overwriting old files.
  6. Upload the individual files from the new wp-content folder to your existing wp-content folder, overwriting existing files. Do NOT delete your existing wp-content folder. Do NOT delete any files or folders in your existing wp-content directory (except for the one being overwritten by new files).
  7. Upload all new loose files from the root directory of the new version to your existing wordpress root directory.

NOTE - you should replace all the old WordPress files with the new ones in the wp-includes and wp-admin directories and sub-directories, and in the root directory (such as index.php, wp-login.php and so on). Don't worry - your wp-config.php will be safe.

Be careful when you come to copying the wp-content directory. You should make sure that you only copy the files from inside this directory, rather than replacing your entire wp-content directory. This is where your themes and plugins live, so you will want to keep them. If you have customized the default or classic themes without renaming them, make sure not to overwrite those files, otherwise you will lose your changes. (Though you might want to compare them for new features or fixes..)

Lastly you should take a look at the wp-config-sample.php file, to see if any new settings have been introduced that you might want to add to your own wp-config.php.

Step 1.5: Remove .maintenance file

If you're upgrading manually after a failed auto-upgrade, delete the file .maintenance from your WordPress directory using FTP. This will remove the "failed update" nag message.

Step 2: Update your installation

Visit your main WordPress admin page at /wp-admin. You may be asked to login again. If a database upgrade is necessary at this point, WordPress will detect it and give you a link to a URL like http://example.com/wordpress/wp-admin/upgrade.php. Follow that link and follow the instructions. This will update your database to be compatible with the latest code. You should do this as soon as possible after step 1.

Step 3: Do something nice for yourself

If you have caching enabled, your changes will appear to users more immediately if you clear the cache at this point (and if you don't, you may get confused when you see the old version number in page footers when you check to see if the upgrade worked).

Your WordPress installation is successfully updated. That's as simple as we can make it without Updating WordPress Using Subversion.

Consider rewarding yourself with a blog post about the update, reading that book or article you've been putting off, or simply sitting back for a few moments and letting the world pass you by.

Final Steps

Your update is now complete, so you can go in and enable your Plugins again. If you have issues with logging in, try clearing cookies in your browser.


Troubleshooting

If anything has gone wrong, then the first thing to do is go through all the steps in our extended upgrade instructions. That page also has information about some of the most common problems we see.

If you experience problems after the upgrade, you can always restore your backup and replace the files with ones from your previous version from the release archive.