Key takeaways
- To stop one plugin or theme, use its Disable auto-updates link under Plugins or Appearance → Themes. You need WordPress 5.5 or later.
- WP_AUTO_UPDATE_CORE only affects core. AUTOMATIC_UPDATER_DISABLED turns off the whole background updater, and WordPress’s handbook discourages it.
- If updates keep happening after you turned them off, look for a host updater or a file in wp-content/mu-plugins before you change anything else.
- Returning false from auto_update_plugin also blocks the security updates WordPress.org pushes for actively exploited flaws.
- Updates that never run usually come from a cron, loopback, permissions or disk space problem. Changing a setting won’t fix any of those. Tools → Site Health is where to look first.
A plugin updates overnight. In the morning the checkout buttons are in the wrong place, or the site shows a critical error. The obvious response is to switch off automatic updates and approve everything by hand from now on.
That works if you pick the right control, and if someone really does apply security fixes afterwards. WordPress has at least four separate update controls. Your host may run a fifth that ignores all of them. Most “I turned it off and it still updated” threads come from changing a setting that doesn’t govern the update the person wanted to stop. If an update has already failed or left the site half-updated, fix that first with our guide to failed WordPress updates. Then come back here and decide on a policy.
Which switch stops which update
Each control covers one kind of update. Pick the one that matches what you want to stop.
| What you want to stop | Control | Where |
|---|---|---|
| One plugin or one theme | “Disable auto-updates” link | Plugins → Installed Plugins, or Appearance → Themes |
| Major core releases only | define( 'WP_AUTO_UPDATE_CORE', 'minor' ); | wp-config.php |
| All core updates | define( 'WP_AUTO_UPDATE_CORE', false ); | wp-config.php |
| All plugins or all themes | auto_update_plugin / auto_update_theme filters | A must-use plugin |
| The whole background updater | define( 'AUTOMATIC_UPDATER_DISABLED', true ); | wp-config.php |
Start at the top of the table. The further down you go, the more you switch off, and the more likely you are to block a security fix you would have wanted.
How to stop one plugin or theme from updating itself
If one plugin broke something, turn off auto-updates for that plugin and leave the rest alone. WordPress.org’s documentation says these per-item controls need WordPress 5.5 or later. If you aren’t sure which version you run, check your WordPress version first.
- Go to Plugins → Installed Plugins.
- In the Automatic Updates column, click Disable auto-updates next to the plugin.
- For a theme, go to Appearance → Themes, open the theme’s details and click Disable auto-updates. If you use a child theme, the parent theme is the one that receives updates.
To bulk-change plugins, tick several and pick Disable Auto-updates from the Bulk actions menu. On the command line, WP-CLI does the same with wp plugin auto-updates disable plugin-slug (available since WP-CLI 2.5.0) and wp theme auto-updates disable theme-slug.
The link column should now say “Enable auto-updates” for that item. One limit to keep in mind: this toggle doesn’t stop your host’s updater, and it doesn’t stop a security update WordPress.org decides to push.
How to stop major core releases but keep security fixes
Core has its own constant. Open wp-config.php and add one of these lines above the line that reads /* That's all, stop editing! */:
// Keep minor and security releases, skip major versions
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
// Or: turn off all automatic core updates
define( 'WP_AUTO_UPDATE_CORE', false );
WordPress’s Developer Handbook says this constant overrides the core auto-update setting on the Updates screen. It has no effect on plugins or themes. People mix this up often enough that a WordPress.org moderator had to explain in a 2025 support thread that WP_AUTO_UPDATE_CORE covers core only, while AUTOMATIC_UPDATER_DISABLED covers everything.
The 'minor' value is the setting most sites should use. Minor releases carry the security and maintenance fixes, and they are the ones you least want waiting on someone’s calendar.
Edit this file carefully. A missing semicolon or a stray quote takes the whole site down. Keep a copy of the original file so you can put it back in seconds. Editing wp-config.php needs file access through your host’s file manager, SFTP or SSH.
How to switch off all automatic updates, and what that costs
One line turns off the whole background updater:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
WordPress’s handbook calls this “generally discouraged”, because minor and security updates are what keep a site secure. Treat it as a policy decision, not a fix. The site stays exactly as it is until someone logs in and updates it. If nobody owns that job, the site falls further behind every week.
To turn off plugin or theme auto-updates across the site but leave core alone, use filters. The handbook says filters belong in a must-use plugin, not in wp-config.php, where they can conflict with WP-CLI. Create wp-content/mu-plugins/update-policy.php:
<?php
/**
* Plugin Name: Update policy
* Description: Site update rules. Owner and date: write them here.
*/
// Stop auto-updates for one plugin only
add_filter( 'auto_update_plugin', function ( $update, $item ) {
if ( isset( $item->slug ) && 'woocommerce' === $item->slug ) {
return false;
}
return $update;
}, 10, 2 );
// Or stop all theme auto-updates
// add_filter( 'auto_update_theme', '__return_false' );
Know what returning false does. The handbook says it also blocks plugin and theme updates pushed by the WordPress.org security team. Don’t put update rules in your theme’s functions.php either. A theme switch or update can remove them without anyone noticing.
Why updates still happen after you switched them off
Usually something other than your setting is in charge. Check these in order.
A forced security update
WordPress.org can push an update for a critical vulnerability even when your toggles are off. In a 2024 WordPress.org thread, a site owner reported plugins updating with auto-updates disabled. The replies explained that security updates can be forced, and a moderator advised against overriding them when a flaw is being actively exploited. If the surprise update was a security release, the system did what it was built to do.
Your host runs its own updater
Managed hosts often update plugins from their own dashboard, outside WordPress. Some do it with a must-use plugin, which keeps running when you deactivate everything else. A GitHub issue logged in October 2026 shows Hostinger’s Smart Auto Updates MU plugin (v1.0.8) registering automatic_updater_disabled as true and auto_update_plugin as false. That is the opposite problem: settings switched off by the host, not by you.
In a 2023 WordPress.org case, Site Health warned that background updates weren’t working because the automatic_updater_disabled filter was enabled. The owner’s wp-config.php didn’t contain it. The source was a “Disable Auto Updates” MU plugin the host had installed. The owner waited days for it to be removed.
An update-management plugin
Plugins that manage updates keep their own rules. Running one next to a host updater gives you two policies that disagree. Choose one system and turn off the other.
To find which layer is in control:
- Check the item’s toggle on the Plugins or Themes screen.
- Look in your host’s control panel for anything labelled automatic or plugin updates.
- Open
wp-content/mu-plugins/, or Tools → Site Health → Info → Must Use Plugins. - Check for an update-management plugin in your plugin list.
- Search
wp-config.phpfor the two constants above. Old sites often still have them, and nobody remembers why.
If it’s still unclear, ask the host directly whether it updates plugins or core itself.
When updates aren’t running at all
Sometimes nobody switched anything off and updates still don’t happen. WordPress.org’s documentation says plugin and theme auto-updates rely on WP-Cron and run twice a day. If the scheduler or the file system is broken, no setting will help.
Open Tools → Site Health and read the Status tab. The WordPress.org Health Check handbook lists the checks that matter here: failed scheduled events, background updates and loopback requests. Then work through the causes:
- Cron. If
DISABLE_WP_CRONis set inwp-config.php, a real server cron job has to replace it. Without one, scheduled updates never run. - Permissions. If WordPress asks for FTP credentials, it can’t write files as the web server user. Ask the host to fix ownership. Don’t loosen permissions across the site.
- Disk space. A full disk stops updates from unpacking. Old backup archives are a common cause.
- A leftover .maintenance file. If the site says “Briefly unavailable for scheduled maintenance”, WordPress.org’s troubleshooting FAQ says to delete
.maintenancefrom the WordPress root. Deleting it brings the site back. It doesn’t finish the update, so run the update again.
If an update broke the site, fix that one thing
Switching everything off hides the symptom and leaves the cause in place. Find the component first. WooCommerce’s self-service guide gives the standard routine: switch to a default theme, deactivate everything except WooCommerce and the extensions involved, then reactivate them one at a time.
Often the cause is narrow. In an October 2026 WordPress.org review, a site owner said a form plugin’s auto-update took their site down because the new version required PHP 8.3 and the server ran PHP 8.0. Turning off every update wouldn’t have fixed that. Upgrading PHP, or holding back that one plugin until the server could be upgraded, would have.
Roll back only the plugin that broke, and only until a fix ships. The Developer Handbook warns that older code can bring back security holes and cause database version problems. When a fixed version is out, turn that plugin’s auto-updates back on. Rolling back one plugin also keeps every order and edit made since your last backup. A full restore from backup throws those away.
Stores need extra care. WooCommerce’s update guide says some releases need a separate database update after the files update, and you can follow its progress under Scheduled Actions. The guide also says to back up the database and wp-content, test on staging, then check product pages, cart, checkout, payment, shipping, tax and email. It suggests a monthly cadence for most stores, with security fixes applied sooner.
The policy most practitioners settle on
WordPress.org threads and Reddit discussions keep landing on the same compromise:
- Keep minor core releases automatic, along with your security and backup plugins.
- Turn off auto-updates only for the plugins that can cost you money when they change: payments, checkout, page builders, heavily customised features.
- Update those by hand on a named day. Take a backup first, use staging if your host offers it, and update one at a time, never with “Update all”.
- After each update, load the homepage, submit a form and run a test checkout.
- Write down what is switched off, where, and who owns the manual updates.
WordPress.org has also started delaying some releases on its side. The Plugins Team’s phased release rollout, announced in August 2025, delays automatic updates by 24 hours for plugins that opt in. You can still update by hand during that window.
If nobody on your team wants to own the manual queue, SiteSelf handles plugin updates on request through chat, then reports what changed and what it checked.
Frequently asked questions
How do I turn automatic updates back on?
Reverse whatever you changed. Click “Enable auto-updates” on the item, delete the constant from wp-config.php, or delete the filter from your MU plugin. Then check Site Health. If it still says background updates are disabled, something else is setting the filter, usually a host MU plugin.
Why can’t I see the auto-update links on my Plugins screen?
Check that you run WordPress 5.5 or later. If you do, WordPress.org’s documentation says a host or a plugin may have turned the feature off. Look in wp-content/mu-plugins and in Site Health → Info → Must Use Plugins.
Why do update notices still show after I turned off auto-updates?
Stopping automatic installs and hiding update notices are separate things. Turning off auto-updates means WordPress waits for you to click Update. It still tells you an update exists, and you want it to.
How often do WordPress auto-updates run?
WordPress.org’s documentation says plugin and theme auto-updates run twice a day by default, through WP-Cron. If WP-Cron is disabled and no server cron replaces it, they don’t run at all.
Do premium plugins and WooCommerce extensions follow the same toggle?
The toggle only applies to updates WordPress can find. WooCommerce’s update guide says Marketplace extensions update only when the store is connected to a WooCommerce.com account. Third-party extensions follow their vendor’s own update method. Check those separately, because they fall behind without any warning.