Yoast SEO - Version 19.7.2

Version Description

Release Date: October 5th, 2022

Other:

  • Removes the cURL minimal version check from the Site Health page, as it was causing issues.
Download this release

Release Info

Developer Yoast
Plugin Icon 128x128 Yoast SEO
Version 19.7.2
Comparing to
See all releases

Code changes from version 19.7.1 to 19.7.2

Files changed (74) hide show
  1. css/dist/{admin-global-1971-rtl.css → admin-global-1972-rtl.css} +0 -0
  2. css/dist/{admin-global-1971.css → admin-global-1972.css} +0 -0
  3. css/dist/{adminbar-1971-rtl.css → adminbar-1972-rtl.css} +0 -0
  4. css/dist/{adminbar-1971.css → adminbar-1972.css} +0 -0
  5. css/dist/{alerts-1971-rtl.css → alerts-1972-rtl.css} +0 -0
  6. css/dist/{alerts-1971.css → alerts-1972.css} +0 -0
  7. css/dist/{dashboard-1971-rtl.css → dashboard-1972-rtl.css} +0 -0
  8. css/dist/{dashboard-1971.css → dashboard-1972.css} +0 -0
  9. css/dist/{edit-page-1971-rtl.css → edit-page-1972-rtl.css} +0 -0
  10. css/dist/{edit-page-1971.css → edit-page-1972.css} +0 -0
  11. css/dist/{elementor-1971-rtl.css → elementor-1972-rtl.css} +0 -0
  12. css/dist/{elementor-1971.css → elementor-1972.css} +0 -0
  13. css/dist/{featured-image-1971-rtl.css → featured-image-1972-rtl.css} +0 -0
  14. css/dist/{featured-image-1971.css → featured-image-1972.css} +0 -0
  15. css/dist/{filter-explanation-1971-rtl.css → filter-explanation-1972-rtl.css} +0 -0
  16. css/dist/{filter-explanation-1971.css → filter-explanation-1972.css} +0 -0
  17. css/dist/{icons-1971-rtl.css → icons-1972-rtl.css} +0 -0
  18. css/dist/{icons-1971.css → icons-1972.css} +0 -0
  19. css/dist/{inside-editor-1971-rtl.css → inside-editor-1972-rtl.css} +0 -0
  20. css/dist/{inside-editor-1971.css → inside-editor-1972.css} +0 -0
  21. css/dist/{metabox-1971-rtl.css → metabox-1972-rtl.css} +0 -0
  22. css/dist/{metabox-1971.css → metabox-1972.css} +0 -0
  23. css/dist/{metabox-primary-category-1971-rtl.css → metabox-primary-category-1972-rtl.css} +0 -0
  24. css/dist/{metabox-primary-category-1971.css → metabox-primary-category-1972.css} +0 -0
  25. css/dist/{modal-1971-rtl.css → modal-1972-rtl.css} +0 -0
  26. css/dist/{modal-1971.css → modal-1972.css} +0 -0
  27. css/dist/{monorepo-1971-rtl.css → monorepo-1972-rtl.css} +0 -0
  28. css/dist/{monorepo-1971.css → monorepo-1972.css} +0 -0
  29. css/dist/{new-settings-1971-rtl.css → new-settings-1972-rtl.css} +0 -0
  30. css/dist/{new-settings-1971.css → new-settings-1972.css} +0 -0
  31. css/dist/{notifications-1971-rtl.css → notifications-1972-rtl.css} +0 -0
  32. css/dist/{notifications-1971.css → notifications-1972.css} +0 -0
  33. css/dist/{notifications-new-1971-rtl.css → notifications-new-1972-rtl.css} +0 -0
  34. css/dist/{notifications-new-1971.css → notifications-new-1972.css} +0 -0
  35. css/dist/{schema-blocks-1971-rtl.css → schema-blocks-1972-rtl.css} +0 -0
  36. css/dist/{schema-blocks-1971.css → schema-blocks-1972.css} +0 -0
  37. css/dist/{score_icon-1971-rtl.css → score_icon-1972-rtl.css} +0 -0
  38. css/dist/{score_icon-1971.css → score_icon-1972.css} +0 -0
  39. css/dist/{search-appearance-1971-rtl.css → search-appearance-1972-rtl.css} +0 -0
  40. css/dist/{search-appearance-1971.css → search-appearance-1972.css} +0 -0
  41. css/dist/{structured-data-blocks-1971-rtl.css → structured-data-blocks-1972-rtl.css} +0 -0
  42. css/dist/{structured-data-blocks-1971.css → structured-data-blocks-1972.css} +0 -0
  43. css/dist/{tailwind-1971-rtl.css → tailwind-1972-rtl.css} +0 -0
  44. css/dist/{tailwind-1971.css → tailwind-1972.css} +0 -0
  45. css/dist/{toggle-switch-1971-rtl.css → toggle-switch-1972-rtl.css} +0 -0
  46. css/dist/{toggle-switch-1971.css → toggle-switch-1972.css} +0 -0
  47. css/dist/{tooltips-1971-rtl.css → tooltips-1972-rtl.css} +0 -0
  48. css/dist/{tooltips-1971.css → tooltips-1972.css} +0 -0
  49. css/dist/{workouts-1971-rtl.css → workouts-1972-rtl.css} +0 -0
  50. css/dist/{workouts-1971.css → workouts-1972.css} +0 -0
  51. css/dist/{wpseo-dismissible-1971-rtl.css → wpseo-dismissible-1972-rtl.css} +0 -0
  52. css/dist/{wpseo-dismissible-1971.css → wpseo-dismissible-1972.css} +0 -0
  53. css/dist/{yoast-components-1971-rtl.css → yoast-components-1972-rtl.css} +0 -0
  54. css/dist/{yoast-components-1971.css → yoast-components-1972.css} +0 -0
  55. css/dist/{yoast-extensions-1971-rtl.css → yoast-extensions-1972-rtl.css} +0 -0
  56. css/dist/{yoast-extensions-1971.css → yoast-extensions-1972.css} +0 -0
  57. css/dist/{yst_plugin_tools-1971-rtl.css → yst_plugin_tools-1972-rtl.css} +0 -0
  58. css/dist/{yst_plugin_tools-1971.css → yst_plugin_tools-1972.css} +0 -0
  59. css/dist/{yst_seo_score-1971-rtl.css → yst_seo_score-1972-rtl.css} +0 -0
  60. css/dist/{yst_seo_score-1971.css → yst_seo_score-1972.css} +0 -0
  61. readme.txt +9 -2
  62. src/{services → deprecated/src/services}/health-check/curl-check.php +14 -35
  63. src/deprecated/src/services/health-check/curl-reports.php +76 -0
  64. src/deprecated/src/services/health-check/curl-runner.php +113 -0
  65. src/generated/container.php +1 -37
  66. src/services/health-check/curl-reports.php +0 -116
  67. src/services/health-check/curl-runner.php +0 -190
  68. vendor/autoload.php +1 -1
  69. vendor/composer/autoload_classmap.php +3 -3
  70. vendor/composer/autoload_real.php +4 -4
  71. vendor/composer/autoload_static.php +7 -7
  72. vendor/composer/installed.php +6 -6
  73. wp-seo-main.php +1 -1
  74. wp-seo.php +1 -1
