The email usually arrives overnight. The sender is your own website, and the subject line is one of a few that WordPress uses when something it tried to do on its own did not work: “Some plugins have failed to update”, “Background Update Failed”, or the one that makes people sit up, “URGENT: Your site may be down due to a failed update”.
Often the site looks completely fine when you check it. Sometimes it does not. Either way, the email is telling you that WordPress attempted an unattended update and could not finish it. This post walks through what each of those emails means, why background updates fail, and how to put things right without making it worse.
A quick note on scope: whether you should switch automatic updates on at all, and in what order to update core, plugins and themes, is a separate question. We cover that in our piece on core, plugin and theme updates. Here we are only dealing with the moment one of those unattended updates goes wrong.
The emails WordPress sends, and what each one means
WordPress sends these messages to the administration email address set under Settings → General. If you never see them, check that address first; on many sites it still points to whoever built the site years ago.
“Your site has updated to WordPress x.x.x”
Good news. A core update completed. No action is needed beyond a quick look at the site.
“Some plugins were automatically updated” (or themes)
Also routine. The email lists what changed. If something on the site looks different afterwards, this list tells you where to start.
“Some plugins have failed to update” (or themes, or both)
WordPress tried, could not complete the job, and left the old version in place. The email names the plugins. Your site is usually still running the previous version, and the update will be attempted again later. This is the most common failure email and normally the least serious.
“Background Update Failed”
A core update could not be completed automatically. WordPress usually rolls back cleanly and keeps running the current version. The email may include technical detail; keep it, because it often names the exact reason.
“WordPress x.x.x is available. Please update!”
This one means WordPress decided it could not or should not update itself, so it is asking you to do it by hand. It is not a failure in the same sense, but it tells you background updates are not running on this site.
“URGENT: Your site may be down due to a failed update”
The serious one. A core update started and stopped partway through in a way WordPress could not recover from. Check the site straight away, both the public pages and the dashboard.
First check: is the site actually working?
Before reading logs or changing anything, open the site in a private browser window and click through a few pages. Then log in to the dashboard. You are looking for one of four situations:
- Everything works. The update failed safely. You can deal with it calmly.
- “Briefly unavailable for scheduled maintenance. Check back in a minute.” An update was interrupted and left its maintenance flag behind. See why a site gets stuck in maintenance mode; usually removing the
.maintenancefile from the WordPress root brings it back. - “There has been a critical error on this website.” A plugin or theme update half-applied, or applied cleanly but clashes with something else. WordPress normally emails a recovery mode link in this case too.
- A blank page or a server error. Something deeper went wrong and you need file access to look further.
If the site is down, take a backup of what is there now before you try to repair it, even though it is broken. Your host’s backup tool or a straight download of the files and a database export is enough. It means any fix you attempt can be undone.
Why background updates fail
Roughly in the order we would check them:
WordPress cannot write to its own files
Unattended updates only run when WordPress can write files directly. If the file owner on the server is a different user from the one PHP runs as, WordPress cannot replace its own files, and you may notice it asking for FTP details (“Connection Information”) whenever you try to update by hand. Background updates quietly do not happen on such sites. Your host can correct the ownership.
A lock left behind by an earlier attempt
When WordPress starts a core update it sets a lock so two updates cannot run at once. If an attempt crashes, you may see “Another update is currently in progress.” The lock is stored in the database under the option name core_updater.lock and normally expires on its own after a short while. Waiting is the safest fix. If it persists, a developer can remove that single option.
Leftover folders from a failed plugin update
If a previous update died halfway, its leftovers can block the next one, much like the install problem in our post on the “Destination folder already exists” error. Look in wp-content/upgrade/ for stale folders when nothing is running.
WP-Cron is not running
Automatic updates are triggered by WordPress’s scheduled tasks. On a site with very little traffic, or where WP-Cron has been disabled without a real server cron job to replace it, the update check may run late, rarely, or not at all. Our article on WordPress cron problems explains how to tell.
The server cannot reach WordPress.org or the plugin’s update server
Updates have to be downloaded. If outbound connections time out, or a firewall blocks them, the download fails. Site Health often shows this as a cURL error, which we explain in our guide to cURL error 28 and its relatives.
A premium plugin without an active licence
Paid plugins and themes usually fetch updates from the vendor, and many only release them to sites with a valid licence key. An expired or missing licence can show up as a failed update even though nothing is technically wrong with the site.
Disk space or memory ran out
Unpacking an update needs room. A hosting account that is close to its storage limit, or a PHP memory limit that is very low, can stop the job halfway through.
Updates are switched off on purpose
A developer may have disabled them in wp-config.php with constants such as AUTOMATIC_UPDATER_DISABLED or DISALLOW_FILE_MODS, or WP_AUTO_UPDATE_CORE set to false. WordPress also skips core background updates if it detects a version control folder such as .git in the installation. In those cases the “Please update!” email is expected behaviour, not an error.
Fixing a failed update, safest first
- Read the email properly. Note which plugin, theme or core version failed, and copy any error text it includes.
- Open Tools → Site Health. If background updates are not working, Site Health usually says so and often names the reason, such as file permissions or a version control folder.
- Back up the site as it is now. Files and database, before you touch anything.
- Try the update by hand from Dashboard → Updates. A manual update shows its progress and any error on screen, which is far more useful than an email. Update one item at a time.
- If a plugin update fails by hand too, note the exact message. “Download failed” points to connectivity or licensing. “Could not create directory” or “Could not copy file” points to permissions. A destination folder message points to leftovers.
- If the site broke during the update, use the recovery mode link from the email to get into the dashboard and deactivate the plugin that failed. Without that link, rename the plugin’s folder inside
wp-content/plugins/through your file manager so WordPress stops loading it. - Re-install the plugin cleanly once you know the cause, either from the dashboard or by uploading a fresh copy.
- For a half-finished core update, the usual repair is to upload fresh copies of the
wp-adminandwp-includesfolders and the root files from the same WordPress version, leavingwp-contentandwp-config.phpalone. Only do this with a backup in hand; if that sentence feels uncomfortable, it is a job to hand over.
Recent WordPress versions try to protect you here. If a plugin’s automatic update causes a fatal error, WordPress usually attempts to put the previous version back on its own. That is why many failure emails turn out to describe a site that is still running perfectly well.
Keeping the failure emails useful
Failed update emails are worth having, but only if someone reads them. A few habits help:
- Set the administration email to an inbox a real person watches, not a former developer’s address.
- Make a filter so these messages are not buried with newsletters, and do not mark them as spam; if you do, your mail provider may start hiding them.
- Pair unattended updates with uptime monitoring, so a failed update that takes the site down is reported to you rather than discovered by a customer.
- Keep plugin count down. Every plugin is one more thing that can fail to update at three in the morning.
- Renew licences on paid plugins you rely on, or replace them with something maintained.
When repeated failures mean something else
A single “failed to update” email followed by a successful retry is normal. The same plugin failing every night for weeks is not. Neither is a site that keeps asking for FTP details or one where nobody can explain why updates were turned off. Those are symptoms of a server setup problem, a plugin nobody maintains any more, or a site that was changed by hand at some point and has drifted. Our guide to common WordPress errors shows where this fits among the other messages you might be seeing.
If you would rather someone else looked
Forward the failure email, or a screenshot of what the site shows, to us on WhatsApp or through the contact form. We will back the site up first, check what the update actually did, and tell you plainly what went wrong and what we would change so it does not keep happening. If the update left the site broken, that falls under our help for a site that stopped working after an update, and we treat a site that is down as urgent.
Next in this series: WordPress cURL Error 28 and 60: What They Mean