How to Disable or Control Automatic Updates in WordPress

Hourglass and toggle switch on a wooden block, a cobalt-blue sphere beside themAI-generated
Contents

Why control automatic updates in WordPress?

Automatic updates in WordPress are a great feature for closing security holes quickly and keeping your system up to date. But sometimes they can also cause problems:

  • Compatibility problems – An update can break plugins or your theme.
  • Failed updates – If an update is not installed correctly, your website can become unusable.
  • Unexpected changes – Automatic updates can change or remove features.

If you want to keep full control over updates, you can manage them selectively or even disable them completely.

1. Disable automatic updates completely (code solution)

If you want WordPress to stop performing automatic updates altogether, you can set this in wp-config.php.

Add this code to the wp-config.php file:

define('WP_AUTO_UPDATE_CORE', false);

This setting prevents WordPress from installing updates automatically.

If you already have plugins that enable automatic updates, you should prevent those as well:

add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');

Now plugin and theme updates are no longer installed automatically either.

2. Allow security updates only

If you want only security updates (e.g. WordPress 6.0 → 6.0.1) to be installed, but no major version jumps (e.g. 6.0 → 6.1), use this setting in wp-config.php:

define('WP_AUTO_UPDATE_CORE', 'minor');

This ensures that only minor security updates are installed automatically.

Alternatively, you can use a filter to allow only WordPress core updates, but no plugin and theme updates:

add_filter('auto_update_core', '__return_true');
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');

3. Enable or disable automatic plugin and theme updates

If you want certain plugins or themes to always update automatically, you can set this in functions.php.

Example: update only specific plugins automatically

function custom_auto_update_plugins($update, $item) {
    $plugins = array(
        'woocommerce/woocommerce.php',
        'wordfence/wordfence.php'
    );
    
    if (in_array($item->plugin, $plugins)) {
        return true;
    }
    return $update;
}
add_filter('auto_update_plugin', 'custom_auto_update_plugins', 10, 2);

Here only WooCommerce and Wordfence are updated automatically, all other plugins are not.

Example: disable automatic theme updates

add_filter('auto_update_theme', '__return_false');

4. Control updates manually with WP-CLI

If you prefer to install updates manually from the command line, you can use WP-CLI.

Example: update all plugins

wp plugin update --all

Example: update only a specific plugin

wp plugin update woocommerce

Example: update only the WordPress core

wp core update

If you want to schedule an automatic update via WP-CLI, you can set it up with a cron job.

5. Monitor updates by email

If you disable automatic updates, you will still want to know when new versions are available.

With the following code you can receive an email notification when updates are pending:

function notify_admin_updates() {
    $update_plugins = get_site_transient('update_plugins');
    if (!empty($update_plugins->response)) {
        $admin_email = get_option('admin_email');
        $subject = 'WordPress Update-Benachrichtigung';
        $message = 'Es gibt Updates für folgende Plugins: ' . implode(", ", array_keys($update_plugins->response));
        wp_mail($admin_email, $subject, $message);
    }
}
add_action('admin_init', 'notify_admin_updates');

This function checks for updates regularly and sends an email to the website administrator.

6. Force automatic backups before updates

If you want to allow updates but still create a backup, you can use this code:

function backup_before_update($update, $item) {
    $backup_dir = WP_CONTENT_DIR . '/backups/';
    
    if (!file_exists($backup_dir)) {
        mkdir($backup_dir, 0755, true);
    }

    $filename = $backup_dir . 'backup-' . date('Y-m-d-H-i-s') . '.zip';
    shell_exec('zip -r ' . $filename . ' ' . ABSPATH);
    
    return $update;
}
add_filter('auto_update_plugin', 'backup_before_update', 10, 2);

Before every plugin update, a backup of the entire WordPress directory is saved as a ZIP file.

7. Plugin solution: control updates with a click

If you don’t want to change any code, there are several plugins that let you configure automatic updates with a click:

  • Easy Updates Manager – Controls all update types.
  • WP Rollback – If an update causes problems, you can roll it back with one click.
  • ManageWP – Enables central update management for multiple WordPress sites.

This is how you disable automatic updates with Easy Updates Manager:

  1. Install the plugin under Plugins > Add New.
  2. Go to Settings > Updates Manager.
  3. Choose which updates should be disabled or enabled.

Conclusion

Depending on the type of website, you can either disable automatic updates completely, allow security updates only or control them manually.

  • For beginners: Keep security updates active, but disable plugin and theme updates.
  • For developers: Control updates with WP-CLI and set up automatic backups.
  • For agencies: Use plugins such as Easy Updates Manager to manage multiple websites efficiently.

If you run a WooCommerce or business website, it is especially important to control updates and make a backup before every update.

We created this blog post with the help of AI.

Michael Rademacher

Founder of realmaker

Michael Rademacher founded realmaker in 2003. He develops WordPress websites and software, produces films and live streams, and writes here about what he learns in client projects.

About Michael

Rather have it maintained?

Updates, backups and monitoring are handled by wp-einfach.de – for a fixed monthly price (service in German).

Go to wp-einfach.de