css/dist/{admin-global-1971-rtl.css → admin-global-1972-rtl.css} RENAMED
File without changes
css/dist/{admin-global-1971.css → admin-global-1972.css} RENAMED
File without changes
css/dist/{adminbar-1971-rtl.css → adminbar-1972-rtl.css} RENAMED
File without changes
css/dist/{adminbar-1971.css → adminbar-1972.css} RENAMED
File without changes
css/dist/{alerts-1971-rtl.css → alerts-1972-rtl.css} RENAMED
File without changes
css/dist/{alerts-1971.css → alerts-1972.css} RENAMED
File without changes
css/dist/{dashboard-1971-rtl.css → dashboard-1972-rtl.css} RENAMED
File without changes
css/dist/{dashboard-1971.css → dashboard-1972.css} RENAMED
File without changes
css/dist/{edit-page-1971-rtl.css → edit-page-1972-rtl.css} RENAMED
File without changes
css/dist/{edit-page-1971.css → edit-page-1972.css} RENAMED
File without changes
css/dist/{elementor-1971-rtl.css → elementor-1972-rtl.css} RENAMED
File without changes
css/dist/{elementor-1971.css → elementor-1972.css} RENAMED
File without changes
css/dist/{featured-image-1971-rtl.css → featured-image-1972-rtl.css} RENAMED
File without changes
css/dist/{featured-image-1971.css → featured-image-1972.css} RENAMED
File without changes
css/dist/{filter-explanation-1971-rtl.css → filter-explanation-1972-rtl.css} RENAMED
File without changes
css/dist/{filter-explanation-1971.css → filter-explanation-1972.css} RENAMED
File without changes
css/dist/{icons-1971-rtl.css → icons-1972-rtl.css} RENAMED
File without changes
css/dist/{icons-1971.css → icons-1972.css} RENAMED
File without changes
css/dist/{inside-editor-1971-rtl.css → inside-editor-1972-rtl.css} RENAMED
File without changes
css/dist/{inside-editor-1971.css → inside-editor-1972.css} RENAMED
File without changes
css/dist/{metabox-1971-rtl.css → metabox-1972-rtl.css} RENAMED
File without changes
css/dist/{metabox-1971.css → metabox-1972.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1971-rtl.css → metabox-primary-category-1972-rtl.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1971.css → metabox-primary-category-1972.css} RENAMED
File without changes
css/dist/{modal-1971-rtl.css → modal-1972-rtl.css} RENAMED
File without changes
css/dist/{modal-1971.css → modal-1972.css} RENAMED
File without changes
css/dist/{monorepo-1971-rtl.css → monorepo-1972-rtl.css} RENAMED
File without changes
css/dist/{monorepo-1971.css → monorepo-1972.css} RENAMED
File without changes
css/dist/{new-settings-1971-rtl.css → new-settings-1972-rtl.css} RENAMED
File without changes
css/dist/{new-settings-1971.css → new-settings-1972.css} RENAMED
File without changes
css/dist/{notifications-1971-rtl.css → notifications-1972-rtl.css} RENAMED
File without changes
css/dist/{notifications-1971.css → notifications-1972.css} RENAMED
File without changes
css/dist/{notifications-new-1971-rtl.css → notifications-new-1972-rtl.css} RENAMED
File without changes
css/dist/{notifications-new-1971.css → notifications-new-1972.css} RENAMED
File without changes
css/dist/{schema-blocks-1971-rtl.css → schema-blocks-1972-rtl.css} RENAMED
File without changes
css/dist/{schema-blocks-1971.css → schema-blocks-1972.css} RENAMED
File without changes
css/dist/{score_icon-1971-rtl.css → score_icon-1972-rtl.css} RENAMED
File without changes
css/dist/{score_icon-1971.css → score_icon-1972.css} RENAMED
File without changes
css/dist/{search-appearance-1971-rtl.css → search-appearance-1972-rtl.css} RENAMED
File without changes
css/dist/{search-appearance-1971.css → search-appearance-1972.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1971-rtl.css → structured-data-blocks-1972-rtl.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1971.css → structured-data-blocks-1972.css} RENAMED
File without changes
css/dist/{tailwind-1971-rtl.css → tailwind-1972-rtl.css} RENAMED
File without changes
css/dist/{tailwind-1971.css → tailwind-1972.css} RENAMED
File without changes
css/dist/{toggle-switch-1971-rtl.css → toggle-switch-1972-rtl.css} RENAMED
File without changes
css/dist/{toggle-switch-1971.css → toggle-switch-1972.css} RENAMED
File without changes
css/dist/{tooltips-1971-rtl.css → tooltips-1972-rtl.css} RENAMED
File without changes
css/dist/{tooltips-1971.css → tooltips-1972.css} RENAMED
File without changes
css/dist/{workouts-1971-rtl.css → workouts-1972-rtl.css} RENAMED
File without changes
css/dist/{workouts-1971.css → workouts-1972.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1971-rtl.css → wpseo-dismissible-1972-rtl.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1971.css → wpseo-dismissible-1972.css} RENAMED
File without changes
css/dist/{yoast-components-1971-rtl.css → yoast-components-1972-rtl.css} RENAMED
File without changes
css/dist/{yoast-components-1971.css → yoast-components-1972.css} RENAMED
File without changes
css/dist/{yoast-extensions-1971-rtl.css → yoast-extensions-1972-rtl.css} RENAMED
File without changes
css/dist/{yoast-extensions-1971.css → yoast-extensions-1972.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1971-rtl.css → yst_plugin_tools-1972-rtl.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1971.css → yst_plugin_tools-1972.css} RENAMED
File without changes
css/dist/{yst_seo_score-1971-rtl.css → yst_seo_score-1972-rtl.css} RENAMED
File without changes
css/dist/{yst_seo_score-1971.css → yst_seo_score-1972.css} RENAMED
File without changes
readme.txt CHANGED
@@ -5,7 +5,7 @@ License: GPLv3
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: SEO, XML sitemap, Content analysis, Readability, Schema
7
  Tested up to: 6.0
