diff --git a/src/wp-admin/includes/class-plugin-upgrader.php b/src/wp-admin/includes/class-plugin-upgrader.php
index 27dc757f19..dd622a3ae4 100644
--- a/src/wp-admin/includes/class-plugin-upgrader.php
+++ b/src/wp-admin/includes/class-plugin-upgrader.php
@@ -447,9 +447,10 @@ class Plugin_Upgrader extends WP_Upgrader {
 		if ( ! is_php_version_compatible( $requires_php ) ) {
 			$error = sprintf(
 				/* translators: 1: Current PHP version, 2: Version required by the uploaded plugin. */
-				__( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s.' ),
+				__( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s. <a href="%3$s">Learn more about updating PHP</a>' ),
 				phpversion(),
-				$requires_php
+				$requires_php,
+				__( 'https://wordpress.org/support/update-php/' )
 			);
 
 			return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error );
@@ -458,9 +459,10 @@ class Plugin_Upgrader extends WP_Upgrader {
 		if ( ! is_wp_version_compatible( $requires_wp ) ) {
 			$error = sprintf(
 				/* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */
-				__( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ),
+				__( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s. <a href="%3$s">Learn more about updating WordPress</a>' ),
 				$GLOBALS['wp_version'],
-				$requires_wp
+				$requires_wp,
+				__( 'https://wordpress.org/support/article/updating-wordpress/' )
 			);
 
 			return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error );
diff --git a/src/wp-admin/includes/class-theme-installer-skin.php b/src/wp-admin/includes/class-theme-installer-skin.php
index 16e99332a6..74f9f4e7d9 100644
--- a/src/wp-admin/includes/class-theme-installer-skin.php
+++ b/src/wp-admin/includes/class-theme-installer-skin.php
@@ -298,9 +298,10 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
 		if ( ! is_php_version_compatible( $requires_php ) ) {
 			$error = sprintf(
 				/* translators: 1: Current PHP version, 2: Version required by the uploaded theme. */
-				__( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s.' ),
+				__( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s. <a href="%3$s">Learn more about updating PHP</a>' ),
 				phpversion(),
-				$requires_php
+				$requires_php,
+				__( 'https://wordpress.org/support/update-php/' )
 			);
 
 			$blocked_message .= '<li>' . esc_html( $error ) . '</li>';
@@ -310,9 +311,10 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
 		if ( ! is_wp_version_compatible( $requires_wp ) ) {
 			$error = sprintf(
 				/* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */
-				__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ),
+				__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s. <a href="%3$s">Learn more about updating WordPress</a>' ),
 				get_bloginfo( 'version' ),
-				$requires_wp
+				$requires_wp,
+				__( 'https://wordpress.org/support/article/updating-wordpress/' )
 			);
 
 			$blocked_message .= '<li>' . esc_html( $error ) . '</li>';
diff --git a/src/wp-admin/includes/class-theme-upgrader.php b/src/wp-admin/includes/class-theme-upgrader.php
index c08d3c2d5c..10cdc320de 100644
--- a/src/wp-admin/includes/class-theme-upgrader.php
+++ b/src/wp-admin/includes/class-theme-upgrader.php
@@ -595,9 +595,10 @@ class Theme_Upgrader extends WP_Upgrader {
 		if ( ! is_php_version_compatible( $requires_php ) ) {
 			$error = sprintf(
 				/* translators: 1: Current PHP version, 2: Version required by the uploaded theme. */
-				__( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s.' ),
+				__( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s. <a href="%3$s">Learn more about updating PHP</a>' ),
 				phpversion(),
-				$requires_php
+				$requires_php,
+				__( 'https://wordpress.org/support/update-php/' )
 			);
 
 			return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error );
@@ -605,9 +606,10 @@ class Theme_Upgrader extends WP_Upgrader {
 		if ( ! is_wp_version_compatible( $requires_wp ) ) {
 			$error = sprintf(
 				/* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */
-				__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ),
+				__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s. <a href="%3$s">Learn more about updating WordPress</a>' ),
 				$GLOBALS['wp_version'],
-				$requires_wp
+				$requires_wp,
+				__( 'https://wordpress.org/support/article/updating-wordpress/' )
 			);
 
 			return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error );
