How to Fix ‘WordPress Failed to Auto-Update’ Error
Last modified: June 16, 2026
When WordPress fails to auto-update, it is frustrating, but more importantly, it leaves your site exposed. WordPress releases security patches regularly, and a site running outdated core files, plugins, or themes is an open door for attackers. The good news is that the WordPress failed to auto-update error almost always has a fixable root cause, and most of the time you can sort it out yourself without calling your host.
This guide covers every common reason the WordPress auto update stops working, along with step-by-step instructions to get updates running again. Work through the fixes in order, and you will almost certainly find the culprit before you reach the end.
Why WordPress Auto-Updates Fail
Before jumping to fixes, it helps to know what actually breaks. WordPress background updates rely on several moving parts working together. If any one of them is off, the update will not complete. The most common causes are:
- Site stuck in maintenance mode: WordPress creates a
.maintenancefile at the start of every update. If the update crashes, that file stays behind and locks out the site. - Wrong file permissions: WordPress needs write access to its own directories. If permissions are too restrictive, the update process cannot overwrite files.
- WP-Cron is disabled or broken: Background updates are scheduled and triggered by WP-Cron. If WP-Cron is not firing, neither are updates.
- Low PHP memory limit: Updates that run out of memory midway through will fail silently or throw a fatal error.
- Plugin or theme conflict: A plugin can hook into the update process and block it, especially security, caching, or staging plugins.
- FTP credentials required by your host: Some WordPress hosting environments require FTP credentials before WordPress can write files, which breaks automated updates.
- Host-level restrictions: Some shared hosts disable auto-updates at the server level. You may need to contact them or adjust your setup.
- Not enough disk space: If the server is nearly full, the update process cannot write new files and will fail.
Fix 1: Clear a Stuck Maintenance Mode
This is the first thing to check. When WordPress starts an update, it drops a file called .maintenance into the root of your installation. Under normal circumstances, this file is deleted the moment the update finishes. If the update crashes partway through, that file stays put, and every visitor (including you) sees the “Briefly unavailable for scheduled maintenance” message.
How to delete the .maintenance file
Connect to your site via FTP or your host’s file manager. Look in the root WordPress directory, the same folder that contains wp-config.php. The .maintenance file may be hidden, so make sure your FTP client is set to show hidden files. Delete the file, then reload your site. If the maintenance screen disappears and your site loads normally, you can then try running the update again from the WordPress dashboard.
Fix 2: Correct File Permissions
WordPress needs to write to its own directories to install updates. If the file permissions on those directories are too strict, the update process will fail as soon as it tries to put files in place.
Recommended permission settings
The standard permissions for a WordPress installation are:
- Directories: 755
- Files: 644
wp-config.php: 600 (more restrictive for security)
The directories most likely to cause update failures are wp-content, wp-admin, and wp-includes. You can check and update permissions via FTP by right-clicking each directory and selecting “File Permissions,” or via SSH with a command like chmod 755 wp-content. If you are on managed hosting and cannot change these settings yourself, contact your host and ask them to verify that WordPress has write access to those directories.
Fix 3: Fix or Replace WP-Cron
WordPress background updates are not triggered on a traditional server schedule. Instead, they rely on WP-Cron, a pseudo-cron system that fires scheduled tasks whenever someone visits your site. If your site has low traffic, or if WP-Cron has been intentionally disabled, scheduled updates may never run.
Check if WP-Cron is disabled
Open your wp-config.php file and search for this line:
define('DISABLE_WP_CRON', true);
If that line is present and set to true, WP-Cron is off and your auto-updates will never trigger on their own. You have two options: remove that line to re-enable WP-Cron, or set up a real server-level cron job as a replacement (which is actually the better long-term solution).
Set up a real server cron job
A server cron job is more reliable than WP-Cron because it fires on a fixed schedule regardless of traffic. Keep DISABLE_WP_CRON set to true, then add a cron job in your hosting control panel that hits this URL every 5 or 15 minutes:
wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Replace yoursite.com with your actual domain. This approach also reduces server load by preventing multiple cron processes from stacking up on high-traffic sites.
Fix 4: Increase the PHP Memory Limit
WordPress updates, particularly major core updates, consume a fair amount of memory. If your PHP memory limit is set too low, the update will run out of memory partway through and fail. WordPress recommends at least 64MB, and 256MB is better for sites with many plugins.
How to raise the memory limit
Open wp-config.php and add this line above the comment that says “That’s all, stop editing!”:
define('WP_MEMORY_LIMIT', '256M');
If that does not work, your host may have a server-level cap that overrides this setting. You can also try adding php_value memory_limit 256M to your .htaccess file, or contact your host to raise the limit directly on the server.
Fix 5: Manually Trigger the Update from Your Dashboard
If auto-updates are failing but your site is otherwise healthy, you can start the update manually from the WordPress admin. Go to Dashboard > Updates. You will see the current versions of WordPress core, themes, and plugins. Click the update button for whichever items need updating.
Manual updates use the same underlying process as auto-updates, so if there is a persistent error, it will appear here too. The advantage is that you get an on-screen error message rather than a silent failure, which gives you much better information for diagnosing the problem. If the manual update shows a specific error message, search for that exact message to narrow down the cause.
Fix 6: Update Manually via FTP
If neither auto-updates nor dashboard updates work, you can push files directly via FTP. This bypasses all of WordPress’s update machinery entirely.
Steps to update WordPress core via FTP
- Download the latest version of WordPress from wordpress.org.
- Unzip the package on your local machine.
- Connect to your site via FTP.
- Upload the
wp-adminandwp-includesfolders from the downloaded package to your server, overwriting the existing versions. Do not delete anything first; just overwrite. - Upload the individual files from the root of the downloaded package (like
wp-login.php,wp-settings.php, etc.) to your server root. Skipwp-config.phpand thewp-contentfolder (those contain your site’s data). - Visit your site’s admin URL. WordPress may prompt you to run a database upgrade click through to complete it.
For plugin and theme updates via FTP, download the updated version from the developer’s site or wordpress.org, then upload it to wp-content/plugins/ or wp-content/themes/, overwriting the existing folder.
Fix 7: Isolate a Plugin or Theme Conflict
Security plugins, caching plugins, and staging tools sometimes hook into WordPress’s update process and interfere with it. Identifying which plugin is the culprit takes a few minutes but is straightforward.
How to test for conflicts
- Go to Plugins > Installed Plugins and deactivate all plugins at once using the bulk action.
- Switch your theme to a default WordPress theme (Twenty Twenty-Four or similar) from Appearance > Themes.
- Try running the update again.
- If the update succeeds, reactivate your plugins one at a time, testing after each one until the failure returns. The last plugin you activated before it failed is the culprit.
Common offenders include Wordfence, Sucuri, WP Rocket, and any plugin that manages file access or deployment. Check that plugin’s settings for options that may be blocking file writes or external requests, or look for an update to that plugin that addresses compatibility issues.
Fix 8: Check Whether Your Host Is Blocking Updates
Some shared hosts disable WordPress auto-updates at the server level, either because they manage updates themselves as part of your plan or because they restrict outbound connections from PHP. If you have tried every fix above and updates are still failing, contact your hosting provider directly.
Ask them specifically whether auto-updates are enabled for your account, whether PHP is allowed to make outbound HTTP requests (required for update checks), and whether there are any firewall rules blocking connections to wordpress.org. Many managed WordPress hosts handle updates for you, so it is worth checking your plan details to avoid duplicating their work.
Fix 9: Enable Automatic Background Updates in wp-config.php
By default, WordPress only auto-updates for minor security releases. Major version updates (like 6.4 to 6.5) require a manual trigger unless you specifically turn on automatic major updates. If your site is not receiving any auto-updates at all, check whether updates have been disabled in wp-config.php.
Constants that control WordPress auto-updates
Look for any of these lines in wp-config.php:
define('WP_AUTO_UPDATE_CORE', false);: disables all core auto-updatesdefine('WP_AUTO_UPDATE_CORE', 'minor');: default setting, only minor releasesdefine('WP_AUTO_UPDATE_CORE', true);: enables auto-updates for all releases including major versionsdefine('AUTOMATIC_UPDATER_DISABLED', true);: disables the entire update system
If AUTOMATIC_UPDATER_DISABLED is set to true, no updates of any kind will run automatically. Remove that line or set it to false to restore normal update behavior. To turn on major version auto-updates, set WP_AUTO_UPDATE_CORE to true.
Check Disk Space
One cause that often gets overlooked is a full disk. WordPress cannot write update files if the server has no space to put them. Many shared hosting accounts have storage limits that can sneak up on you, especially if you have a lot of media uploads or large database backups stored on the server.
Check your disk usage in your hosting control panel (cPanel, Plesk, or similar). If you are at or near your limit, remove old backups, clear out unused media files, or upgrade your storage. Once there is free space, try the update again.
What to Do If Nothing Works
If you have worked through every fix above and the WordPress auto update error is still appearing, the problem is almost certainly at the server or hosting level. At this point, your best options are to contact your host’s support team with a description of what you have tried, or to consider switching to a managed WordPress hosting provider that handles updates as part of the service. You should also consider using a dedicated update management plugin as a fallback, which can retry failed updates and notify you when something goes wrong.
Whatever you do, do not leave your site running outdated software while you troubleshoot. Use the FTP manual update method described above to apply the latest security release right away, then continue investigating the root cause of the auto-update failure at your own pace.
* This button will show the rest of the post and open up an offer from a vendor
What Might Cause the Auto-Update Failure
There are several reasons why your website might have failed to automatically update. Usually it is to do with an error within the server’s connection and your WordPress files or there are incorrect file permissions. Or there could be an unreliable internet connection.
Whatever the reason, there are simple ways that you can fix the problem and provide your site with the latest coding for success. Here are some suggestions for you on how to fix the problem.
When will you Know there is a Problem?
If you want to know if there is an auto-update error, you can check your WordPress dashboard. Normally, there is a WsoD error or notices that errors have happened. These will appear as you log into your WordPress website.
You might also notice that your WordPress website has said it is running an older version or a newer version is available.
How to Fix the Auto-Update Error in WordPress
To fix the issue, all you need to do is to download the latest version of the WordPress software from your website and install it on your site’s server using an FTP client like FileZilla. It is that easy.
However, what might happen is that you find the reason for the error. For instance, there might be a conflict between your core software and a plugin/theme. Or you might not have enough PHP memory allocated to your WordPress website. These will also need to be corrected before you can do anything else.
Stopping the Error from Happening Again
To stop the problem from happening again you might need to check a few things. The first is the file permissions. Make sure that all the file permissions are set to the top level. Otherwise nothing can access your site’s files without using FTP clients like FileZilla to access the website files and make changes.
Another thing to check is that you have a good internet connection. And finally, check that your server is configured properly for your WordPress website. An incorrect setting can affect more than just the auto-update.
If you’re worried about your website being updated, you can also use a staging website to check that the update doesn’t cause problems before installing it on your website.
Final Word: How to Fix ‘WordPress Failed to Auto-Update’ Error
Keep your WordPress website updated to protect it from criminals. Most hosting providers ensure that your website is automatically updated, but this doesn’t always work. When it doesn’t, look at the fixes above to help you correct the errors to get your WordPress website updated quickly and effortlessly in the future.
Website Maintenance – Use Promocode: scanwp
Advanced JetPlugins for Elementor
Semrush 14 days trial
Kinsta – Managed WordPress Hosting
Bluehost Hosting