8
- Stable tag: 19.7.1
9
  Requires PHP: 5.6.20
10
 
11
  Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.
@@ -241,6 +241,13 @@ Your question has most likely been answered on our help center: [yoast.com/help/
241
 
242
  == Changelog ==
243
 
 
 
 
 
 
 
 
244
  = 19.7.1 =
245
  Release Date: September 20th, 2022
246
 
@@ -250,7 +257,7 @@ Bugfixes:
250
 
251
  Other:
252
 
253
- * Changes the copy in the `robots.txt` comment.
254
 
255
  = 19.7 =
256
  Release Date: September 20th, 2022
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: SEO, XML sitemap, Content analysis, Readability, Schema
7
  Tested up to: 6.0
8
+ Stable tag: 19.7.2
9
  Requires PHP: 5.6.20
10
 
11
  Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.
241
 
242
  == Changelog ==
243
 
244
+ = 19.7.2 =
245
+ Release Date: October 5th, 2022
246
+
247
+ Other:
248
+
249
+ * Removes the cURL minimal version check from the Site Health page, as it was causing issues.
250
+
251
  = 19.7.1 =
252
  Release Date: September 20th, 2022
253
 
257
 
258
  Other:
259
 
260
+ * Changes the copy in the `robots.txt` comment.
261
 
262
  = 19.7 =
263
  Release Date: September 20th, 2022
src/{services → deprecated/src/services}/health-check/curl-check.php RENAMED
@@ -4,26 +4,18 @@ namespace Yoast\WP\SEO\Services\Health_Check;
4
 
5
  /**
6
  * Passes if the health check can reach the MyYoast API using a recent enough cURL version.
 
 
 
7
  */
8
  class Curl_Check extends Health_Check {
9
 
10
- /**
11
- * Runs the health check.
12
- *
13
- * @var Curl_Runner
14
- */
15
- private $runner;
16
-
17
- /**
18
- * Generates WordPress-friendly health check results.
19
- *
20
- * @var Curl_Reports
21
- */
22
- private $reports;
23
-
24
  /**
25
  * Constructor.
26
  *
 
 
 
27
  * @param Curl_Runner $runner The object that implements the actual health check.
28
  * @param Curl_Reports $reports The object that generates WordPress-friendly results.
29
  * @return void
@@ -32,20 +24,21 @@ class Curl_Check extends Health_Check {
32
  Curl_Runner $runner,
33
  Curl_Reports $reports
34
  ) {
35
- $this->runner = $runner;
36
- $this->reports = $reports;
37
- $this->reports->set_test_identifier( $this->get_test_identifier() );
38
-
39
- $this->set_runner( $this->runner );
40
  }
41
 
42
  /**
43
  * Returns a human-readable label for this health check.
44
  *
 
 
 
45
  * @return string The human-readable label.
46
  */
47
  public function get_test_label() {
48
- return \__( 'cURL', 'wordpress-seo' );
 
 
49
  }
50
 
51
  /**
@@ -54,21 +47,7 @@ class Curl_Check extends Health_Check {
54
  * @return string[] The WordPress-friendly health check result.
55
  */
56
  protected function get_result() {
57
- if ( ! $this->runner->has_premium_plugins_installed() ) {
58
- return [];
59
- }
60
-
61
- if ( $this->runner->is_successful() ) {
62
- return $this->reports->get_success_result();
63
- }
64
-
65
- if ( ! $this->runner->has_recent_curl_version_installed() ) {
66
- return $this->reports->get_no_recent_curl_version_installed_result();
67
- }
68
-
69
- if ( ! $this->runner->can_reach_my_yoast_api() ) {
70
- return $this->reports->get_my_yoast_api_not_reachable_result();
71
- }
72
 
73
  return [];
74
  }
4
 
5
  /**
6
  * Passes if the health check can reach the MyYoast API using a recent enough cURL version.
7
+ *
8
+ * @deprecated 19.7.2
9
+ * @codeCoverageIgnore
10
  */
11
  class Curl_Check extends Health_Check {
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  /**
14
  * Constructor.
15
  *
16
+ * @deprecated 19.7.2
17
+ * @codeCoverageIgnore
18
+ *
19
  * @param Curl_Runner $runner The object that implements the actual health check.
20
  * @param Curl_Reports $reports The object that generates WordPress-friendly results.
21
  * @return void
24
  Curl_Runner $runner,
25
  Curl_Reports $reports
26
  ) {
27
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
 
 
 
 
28
  }
29
 
30
  /**
31
  * Returns a human-readable label for this health check.
32
  *
33
+ * @deprecated 19.7.2
34
+ * @codeCoverageIgnore
35
+ *
36
  * @return string The human-readable label.
37
  */
38
  public function get_test_label() {
39
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
40
+
41
+ return '';
42
  }
43
 
44
  /**
47
  * @return string[] The WordPress-friendly health check result.
48
  */
49
  protected function get_result() {
50
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  return [];
53
  }
src/deprecated/src/services/health-check/curl-reports.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Yoast\WP\SEO\Services\Health_Check;
4
+
5
+ use WPSEO_Admin_Utils;
6
+ use WPSEO_Shortlinker;
7
+
8
+ /**
9
+ * Presents a set of different messages for the cURL health check.
10
+ *
11
+ * @deprecated 19.7.2
12
+ * @codeCoverageIgnore
13
+ */
14
+ class Curl_Reports {
15
+
16
+ /**
17
+ * Constructor
18
+ *
19
+ * @deprecated 19.7.2
20
+ * @codeCoverageIgnore
21
+ *
22
+ * @param Report_Builder_Factory $report_builder_factory The factory for result builder objects.
23
+ * This class uses the report builder to generate WordPress-friendly
24
+ * health check results.
25
+ * @param WPSEO_Shortlinker $shortlinker The WPSEO_Shortlinker object used to generate short links.
26
+ * @return void
27
+ */
28
+ public function __construct(
29
+ Report_Builder_Factory $report_builder_factory,
30
+ WPSEO_Shortlinker $shortlinker
31
+ ) {
32
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
33
+ }
34
+
35
+ /**
36
+ * Returns the message for a successful health check.
37
+ *
38
+ * @deprecated 19.7.2
39
+ * @codeCoverageIgnore
40
+ *
41
+ * @return string[] The message as a WordPress site status report.
42
+ */
43
+ public function get_success_result() {
44
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
45
+
46
+ return [];
47
+ }
48
+
49
+ /**
50
+ * Returns the message for when the health check was unable to reach the MyYoast API.
51
+ *
52
+ * @deprecated 19.7.2
53
+ * @codeCoverageIgnore
54
+ *
55
+ * @return string[] The message as a WordPress site status report.
56
+ */
57
+ public function get_my_yoast_api_not_reachable_result() {
58
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
59
+
60
+ return [];
61
+ }
62
+
63
+ /**
64
+ * Returns the message for a successful health check.
65
+ *
66
+ * @deprecated 19.7.2
67
+ * @codeCoverageIgnore
68
+ *
69
+ * @return string[] The message as a WordPress site status report.
70
+ */
71
+ public function get_no_recent_curl_version_installed_result() {
72
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
73
+
74
+ return [];
75
+ }
76
+ }
src/deprecated/src/services/health-check/curl-runner.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Yoast\WP\SEO\Services\Health_Check;
4
+
5
+ use WPSEO_Addon_Manager;
6
+ use Yoast\WP\SEO\Helpers\Curl_Helper;
7
+
8
+ /**
9
+ * Runs the Curl health check.
10
+ *
11
+ * @deprecated 19.7.2
12
+ * @codeCoverageIgnore
13
+ */
14
+ class Curl_Runner implements Runner_Interface {
15
+
16
+ /**
17
+ * Sets the minimum cURL version for this health check to pass.
18
+ */
19
+ const MINIMUM_CURL_VERSION = '7.34.0';
20
+
21
+ /**
22
+ * Sets the target URL for testing whether the MyYoast API is reachable.
23
+ */
24
+ const MYYOAST_API_REQUEST_URL = 'sites/current';
25
+
26
+ /**
27
+ * Constructor.
28
+ *
29
+ * @deprecated 19.7.2
30
+ * @codeCoverageIgnore
31
+ *
32
+ * @psalm-suppress InvalidClass MyYoast is a product name, so it's an exception to the class naming conventions.
33
+ * @param WPSEO_Addon_Manager $addon_manager The add-on manager.
34
+ * @param MyYoast_Api_Request_Factory $my_yoast_api_request_factory A MyYoast API request object.
35
+ * @param Curl_Helper $curl_helper A cURL helper object for obtaining
36
+ * cURL installation information.
37
+ */
38
+ public function __construct(
39
+ WPSEO_Addon_Manager $addon_manager,
40
+ MyYoast_Api_Request_Factory $my_yoast_api_request_factory,
41
+ Curl_Helper $curl_helper
42
+ ) {
43
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
44
+ }
45
+
46
+ /**
47
+ * Runs the health check. Checks if cURL is installed and up to date, and if it's able to reach the MyYoast API
48
+ *
49
+ * @deprecated 19.7.2
50
+ * @codeCoverageIgnore
51
+ *
52
+ * @return void
53
+ */
54
+ public function run() {
55
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
56
+ }
57
+
58
+ /**
59
+ * Returns whether the health check was successful.
60
+ *
61
+ * @deprecated 19.7.2
62
+ * @codeCoverageIgnore
63
+ *
64
+ * @return bool True if all the routines for this health check were successful.
65
+ */
66
+ public function is_successful() {
67
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
68
+
69
+ return true;
70
+ }
71
+
72
+ /**
73
+ * Returns whether there are premium plugins installed.
74
+ *
75
+ * @deprecated 19.7.2
76
+ * @codeCoverageIgnore
77
+ *
78
+ * @return bool True if there are premium plugins installed.
79
+ */
80
+ public function has_premium_plugins_installed() {
81
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
82
+
83
+ return false;
84
+ }
85
+
86
+ /**
87
+ * Returns whether cURL was able to reach the MyYoast API.
88
+ *
89
+ * @deprecated 19.7.2
90
+ * @codeCoverageIgnore
91
+ *
92
+ * @return bool True if cURL was able to reach the MyYoast API.
93
+ */
94
+ public function can_reach_my_yoast_api() {
95
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
96
+
97
+ return true;
98
+ }
99
+
100
+ /**
101
+ * Returns whether the installed cURL version is recent enough.
102
+ *
103
+ * @deprecated 19.7.2
104
+ * @codeCoverageIgnore
105
+ *
106
+ * @return bool True if the installed cURL version is more recent than MINIMUM_CURL_VERSION.
107
+ */
108
+ public function has_recent_curl_version_installed() {
109
+ \_deprecated_function( __METHOD__, 'Yoast SEO 19.7.2' );
110
+
111
+ return true;
112
+ }
113
+ }
src/generated/container.php CHANGED
@@ -372,9 +372,6 @@ class Cached_Container extends Container
372
  'yoast\\wp\\seo\\routes\\workouts_route' => 'Yoast\\WP\\SEO\\Routes\\Workouts_Route',
373
  'yoast\\wp\\seo\\routes\\yoast_head_rest_field' => 'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field',
374
  'yoast\\wp\\seo\\schema_templates\\assets\\icons' => 'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons',
375
- 'yoast\\wp\\seo\\services\\health_check\\curl_check' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check',
376
- 'yoast\\wp\\seo\\services\\health_check\\curl_reports' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports',
377
- 'yoast\\wp\\seo\\services\\health_check\\curl_runner' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner',
378
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_check' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check',
379
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_reports' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports',
380
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_runner' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner',
@@ -760,9 +757,6 @@ class Cached_Container extends Container
760
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => 'getWorkoutsRouteService',
761
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => 'getYoastHeadRESTFieldService',
762
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => 'getIconsService',
763
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => 'getCurlCheckService',
764
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => 'getCurlReportsService',
765
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => 'getCurlRunnerService',
766
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => 'getDefaultTaglineCheckService',
767
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => 'getDefaultTaglineReportsService',
768
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => 'getDefaultTaglineRunnerService',
@@ -3361,7 +3355,7 @@ class Cached_Container extends Container
3361
  */
3362
  protected function getHealthCheckIntegrationService()
3363
  {
3364
- return $this->services['Yoast\\WP\\SEO\\Integrations\\Admin\\Health_Check_Integration'] = new \Yoast\WP\SEO\Integrations\Admin\Health_Check_Integration(${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check'] : $this->getCurlCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check'] : $this->getDefaultTaglineCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Links_Table_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Links_Table_Check'] : $this->getLinksTableCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Page_Comments_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Page_Comments_Check'] : $this->getPageCommentsCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Postname_Permalink_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Postname_Permalink_Check'] : $this->getPostnamePermalinkCheckService()) && false ?: '_'});
3365
  }
3366
 
3367
  /**
@@ -4800,36 +4794,6 @@ class Cached_Container extends Container
4800
  return $this->services['Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons'] = new \Yoast\WP\SEO\Schema_Templates\Assets\Icons();
4801
  }
4802
 
4803
- /**
4804
- * Gets the public 'Yoast\WP\SEO\Services\Health_Check\Curl_Check' shared autowired service.
4805
- *
4806
- * @return \Yoast\WP\SEO\Services\Health_Check\Curl_Check
4807
- */
4808
- protected function getCurlCheckService()
4809
- {
4810
- return $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check'] = new \Yoast\WP\SEO\Services\Health_Check\Curl_Check(${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner'] : $this->getCurlRunnerService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports'] : $this->getCurlReportsService()) && false ?: '_'});
4811
- }
4812
-
4813
- /**
4814
- * Gets the public 'Yoast\WP\SEO\Services\Health_Check\Curl_Reports' shared autowired service.
4815
- *
4816
- * @return \Yoast\WP\SEO\Services\Health_Check\Curl_Reports
4817
- */
4818
- protected function getCurlReportsService()
4819
- {
4820
- return $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports'] = new \Yoast\WP\SEO\Services\Health_Check\Curl_Reports(${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory'] : ($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory'] = new \Yoast\WP\SEO\Services\Health_Check\Report_Builder_Factory())) && false ?: '_'}, ${($_ = isset($this->services['WPSEO_Shortlinker']) ? $this->services['WPSEO_Shortlinker'] : $this->getWPSEOShortlinkerService()) && false ?: '_'});
4821
- }
4822
-
4823
- /**
4824
- * Gets the public 'Yoast\WP\SEO\Services\Health_Check\Curl_Runner' shared autowired service.
4825
- *
4826
- * @return \Yoast\WP\SEO\Services\Health_Check\Curl_Runner
4827
- */
4828
- protected function getCurlRunnerService()
4829
- {
4830
- return $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner'] = new \Yoast\WP\SEO\Services\Health_Check\Curl_Runner(${($_ = isset($this->services['WPSEO_Addon_Manager']) ? $this->services['WPSEO_Addon_Manager'] : $this->getWPSEOAddonManagerService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\MyYoast_Api_Request_Factory']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\MyYoast_Api_Request_Factory'] : ($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\MyYoast_Api_Request_Factory'] = new \Yoast\WP\SEO\Services\Health_Check\MyYoast_Api_Request_Factory())) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Helpers\\Curl_Helper']) ? $this->services['Yoast\\WP\\SEO\\Helpers\\Curl_Helper'] : ($this->services['Yoast\\WP\\SEO\\Helpers\\Curl_Helper'] = new \Yoast\WP\SEO\Helpers\Curl_Helper())) && false ?: '_'});
4831
- }
4832
-
4833
  /**
4834
  * Gets the public 'Yoast\WP\SEO\Services\Health_Check\Default_Tagline_Check' shared autowired service.
4835
  *
372
  'yoast\\wp\\seo\\routes\\workouts_route' => 'Yoast\\WP\\SEO\\Routes\\Workouts_Route',
373
  'yoast\\wp\\seo\\routes\\yoast_head_rest_field' => 'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field',
374
  'yoast\\wp\\seo\\schema_templates\\assets\\icons' => 'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons',
 
 
 
375
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_check' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check',
376
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_reports' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports',
377
  'yoast\\wp\\seo\\services\\health_check\\default_tagline_runner' => 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner',
757
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => 'getWorkoutsRouteService',
758
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => 'getYoastHeadRESTFieldService',
759
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => 'getIconsService',
 
 
 
760
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => 'getDefaultTaglineCheckService',
761
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => 'getDefaultTaglineReportsService',
762
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => 'getDefaultTaglineRunnerService',
3355
  */
