Being a WordPress developer, I often meet WordPress sites that do not auto update. There are four main reasons WordPress will not update:
- The upgrade folder has the wrong permissions set
- Its server’s PHP is below version 5
- WordPress was installed using Fantastico or something similar
- A plugin is preventing upgrades
- The server has a very low PHP memory limit
Other, less common reasons include:
- You’re doing it all wrong
- WordPress doesn’t like you
- WordPress is in a bad mood, or
- It’s just not your day
The less common reasons are easy to fix: take a break, have a drink and return to the website tomorrow. Sometimes it just isn’t meant to be. The more common reasons are not much harder to fix.
Fixing Common Reasons WordPress Will Not Upgrade
The Upgrade Folder Has The Wrong Permissions
- Access your server directory structure using FTP or your host’s file manager
- Navigate to wp-content
- Change the permissions on the upgrade directory to 755 (or, on badly configured servers, 777)
- Run the auto upgrade again.
Its Server’s Php Is Below Version 5
The auto upgrade feature requires WordPress to be installed on a server running PHP 5 so check your PHP version.
- Log into cPanel
- Click PHP Configuration
- Select PHP5 then save
- Try the upgrade again
If you need to force PHP5 to be used:
- Browse your server’s file structure
- Navigate to the directory WordPress is installed in. It will be the directory that contains wp-config.sample
- Open .htaccess (make sure dot files are visible)
- At the top of the file, add the line
- Save .htaccess
- Try to auto update WordPress again
If the upgrade shows you a file’s contents, remove the above line from .htaccess. Your server won’t allow you to set the PHP file type handler.
WordPress Was Installed Using Fantastico Or Something Similar
This is the most common reason: a dodgy web developer or a novice web developer used Fantastico or some other host provided script to install WordPress. You will know whether this is the case when you visit the Fantastico software installer page and it tells you that you need to upgrade scripts.
Fantastico has a nasty habit of overwriting parts of the wp-config.php script used by WordPress to store its database name, database user name, database user password, database location and database prefix. The Fantastico upgrade process is simple but follow these precautions first. It butchers the .htaccess file by stripping empty lines from it.
- Click Fantastico Delux (or whatever your host provided software installer is called)
- If it says you have scripts to upgrade, do not click to upgrade them yet
- If Fantastico does not say you have scripts to upgrade then Fantastico is not the reason WordPress is not upgrading. Skip this section.
- Use your file manager or FTP program to locate all the wp-config.php files for each WordPress site that is installed on the server
- Copy each wp-config.php file to xwp-config.php. Store the copy in the directory that the original is in.
- Copy each .htaccess file in the WordPress site’s topmost directory (where wp-config is usually found) to x.htaccess. Store the copy in the directory that the original is in.
- For each WordPress installation, create a directory called backup then copy (do not move, just copy) the wp-content directory to the backup directory
- Run the Fantastico updater
- Check that all of your WordPress sites load properly. If they do not replace each site’s wp-config.php file and .htaccess file with the backups made before the upgrade.
If the site appears to lack plugins, themes and images, replace the wp-content directory with the backup made before the upgrade process.
A Plugin Is Preventing Upgrades
This is easy to fix:
- Disable all plugins
- Try the upgrade again
- Re-enable all plugins
Plugins with expired licenses are the ones that usually prevent upgrades and update notices.
The Server Has A Very Low Php Memory Limit
To ways to try fixing this:
- Ask your host to increase your PHP memory limit, or
- Open cPanel and open php.ini QuickConfig (sometimes called php.ini EzConfig) then raise your PHP memory limit. Check with your host for your hosting plan’s highest allowed PHP memory limit.
Over to You
How do you get WordPress to auto upgrade when it stubbornly refuses to budge from its current level?