How to Manually Upgrade WordPress

This article covers how to upgrade Wordpress.

Wordpress described the requirements for One-click update functionality within their software as requiring the following:

(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 using the "Update Now" button.

(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).

Note: 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.

Ref: http://codex.wordpress.org/Upgrading_WordPress#One-click_Update

However, there are times where this WordPress feature fails. In this case, the update must be performed automatically to return the site to a fully functioning up to date WordPress installation. The following is a simple tutorial of how to manually update your WordPress in this situation.

Before starting this process, please backup any and all WordPress files in case of errors or unforeseen issues. There are other tutorials within our Resources site that outline how to properly backup your Files/Database for WordPress.

1. Replacing the WordPress Files



A. Download the latest WordPress zip (or tar.gz) package from: http://wordpress.org/download/

B. Decompress the compressed files you downloaded in step A.

C. Deactivate all WordPress plugins (if you cannot access the WP panel at this time in the upgrade, this can be done by navigating via SSH to the /plugins folder and chmod 000 the folder. When you have fully updated all WordPress files, you can revert this change to re-enable the plugins).

D. Delete the old wp-includes and wp-admin directories via FTP or SSH access.

E. Using FTP or SSH access, take the wp-includes and wp-admin that are located within your uncompressed tar.gz or zip, and copy them to the location of the deleted files from step D.

F. Copy the wp-content folder contents from your uncompressed tar.gz or zip files inside the current wp-content folder for your WordPress installation. When prompted, allow the system to overwrite any pre-existing files. DO NOT DELETE the wp-content from your current installation, only overwrite it the files within it. DO NOT REPLACE the current wp-content folder with the new version, only copy the contents over from the new wp-content to the old wp-content.

G. Upload any "loose" files located within the root directory of the uncompressed tar.gz or zip to the root directory of your current wordpress installation.

Note: If this process is followed as outlined above, you should not have to worry about loosing your wp-config.php saved settings and credentials.

2. Updating the Installation



A. Navigate to the Admin panel of your current WordPress installation. Login. Upon logging in, if your WordPress installation needs a Database upgrade, you will be prompted to do so at this time. You will be provided a URL to click that is similar to http://example.com/wordpress/wpadmin/upgrade.php. Click on the supplied link from your WordPress and follow the subsequent instructions. This step will update the database to be fully compilable with any added code during Step 1.

This process should be done as soon as possible after completing A-G of Step 1!

3. Cleaning Up



A. You are largely done at this point. Upon checking that your WordPress installation is properly updated and functioning as you would expect (without plugins), you can now remove the uncompressed files downloaded in Step 1.

B. At this time, you can also go and re-enable all Plugins (or return them to their normal privileges).

C. If you have issues logging into the newly updated WordPress installation, clear your browser cache and try again.

If for some reason this manual upgrade process still fails, you can consult WordPress's Detailed Upgrade Installation located at the following: http://codex.wordpress.org/Upgrading_WordPress_Extended