3356
  protected function getHealthCheckIntegrationService()
3357
  {
3358
+ return $this->services['Yoast\\WP\\SEO\\Integrations\\Admin\\Health_Check_Integration'] = new \Yoast\WP\SEO\Integrations\Admin\Health_Check_Integration(${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check'] : $this->getDefaultTaglineCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Links_Table_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Links_Table_Check'] : $this->getLinksTableCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Page_Comments_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Page_Comments_Check'] : $this->getPageCommentsCheckService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Postname_Permalink_Check']) ? $this->services['Yoast\\WP\\SEO\\Services\\Health_Check\\Postname_Permalink_Check'] : $this->getPostnamePermalinkCheckService()) && false ?: '_'});
3359
  }
3360
 
3361
  /**
4794
  return $this->services['Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons'] = new \Yoast\WP\SEO\Schema_Templates\Assets\Icons();
4795
  }
4796
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4797
  /**
4798
  * Gets the public 'Yoast\WP\SEO\Services\Health_Check\Default_Tagline_Check' shared autowired service.
4799
  *
src/services/health-check/curl-reports.php DELETED
@@ -1,116 +0,0 @@
1
- <?php
2
-
3
- namespace Yoast\WP\SEO\Services\Health_Check;
4
-
5
- use WPSEO_Admin_Utils;
6
- use WPSEO_Shortlinker;
7
-
8
- /**
9
- * Presents a set of different messages for the cURL health check.
10
- */
11
- class Curl_Reports {
12
-
13
- use Reports_Trait;
14
-
15
- /**
16
- * The WPSEO_Shortlinker object used to generate short links.
17
- *
18
- * @var WPSEO_Shortlinker
19
- */
20
- private $shortlinker;
21
-
22
- /**
23
- * Constructor
24
- *
25
- * @param Report_Builder_Factory $report_builder_factory The factory for result builder objects.
26
- * This class uses the report builder to generate WordPress-friendly
27
- * health check results.
28
- * @param WPSEO_Shortlinker $shortlinker The WPSEO_Shortlinker object used to generate short links.
29
- * @return void
30
- */
31
- public function __construct(
32
- Report_Builder_Factory $report_builder_factory,
33
- WPSEO_Shortlinker $shortlinker
34
- ) {
35
- $this->report_builder_factory = $report_builder_factory;
36
- $this->shortlinker = $shortlinker;
37
- }
38
-
39
- /**
40
- * Returns the message for a successful health check.
41
- *
42
- * @return string[] The message as a WordPress site status report.
43
- */
44
- public function get_success_result() {
45
- return $this->get_report_builder()
46
- /* translators: %1$s expands to 'Yoast'. */
47
- ->set_label( \sprintf( \__( '%1$s premium plugin updates work fine', 'wordpress-seo' ), 'Yoast' ) )
48
- ->set_status_good()
49
- ->set_description( \__( 'Great! You can activate your premium plugin(s) and receive updates.', 'wordpress-seo' ) )
50
- ->build();
51
- }
52
-
53
- /**
54
- * Returns the message for when the health check was unable to reach the MyYoast API.
55
- *
56
- * @return string[] The message as a WordPress site status report.
57
- */
58
- public function get_my_yoast_api_not_reachable_result() {
59
- return $this->get_report_builder()
60
- /* translators: %1$s expands to 'Yoast'. */
61
- ->set_label( \sprintf( \__( '%1$s premium plugins cannot update', 'wordpress-seo' ), 'Yoast' ) )
62
- ->set_status_critical()
63
- ->set_description( $this->get_my_yoast_api_not_reachable_description() )
64
- ->build();
65
- }
66
-
67
- /**
68
- * Returns the description for when the health check was unable to reach the MyYoast API.
69
- *
70
- * @return string The description containing a link to a Yoast help page about keeping cURL up to date.
71
- */
72
- private function get_my_yoast_api_not_reachable_description() {
73
- return \sprintf(
74
- /* translators: %1$s Emphasis open tag, %2$s: Emphasis close tag, %3$s Link start tag to the Yoast help center, %4$s Link closing tag, %5$s to Yoast SEO, %6$s to my.yoast.com. */
75
- \esc_html__( 'You can %1$snot%2$s activate your premium plugin(s) and receive updates because %5$s cannot connect to %6$s. A common cause for not being able to connect is an out-of-date version of cURL, software used to connect to other servers. However, your cURL version seems fine. Please talk to your host and, if needed, the Yoast support team to figure out what is broken. %3$sRead more about cURL in our help center%4$s.', 'wordpress-seo' ),
76
- '<em>',
77
- '</em>',
78
- '<a href="' . \esc_url( $this->shortlinker->get( 'https://yoa.st/3u8' ) ) . '" target="_blank">',
79
- WPSEO_Admin_Utils::get_new_tab_message() . '</a>',
80
- 'Yoast SEO',
81
- 'my.yoast.com'
82
- );
83
- }
84
-
85
- /**
86
- * Returns the message for a successful health check.
87
- *
88
- * @return string[] The message as a WordPress site status report.
89
- */
90
- public function get_no_recent_curl_version_installed_result() {
91
- return $this->get_report_builder()
92
- /* translators: %1$s expands to 'Yoast'. */
93
- ->set_label( \sprintf( \__( '%1$s premium plugins cannot update', 'wordpress-seo' ), 'Yoast' ) )
94
- ->set_status_critical()
95
- ->set_description( $this->get_no_recent_curl_version_installed_description() )
96
- ->build();
97
- }
98
-
99
- /**
100
- * Returns the description for when the health check couldn't find a recent enough version of cURL installed on the server.
101
- *
102
- * @return string The description containing a link to a Yoast help page about keeping cURL up to date.
103
- */
104
- private function get_no_recent_curl_version_installed_description() {
105
- return \sprintf(
106
- /* translators: %1$s Emphasis open tag, %2$s: Emphasis close tag, %3$s Link start tag to the Yoast help center, %4$s Link closing tag, %5$s to Yoast SEO, %6$s to my.yoast.com. */
107
- \esc_html__( 'You can %1$snot%2$s activate your premium plugin(s) and receive updates because %5$s cannot connect to %6$s. The cause for this error is probably that the cURL software on your server is too old. Please contact your host and ask them to update it to at least version 7.34. %3$sRead more about cURL in our help center%4$s.', 'wordpress-seo' ),
108
- '<em>',
109
- '</em>',
110
- '<a href="' . \esc_url( $this->shortlinker->get( 'https://yoa.st/3u8' ) ) . '" target="_blank">',
111
- WPSEO_Admin_Utils::get_new_tab_message() . '</a>',
112
- 'Yoast SEO',
113
- 'my.yoast.com'
114
- );
115
- }
116
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/services/health-check/curl-runner.php DELETED
@@ -1,190 +0,0 @@
1
- <?php
2
-
3
- namespace Yoast\WP\SEO\Services\Health_Check;
4
-
5
- use WPSEO_Addon_Manager;
6
- use Yoast\WP\SEO\Helpers\Curl_Helper;
7
-
8
- /**
9
- * Runs the Curl health check.
10
- */
11
- class Curl_Runner implements Runner_Interface {
12
-
13
- /**
14
- * Sets the minimum cURL version for this health check to pass.
15
- */
16
- const MINIMUM_CURL_VERSION = '7.34.0';
17
-
18
- /**
19
- * Sets the target URL for testing whether the MyYoast API is reachable.
20
- */
21
- const MYYOAST_API_REQUEST_URL = 'sites/current';
22
-
23
- /**
24
- * True when cURL is installed.
25
- *
26
- * @var bool
27
- */
28
- private $curl_installed = false;
29
-
30
- /**
31
- * True when cURL is equal to or more recent than MINIMUM_CURL_VERSION.
32
- *
33
- * @var bool
34
- */
35
- private $curl_is_recent = false;
36
-
37
- /**
38
- * True when the health check got a response from the MyYoast API.
39
- *
40
- * @var bool
41
- */
42
- private $got_my_yoast_api_response = false;
43
-
44
- /**
45
- * True when there are Yoast add-ons installed.
46
- *
47
- * @var bool
48
- */
49
- private $has_installed_addons = false;
50
-
51
- /**
52
- * The add-on manger that the health check uses to determine if there are any add-ons installed.
53
- *
54
- * @var WPSEO_Addon_Manager
55
- */
56
- private $addon_manager;
57
-
58
- /**
59
- * Factory for the MyYoast API request object that the health check uses to check if cURL works correctly.
60
- *
61
- * @var MyYoast_Api_Request_Factory
62
- */
63
- private $my_yoast_api_request_factory;
64
-
65
- /**
66
- * The cURL helper from which the health check gets information about the installed cURL version.
67
- *
68
- * @var Curl_Helper
69
- */
70
- private $curl_helper;
71
-
72
- /**
73
- * Constructor.
74
- *
75
- * @psalm-suppress InvalidClass MyYoast is a product name, so it's an exception to the class naming conventions.
76
- * @param WPSEO_Addon_Manager $addon_manager The add-on manager.
77
- * @param MyYoast_Api_Request_Factory $my_yoast_api_request_factory A MyYoast API request object.
78
- * @param Curl_Helper $curl_helper A cURL helper object for obtaining
79
- * cURL installation information.
80
- */
81
- public function __construct(
82
- WPSEO_Addon_Manager $addon_manager,
83
- MyYoast_Api_Request_Factory $my_yoast_api_request_factory,
84
- Curl_Helper $curl_helper
85
- ) {
86
- $this->addon_manager = $addon_manager;
87
- $this->my_yoast_api_request_factory = $my_yoast_api_request_factory;
88
- $this->curl_helper = $curl_helper;
89
- }
90
-
91
- /**
92
- * Runs the health check. Checks if cURL is installed and up to date, and if it's able to reach the MyYoast API
93
- *
94
- * @return void
95
- */
96
- public function run() {
97
- $this->check_has_installed_addons();
98
- $this->check_curl_installed();
99
-
100
- if ( ! $this->curl_installed ) {
101
- return;
102
- }
103
-
104
- $this->check_curl_is_recent();
105
- $this->check_can_reach_my_yoast_api();
106
- }
107
-
108
- /**
109
- * Checks if there are installed Yoast add-ons.
110
- *
111
- * @return void
112
- */
113
- private function check_has_installed_addons() {
114
- $this->has_installed_addons = $this->addon_manager->has_installed_addons();
115
- }
116
-
117
- /**
118
- * Checks if cURL is installed.
119
- *
120
- * @return void
121
- */
122
- private function check_curl_installed() {
123
- $this->curl_installed = $this->curl_helper->is_installed();
124
- }
125
-
126
- /**
127
- * Checks if the installed cURL version is equal to or more recent than MINIMUM_CURL_VERSION.
128
- *
129
- * @return void
130
- */
131
- private function check_curl_is_recent() {
132
- $version = $this->curl_helper->get_version();
133
-
134
- if ( $version === null ) {
135
- $this->curl_is_recent = false;
136
- return;
137
- }
138
-
139
- $this->curl_is_recent = \version_compare( $version, self::MINIMUM_CURL_VERSION, '>=' );
140
- }
141
-
142
- /**
143
- * Checks if cURL is able to reach the MyYoast API.
144
- *
145
- * @return void
146
- */
147
- private function check_can_reach_my_yoast_api() {
148
- $api_request = $this->my_yoast_api_request_factory->create( self::MYYOAST_API_REQUEST_URL );
149
- $got_response = $api_request->fire();
150
-
151
-
152
- $this->got_my_yoast_api_response = $got_response;
153
- }
154
-
155
- /**
156
- * Returns whether the health check was successful.
157
- *
158
- * @return bool True if all the routines for this health check were successful.
159
- */
160
- public function is_successful() {
161
- return $this->has_installed_addons && $this->curl_is_recent && $this->got_my_yoast_api_response;
162
- }
163
-
164
- /**
165
- * Returns whether there are premium plugins installed.
166
- *
167
- * @return bool True if there are premium plugins installed.
168
- */
169
- public function has_premium_plugins_installed() {
170
- return $this->has_installed_addons;
171
- }
172
-
173
- /**
174
- * Returns whether cURL was able to reach the MyYoast API.
175
- *
176
- * @return bool True if cURL was able to reach the MyYoast API.
177
- */
178
- public function can_reach_my_yoast_api() {
179
- return $this->got_my_yoast_api_response;
180
- }
181
-
182
- /**
183
- * Returns whether the installed cURL version is recent enough.
184
- *
185
- * @return bool True if the installed cURL version is more recent than MINIMUM_CURL_VERSION.
186
- */
187
- public function has_recent_curl_version_installed() {
188
- return $this->curl_is_recent;
189
- }
190
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInite0d2ef3e929416e204b70ec415281a04::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitbd8386776dfa09ae9cbec364c611ffdf::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -1018,9 +1018,9 @@ return array(
1018
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => $baseDir . '/src/routes/workouts-route.php',
1019
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => $baseDir . '/src/routes/yoast-head-rest-field.php',
1020
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => $baseDir . '/src/schema-templates/assets/icons.php',
1021
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => $baseDir . '/src/services/health-check/curl-check.php',
1022
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => $baseDir . '/src/services/health-check/curl-reports.php',
1023
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => $baseDir . '/src/services/health-check/curl-runner.php',
1024
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => $baseDir . '/src/services/health-check/default-tagline-check.php',
1025
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => $baseDir . '/src/services/health-check/default-tagline-reports.php',
1026
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => $baseDir . '/src/services/health-check/default-tagline-runner.php',
1018
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => $baseDir . '/src/routes/workouts-route.php',
1019
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => $baseDir . '/src/routes/yoast-head-rest-field.php',
1020
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => $baseDir . '/src/schema-templates/assets/icons.php',
1021
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => $baseDir . '/src/deprecated/src/services/health-check/curl-check.php',
1022
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => $baseDir . '/src/deprecated/src/services/health-check/curl-reports.php',
1023
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => $baseDir . '/src/deprecated/src/services/health-check/curl-runner.php',
1024
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => $baseDir . '/src/services/health-check/default-tagline-check.php',
1025
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => $baseDir . '/src/services/health-check/default-tagline-reports.php',
1026
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => $baseDir . '/src/services/health-check/default-tagline-runner.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInite0d2ef3e929416e204b70ec415281a04
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInite0d2ef3e929416e204b70ec415281a04
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInite0d2ef3e929416e204b70ec415281a04', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInite0d2ef3e929416e204b70ec415281a04', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInite0d2ef3e929416e204b70ec415281a04::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitbd8386776dfa09ae9cbec364c611ffdf
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitbd8386776dfa09ae9cbec364c611ffdf', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitbd8386776dfa09ae9cbec364c611ffdf', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInitbd8386776dfa09ae9cbec364c611ffdf::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInite0d2ef3e929416e204b70ec415281a04
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
@@ -1033,9 +1033,9 @@ class ComposerStaticInite0d2ef3e929416e204b70ec415281a04
1033
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => __DIR__ . '/../..' . '/src/routes/workouts-route.php',
1034
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => __DIR__ . '/../..' . '/src/routes/yoast-head-rest-field.php',
1035
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => __DIR__ . '/../..' . '/src/schema-templates/assets/icons.php',
1036
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => __DIR__ . '/../..' . '/src/services/health-check/curl-check.php',
1037
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => __DIR__ . '/../..' . '/src/services/health-check/curl-reports.php',
1038
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => __DIR__ . '/../..' . '/src/services/health-check/curl-runner.php',
1039
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-check.php',
1040
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-reports.php',
1041
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-runner.php',
@@ -1107,9 +1107,9 @@ class ComposerStaticInite0d2ef3e929416e204b70ec415281a04
1107
  public static function getInitializer(ClassLoader $loader)
1108
  {
1109
  return \Closure::bind(function () use ($loader) {
1110
- $loader->prefixLengthsPsr4 = ComposerStaticInite0d2ef3e929416e204b70ec415281a04::$prefixLengthsPsr4;
1111
- $loader->prefixDirsPsr4 = ComposerStaticInite0d2ef3e929416e204b70ec415281a04::$prefixDirsPsr4;
1112
- $loader->classMap = ComposerStaticInite0d2ef3e929416e204b70ec415281a04::$classMap;
1113
 
1114
  }, null, ClassLoader::class);
1115
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitbd8386776dfa09ae9cbec364c611ffdf
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
1033
  'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => __DIR__ . '/../..' . '/src/routes/workouts-route.php',
1034
  'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => __DIR__ . '/../..' . '/src/routes/yoast-head-rest-field.php',
1035
  'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => __DIR__ . '/../..' . '/src/schema-templates/assets/icons.php',
1036
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-check.php',
1037
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-reports.php',
1038
+ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-runner.php',
1039
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-check.php',
1040
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-reports.php',
1041
  'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-runner.php',
1107
  public static function getInitializer(ClassLoader $loader)
1108
  {
1109
  return \Closure::bind(function () use ($loader) {
1110
+ $loader->prefixLengthsPsr4 = ComposerStaticInitbd8386776dfa09ae9cbec364c611ffdf::$prefixLengthsPsr4;
1111
+ $loader->prefixDirsPsr4 = ComposerStaticInitbd8386776dfa09ae9cbec364c611ffdf::$prefixDirsPsr4;
1112
+ $loader->classMap = ComposerStaticInitbd8386776dfa09ae9cbec364c611ffdf::$classMap;
1113
 
1114
  }, null, ClassLoader::class);
1115
  }
vendor/composer/installed.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'dev-master',
4
- 'version' => 'dev-master',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'e3b37512b2bef3d106f4023b88936aab05159324',
9
  'name' => 'yoast/wordpress-seo',
10
  'dev' => false,
11
  ),
@@ -41,12 +41,12 @@
41
  'dev_requirement' => false,
42
  ),
43
  'yoast/wordpress-seo' => array(
44
- 'pretty_version' => 'dev-master',
45
- 'version' => 'dev-master',
46
  'type' => 'wordpress-plugin',
47
  'install_path' => __DIR__ . '/../../',
48
  'aliases' => array(),
49
- 'reference' => 'e3b37512b2bef3d106f4023b88936aab05159324',
50
  'dev_requirement' => false,
51
  ),
52
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'pretty_version' => 'dev-main',
4
+ 'version' => 'dev-main',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => 'e8b5772643562151eeb77e5ef7932f0582592d63',
9
  'name' => 'yoast/wordpress-seo',
10
  'dev' => false,
11
  ),
41
  'dev_requirement' => false,
42
  ),
