diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php
index c08e57f6e9..ea41a8c6c3 100644
--- a/src/wp-admin/update-core.php
+++ b/src/wp-admin/update-core.php
@@ -306,43 +306,45 @@ function core_upgrade_preamble() {
  * @since 5.6.0
  */
 function core_auto_updates_settings() {
-	$upgrade_major_value = '';
-	if ( isset( $_POST['core-auto-updates-settings'] ) && wp_verify_nonce( $_POST['set_core_auto_updates_settings'], 'core-auto-updates-nonce' ) ) {
-		if ( isset( $_POST['core-auto-updates-major'] ) && 1 === (int) $_POST['core-auto-updates-major'] ) {
-			update_site_option( 'auto_update_core_major', 1 );
-		} else {
-			update_site_option( 'auto_update_core_major', 0 );
+	if ( isset( $_GET['core-major-auto-updates-saved'] ) ) {
+		if ( 'enabled' === $_GET['core-major-auto-updates-saved'] ) {
+			$notice_text = __( 'WordPress will auto-update to next major versions.' );
+			echo '<div class="notice notice-success is-dismissible"><p>' . $notice_text . '</p></div>';
+		} elseif ( 'disabled' === $_GET['core-major-auto-updates-saved'] ) {
+			$notice_text = __( 'WordPress will no longer auto-update to next major versions.' );
+			echo '<div class="notice notice-success is-dismissible"><p>' . $notice_text . '</p></div>';
 		}
-		echo '<div class="notice notice-success is-dismissible"><p>';
-		_e( 'WordPress auto-update settings updated.' );
-		echo '</p></div>';
 	}
 
-	$upgrade_dev   = get_site_option( 'auto_update_core_dev', true );
-	$upgrade_minor = get_site_option( 'auto_update_core_minor', true );
-	$upgrade_major = get_site_option( 'auto_update_core_major', false );
+	 // TODO: set these to strings: `enabled` or `disabled`.
+	 // Better than saving the bool `true/false` as string `1/0` in the DB.
+	$upgrade_dev   = get_site_option( 'auto_update_core_dev', 'enabled' );
+	$upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' );
+	$upgrade_major = get_site_option( 'auto_update_core_major', 'disabled' );
 
+	$upgrade_major_optin_enabled = true;
 	// WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false.
 	if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
 		if ( false === WP_AUTO_UPDATE_CORE ) {
 			// Defaults to turned off, unless a filter allows it.
-			$upgrade_dev   = false;
-			$upgrade_minor = false;
-			$upgrade_major = false;
+			$upgrade_dev   = 'disabled';
+			$upgrade_minor = 'disabled';
+			$upgrade_major = 'disabled';
 		} elseif ( true === WP_AUTO_UPDATE_CORE
 			|| 'beta' === WP_AUTO_UPDATE_CORE
 			|| 'rc' === WP_AUTO_UPDATE_CORE
 		) {
 			// ALL updates for core.
-			$upgrade_dev   = true;
-			$upgrade_minor = true;
-			$upgrade_major = true;
+			$upgrade_dev   = 'enabled';
+			$upgrade_minor = 'enabled';
+			$upgrade_major = 'enabled';
 		} elseif ( 'minor' === WP_AUTO_UPDATE_CORE ) {
 			// Only minor updates for core.
-			$upgrade_dev   = false;
-			$upgrade_minor = true;
-			$upgrade_major = false;
+			$upgrade_dev   = 'disabled';
+			$upgrade_minor = 'enabled';
+			$upgrade_major = 'disabled';
 		}
+		$upgrade_major_optin_enabled = false;
 	}
 
 	/** This filter is documented in wp-admin/includes/class-core-upgrader.php */
@@ -352,45 +354,61 @@ function core_auto_updates_settings() {
 	/** This filter is documented in wp-admin/includes/class-core-upgrader.php */
 	$upgrade_major = apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
 
+	$is_major_optin_disabled = apply_filters( 'allow_major_auto_core_updates', null );
+	if ( isset( $is_major_optin_disabled ) ) {
+		$upgrade_major_optin_enabled = false;
+	}
+
 	$auto_update_settings = array(
 		'dev'   => $upgrade_dev,
 		'minor' => $upgrade_minor,
 		'major' => $upgrade_major,
 	);
+
+	if ( $auto_update_settings['major'] ) {
+		$wp_version = get_bloginfo( 'version' );
+		$updates    = get_core_updates();
+		if ( isset( $updates[0]->version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) {
+			echo '<p>' . wp_get_auto_update_message() . '</p>';
+		}
+	}
 	?>
-	<form method="post" action="<?php echo esc_url( $_SERVER['REQUEST_URI'] ); ?>" name="core-auto-updates" class="form-core-auto-updates">
-		<?php wp_nonce_field( 'core-auto-updates-nonce', 'set_core_auto_updates_settings' ); ?>
-		<h2><?php _e( 'Auto-update settings' ); ?></h2>
+
+	<?php if ( 1 === (int) $upgrade_major_optin_enabled ) : ?>
 		<p>
 			<?php
-			if ( $auto_update_settings['major'] ) {
-				$wp_version = get_bloginfo( 'version' );
-				$updates    = get_core_updates();
-				if ( isset( $updates[0]->version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) {
-					echo wp_get_auto_update_message();
-				}
+			if ( 'enabled' === $upgrade_major ) {
+				echo sprintf(
+					/* Translators: Action link to disable core auto-updates. */
+					__( 'Auto-updates for regular feature updates are on. You can <a href="%s">turn them off.</a>' ),
+					wp_nonce_url( 'update-core.php?core-major-auto-updates=disable', 'core-major-auto-updates-nonce' )
+				);
+			} else {
+				echo sprintf(
+					/* Translators: Action link to enable core auto-updates. */
+					__( 'You are invited to <a href="%s">automatically keep this site up-to-date with regular feature updates.</a>' ),
+					wp_nonce_url( 'update-core.php?core-major-auto-updates=enable', 'core-major-auto-updates-nonce' )
+				);
 			}
 			?>
 		</p>
+	<?php elseif ( 'enabled' === $upgrade_major ) : ?>
 		<p>
-			<input type="checkbox" name="core-auto-updates-major" id="core-auto-updates-major" value="1" <?php checked( $auto_update_settings['major'], 1 ); ?> />
-			<label for="core-auto-updates-major">
-				<?php _e( 'Automatically keep this site up-to-date with regular feature updates.' ); ?>
-			</label>
+			<?php _e( 'This website is set to keep itself up-to-date with regular feature updates.' ); ?>
 		</p>
-		<?php
-		/**
-		 * Fires after the major core auto-update checkbox.
-		 *
-		 * @since 5.6.0
-		 */
-		do_action( 'after_core_auto_updates_settings_fields', $auto_update_settings );
-		?>
+	<?php else: ?>
 		<p>
-			<input id="core-auto-updates-settings" class="button" type="submit" value="<?php esc_attr_e( 'Save' ); ?>" name="core-auto-updates-settings" />
+			<?php _e( 'Auto-updates for regular feature updates are not available for this website.' ); ?>
 		</p>
-	</form>
+	<?php endif; ?>
+
 	<?php
+	/**
+	 * Fires after the major core auto-update settings.
+	 *
+	 * @since 5.6.0
+	 */
+	do_action( 'after_core_auto_updates_settings', $auto_update_settings );
 }
 
 /**
@@ -886,6 +904,20 @@ function do_undismiss_core_update() {
 	exit;
 }
 
+if ( isset( $_GET['core-major-auto-updates'] ) ) {
+	check_admin_referer( 'core-major-auto-updates-nonce' );
+
+	if ( 'enable' === $_GET['core-major-auto-updates'] ) {
+		update_site_option( 'auto_update_core_major', 'enabled' );
+		wp_redirect( add_query_arg( 'core-major-auto-updates-saved', 'enabled', self_admin_url( 'update-core.php' ) ) );
+		exit;
+	} elseif ( 'disable' === $_GET['core-major-auto-updates'] ) {
+		update_site_option( 'auto_update_core_major', 'disabled' );
+		wp_redirect( add_query_arg( 'core-major-auto-updates-saved', 'disabled', self_admin_url( 'update-core.php' ) ) );
+		exit;
+	}
+}
+
 $action = isset( $_GET['action'] ) ? $_GET['action'] : 'upgrade-core';
 
 $upgrade_error = false;
@@ -957,6 +989,8 @@ if ( 'upgrade-core' === $action ) {
 	?>
 	<div class="wrap">
 	<h1><?php _e( 'WordPress Updates' ); ?></h1>
+	<p><?php _e( 'Here you can find information about updates, set auto-updates and see what plugins or themes need updating.' ); ?></p>
+
 	<?php
 	if ( $upgrade_error ) {
 		echo '<div class="error"><p>';
@@ -982,8 +1016,8 @@ if ( 'upgrade-core' === $action ) {
 	echo '</p>';
 
 	if ( current_user_can( 'update_core' ) ) {
-		core_upgrade_preamble();
 		core_auto_updates_settings();
+		core_upgrade_preamble();
 	}
 	if ( current_user_can( 'update_plugins' ) ) {
 		list_plugin_updates();