43
  'yoast/wordpress-seo' => array(
44
+ 'pretty_version' => 'dev-main',
45
+ 'version' => 'dev-main',
46
  'type' => 'wordpress-plugin',
47
  'install_path' => __DIR__ . '/../../',
48
  'aliases' => array(),
49
+ 'reference' => 'e8b5772643562151eeb77e5ef7932f0582592d63',
50
  'dev_requirement' => false,
51
  ),
52
  ),
wp-seo-main.php CHANGED
@@ -15,7 +15,7 @@ if ( ! function_exists( 'add_filter' ) ) {
15
  * {@internal Nobody should be able to overrule the real version number as this can cause
16
  * serious issues with the options, so no if ( ! defined() ).}}
17
  */
18
- define( 'WPSEO_VERSION', '19.7.1' );
19
 
20
 
21
  if ( ! defined( 'WPSEO_PATH' ) ) {
15
  * {@internal Nobody should be able to overrule the real version number as this can cause
16
  * serious issues with the options, so no if ( ! defined() ).}}
17
  */
18
+ define( 'WPSEO_VERSION', '19.7.2' );
19
 
20
 
21
  if ( ! defined( 'WPSEO_PATH' ) ) {
wp-seo.php CHANGED
@@ -8,7 +8,7 @@
8
  *
9
  * @wordpress-plugin
10
  * Plugin Name: Yoast SEO
11
- * Version: 19.7.1
12
  * Plugin URI: https://yoa.st/1uj
13
  * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
14
  * Author: Team Yoast
8
  *
9
  * @wordpress-plugin
10
  * Plugin Name: Yoast SEO
11
+ * Version: 19.7.2
12
  * Plugin URI: https://yoa.st/1uj
13
  * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
14
  * Author: Team Yoast