Yoast SEO - Version 13.0

Version Description

Release Date: February 4th, 2020

Today, were releasing Yoast SEO 13.0. This release is one in a series of releases focusing on improving our code and fixing issues most of them behind the scenes. Read more about those changes in our 13.0 release post!

Enhancements:

  • Hides the Facebook settings when Open Graph is disabled.
  • Adds a success state to the paginated comments Health Check. This means the paginated comments check will also be shown when the paginated comments are set up correctly.
Download this release

Release Info

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

Code changes from version 12.9.1 to 13.0

Files changed (106) hide show
  1. admin/class-admin-asset-dev-server-location.php +1 -1
  2. admin/class-admin-asset-seo-location.php +2 -3
  3. admin/class-admin-help-panel.php +1 -1
  4. admin/class-admin-init.php +5 -5
  5. admin/class-admin-user-profile.php +1 -1
  6. admin/class-admin.php +3 -3
  7. admin/class-asset.php +2 -2
  8. admin/class-bulk-editor-list-table.php +7 -7
  9. admin/class-config.php +2 -2
  10. admin/class-customizer.php +2 -2
  11. admin/class-export.php +1 -1
  12. admin/class-meta-columns.php +3 -3
  13. admin/class-meta-table-accessible.php +1 -1
  14. admin/class-primary-term-admin.php +3 -3
  15. admin/class-social-admin.php +2 -2
  16. admin/class-yoast-notification-center.php +10 -10
  17. admin/class-yoast-notification.php +1 -1
  18. admin/config-ui/factories/class-factory-post-type.php +1 -1
  19. admin/formatter/class-post-metabox-formatter.php +2 -2
  20. admin/links/class-link-columns.php +1 -1
  21. admin/links/class-link-query.php +1 -1
  22. admin/links/class-link-table-accessible.php +1 -1
  23. admin/metabox/class-abstract-sectioned-metabox-tab.php +2 -2
  24. admin/metabox/class-metabox-editor.php +1 -1
  25. admin/metabox/class-metabox-form-tab.php +5 -5
  26. admin/metabox/class-metabox-section-additional.php +1 -1
  27. admin/metabox/class-metabox.php +11 -10
  28. admin/onpage/class-onpage.php +3 -3
  29. admin/pages/tools.php +1 -1
  30. admin/recalculate/class-recalculate-posts.php +4 -4
  31. admin/recalculate/class-recalculate-terms.php +4 -4
  32. admin/recalculate/class-recalculate.php +1 -1
  33. admin/taxonomy/class-taxonomy.php +5 -4
  34. admin/views/tabs/dashboard/dashboard.php +1 -1
  35. admin/views/tabs/metas/paper-content/breadcrumbs-content.php +1 -1
  36. admin/views/tabs/metas/paper-content/general/homepage.php +1 -1
  37. admin/views/tabs/social/facebook.php +3 -2
  38. config/composer/actions.php +16 -3
  39. config/dependency-injection/container-compiler.php +2 -2
  40. config/dependency-injection/custom-loader.php +6 -6
  41. config/dependency-injection/loader-pass.php +5 -5
  42. config/dependency-injection/services.php +8 -8
  43. config/php-codeshift/remove-vendor-prefixing-array-key-visitor.php +1 -1
  44. config/php-codeshift/remove-vendor-prefixing-codemod.php +2 -2
  45. config/php-codeshift/remove-vendor-prefixing-comment-visitor.php +1 -1
  46. config/php-codeshift/remove-vendor-prefixing-visitor.php +1 -1
  47. css/dist/{admin-global-1291-rtl.css → admin-global-1300-rtl.css} +1 -1
  48. css/dist/{admin-global-1291.css → admin-global-1300.css} +1 -1
  49. css/dist/{adminbar-1291-rtl.css → adminbar-1300-rtl.css} +0 -0
  50. css/dist/{adminbar-1291.css → adminbar-1300.css} +0 -0
  51. css/dist/{alerts-1291-rtl.css → alerts-1300-rtl.css} +0 -0
  52. css/dist/{alerts-1291.css → alerts-1300.css} +0 -0
  53. css/dist/{dashboard-1291-rtl.css → dashboard-1300-rtl.css} +0 -0
  54. css/dist/{dashboard-1291.css → dashboard-1300.css} +0 -0
  55. css/dist/{edit-page-1291-rtl.css → edit-page-1300-rtl.css} +0 -0
  56. css/dist/{edit-page-1291.css → edit-page-1300.css} +0 -0
  57. css/dist/{featured-image-1291-rtl.css → featured-image-1300-rtl.css} +0 -0
  58. css/dist/{featured-image-1291.css → featured-image-1300.css} +0 -0
  59. css/dist/{filter-explanation-1291-rtl.css → filter-explanation-1300-rtl.css} +0 -0
  60. css/dist/{filter-explanation-1291.css → filter-explanation-1300.css} +0 -0
  61. css/dist/{inside-editor-1291-rtl.css → inside-editor-1300-rtl.css} +0 -0
  62. css/dist/{inside-editor-1291.css → inside-editor-1300.css} +0 -0
  63. css/dist/{metabox-1291-rtl.css → metabox-1300-rtl.css} +0 -0
  64. css/dist/{metabox-1291.css → metabox-1300.css} +0 -0
  65. css/dist/{metabox-primary-category-1291-rtl.css → metabox-primary-category-1300-rtl.css} +0 -0
  66. css/dist/{metabox-primary-category-1291.css → metabox-primary-category-1300.css} +0 -0
  67. css/dist/{search-appearance-1291-rtl.css → search-appearance-1300-rtl.css} +0 -0
  68. css/dist/{search-appearance-1291.css → search-appearance-1300.css} +0 -0
  69. css/dist/{structured-data-blocks-1291-rtl.css → structured-data-blocks-1300-rtl.css} +0 -0
  70. css/dist/{structured-data-blocks-1291.css → structured-data-blocks-1300.css} +0 -0
  71. css/dist/{toggle-switch-1291-rtl.css → toggle-switch-1300-rtl.css} +0 -0
  72. css/dist/{toggle-switch-1291.css → toggle-switch-1300.css} +0 -0
  73. css/dist/{wpseo-dismissible-1291-rtl.css → wpseo-dismissible-1300-rtl.css} +0 -0
  74. css/dist/{wpseo-dismissible-1291.css → wpseo-dismissible-1300.css} +0 -0
  75. css/dist/{yoast-components-1291-rtl.css → yoast-components-1300-rtl.css} +0 -0
  76. css/dist/{yoast-components-1291.css → yoast-components-1300.css} +0 -0
  77. css/dist/{yoast-extensions-1291-rtl.css → yoast-extensions-1300-rtl.css} +0 -0
  78. css/dist/{yoast-extensions-1291.css → yoast-extensions-1300.css} +0 -0
  79. css/dist/{yst_plugin_tools-1291-rtl.css → yst_plugin_tools-1300-rtl.css} +0 -0
  80. css/dist/{yst_plugin_tools-1291.css → yst_plugin_tools-1300.css} +0 -0
  81. css/dist/{yst_seo_score-1291-rtl.css → yst_seo_score-1300-rtl.css} +0 -0
  82. css/dist/{yst_seo_score-1291.css → yst_seo_score-1300.css} +0 -0
  83. frontend/class-frontend.php +3 -3
  84. frontend/schema/class-schema-context.php +1 -1
  85. frontend/schema/class-schema-website.php +1 -1
  86. inc/class-post-type.php +2 -2
  87. inc/class-rewrite.php +2 -2
  88. inc/class-upgrade-history.php +1 -1
  89. inc/class-wpseo-meta.php +2 -2
  90. inc/class-wpseo-replace-vars.php +1 -3
  91. inc/class-wpseo-utils.php +2 -2
  92. inc/health-check-page-comments.php +15 -11
  93. inc/health-check.php +14 -0
  94. inc/options/class-wpseo-option-titles.php +1 -1
  95. inc/options/class-wpseo-options.php +2 -0
  96. inc/options/class-wpseo-taxonomy-meta.php +1 -3
  97. inc/sitemaps/class-author-sitemap-provider.php +1 -1
  98. inc/sitemaps/class-post-type-sitemap-provider.php +1 -1
  99. inc/sitemaps/class-sitemap-image-parser.php +6 -6
  100. inc/sitemaps/class-sitemaps-admin.php +3 -3
  101. inc/sitemaps/class-sitemaps-cache.php +4 -4
  102. inc/sitemaps/class-sitemaps-renderer.php +2 -2
  103. inc/sitemaps/class-sitemaps.php +3 -3
  104. inc/sitemaps/class-taxonomy-sitemap-provider.php +1 -1
  105. inc/wpseo-non-ajax-functions.php +1 -1
  106. js/dist/analysis-1291.js +0 -21
admin/class-admin-asset-dev-server-location.php CHANGED
@@ -54,7 +54,7 @@ final class WPSEO_Admin_Asset_Dev_Server_Location implements WPSEO_Admin_Asset_L
54
  $flat_version = $asset_manager->flatten_version( WPSEO_VERSION );
55
  $version_less_source = str_replace( '-' . $flat_version, '', $asset->get_src() );
56
 
57
- if ( false !== strpos( $version_less_source, 'select2' ) ) {
58
  return $this->get_default_url( $asset, $type );
59
  }
60
 
54
  $flat_version = $asset_manager->flatten_version( WPSEO_VERSION );
55
  $version_less_source = str_replace( '-' . $flat_version, '', $asset->get_src() );
56
 
57
+ if ( strpos( $version_less_source, 'select2' ) !== false ) {
58
  return $this->get_default_url( $asset, $type );
59
  }
60
 
admin/class-admin-asset-seo-location.php CHANGED
@@ -46,9 +46,8 @@ final class WPSEO_Admin_Asset_SEO_Location implements WPSEO_Admin_Asset_Location
46
  /**
47
  * Determines the path relative to the plugin folder of an asset.
48
  *
49
- * @param WPSEO_Admin_Asset $asset The asset to determine the path
50
- * for.
51
- * @param string $type The type of asset.
52
  *
53
  * @return string The path to the asset file.
54
  */
46
  /**
47
  * Determines the path relative to the plugin folder of an asset.
48
  *
49
+ * @param WPSEO_Admin_Asset $asset The asset to determine the path for.
50
+ * @param string $type The type of asset.
 
51
  *
52
  * @return string The path to the asset file.
53
  */
admin/class-admin-help-panel.php CHANGED
@@ -88,7 +88,7 @@ class WPSEO_Admin_Help_Panel {
88
  $wrapper_start = '';
89
  $wrapper_end = '';
90
 
91
- if ( 'has-wrapper' === $this->wrapper ) {
92
  $wrapper_start = '<div class="yoast-seo-help-container">';
93
  $wrapper_end = '</div>';
94
  }
88
  $wrapper_start = '';
89
  $wrapper_end = '';
90
 
91
+ if ( $this->wrapper === 'has-wrapper' ) {
92
  $wrapper_start = '<div class="yoast-seo-help-container">';
93
  $wrapper_end = '</div>';
94
  }
admin/class-admin-init.php CHANGED
@@ -336,7 +336,7 @@ class WPSEO_Admin_Init {
336
  * @return bool
337
  */
338
  private function is_site_notice_dismissed( $notice_name ) {
339
- return '1' === get_option( $notice_name, true );
340
  }
341
 
342
  /**
@@ -490,7 +490,7 @@ class WPSEO_Admin_Init {
490
  * @return bool
491
  */
492
  private function is_blog_public() {
493
- return '1' === (string) get_option( 'blog_public' );
494
  }
495
 
496
  /**
@@ -536,7 +536,7 @@ class WPSEO_Admin_Init {
536
  * @return bool
537
  */
538
  private function has_postname_in_permalink() {
539
- return ( false !== strpos( get_option( 'permalink_structure' ), '%postname%' ) );
540
  }
541
 
542
  /**
@@ -545,7 +545,7 @@ class WPSEO_Admin_Init {
545
  public function permalink_settings_notice() {
546
  global $pagenow;
547
 
548
- if ( $pagenow === 'options-permalink.php' ) {
549
  printf(
550
  '<div class="notice notice-warning"><p><strong>%1$s</strong><br>%2$s<br><a href="%3$s" target="_blank">%4$s</a></p></div>',
551
  esc_html__( 'WARNING:', 'wordpress-seo' ),
@@ -619,6 +619,6 @@ class WPSEO_Admin_Init {
619
  public function has_page_comments() {
620
  _deprecated_function( __METHOD__, 'WPSEO 12.8' );
621
 
622
- return '1' === get_option( 'page_comments' );
623
  }
624
  }
336
  * @return bool
337
  */
338
  private function is_site_notice_dismissed( $notice_name ) {
339
+ return get_option( $notice_name, true ) === '1';
340
  }
341
 
342
  /**
490
  * @return bool
491
  */
492
  private function is_blog_public() {
493
+ return (string) get_option( 'blog_public' ) === '1';
494
  }
495
 
496
  /**
536
  * @return bool
537
  */
538
  private function has_postname_in_permalink() {
539
+ return ( strpos( get_option( 'permalink_structure' ), '%postname%' ) !== false );
540
  }
541
 
542
  /**
545
  public function permalink_settings_notice() {
546
  global $pagenow;
547
 
548
+ if ( 'options-permalink.php' === $pagenow ) {
549
  printf(
550
  '<div class="notice notice-warning"><p><strong>%1$s</strong><br>%2$s<br><a href="%3$s" target="_blank">%4$s</a></p></div>',
551
  esc_html__( 'WARNING:', 'wordpress-seo' ),
619
  public function has_page_comments() {
620
  _deprecated_function( __METHOD__, 'WPSEO 12.8' );
621
 
622
+ return get_option( 'page_comments' ) === '1';
623
  }
624
  }
admin/class-admin-user-profile.php CHANGED
@@ -33,7 +33,7 @@ class WPSEO_Admin_User_Profile {
33
  * @param string $meta_key The key of the meta field changed.
34
  */
35
  public function clear_author_sitemap_cache( $meta_id, $object_id, $meta_key ) {
36
- if ( '_yoast_wpseo_profile_updated' === $meta_key ) {
37
  WPSEO_Sitemaps_Cache::clear( [ 'author' ] );
38
  }
39
  }
33
  * @param string $meta_key The key of the meta field changed.
34
  */
35
  public function clear_author_sitemap_cache( $meta_id, $object_id, $meta_key ) {
36
+ if ( $meta_key === '_yoast_wpseo_profile_updated' ) {
37
  WPSEO_Sitemaps_Cache::clear( [ 'author' ] );
38
  }
39
  }
admin/class-admin.php CHANGED
@@ -151,7 +151,7 @@ class WPSEO_Admin {
151
  * Register assets needed on admin pages.
152
  */
153
  public function enqueue_assets() {
154
- if ( 'wpseo_licenses' === filter_input( INPUT_GET, 'page' ) ) {
155
  $asset_manager = new WPSEO_Admin_Asset_Manager();
156
  $asset_manager->enqueue_style( 'extensions' );
157
  }
@@ -206,7 +206,7 @@ class WPSEO_Admin {
206
  * @return int
207
  */
208
  public function save_bulk_edit_options( $status, $option, $value ) {
209
- if ( 'wpseo_posts_per_page' === $option && ( $value > 0 && $value < 1000 ) ) {
210
  return $value;
211
  }
212
 
@@ -353,7 +353,7 @@ class WPSEO_Admin {
353
  * @returns bool
354
  */
355
  protected function on_dashboard_page() {
356
- return 'index.php' === $GLOBALS['pagenow'];
357
  }
358
 
359
  /**
151
  * Register assets needed on admin pages.
152
  */
153
  public function enqueue_assets() {
154
+ if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_licenses' ) {
155
  $asset_manager = new WPSEO_Admin_Asset_Manager();
156
  $asset_manager->enqueue_style( 'extensions' );
157
  }
206
  * @return int
207
  */
208
  public function save_bulk_edit_options( $status, $option, $value ) {
209
+ if ( $option && ( $value > 0 && $value < 1000 ) === 'wpseo_posts_per_page' ) {
210
  return $value;
211
  }
212
 
353
  * @returns bool
354
  */
355
  protected function on_dashboard_page() {
356
+ return $GLOBALS['pagenow'] === 'index.php';
357
  }
358
 
359
  /**
admin/class-asset.php CHANGED
@@ -117,14 +117,14 @@ class WPSEO_Admin_Asset {
117
  /**
118
  * For JS Assets. Whether or not the script should be loaded in the footer.
119
  *
120
- * @var boolean
121
  */
122
  protected $in_footer;
123
 
124
  /**
125
  * For CSS Assets. Whether this stylesheet is a right-to-left stylesheet.
126
  *
127
- * @var boolean
128
  */
129
  protected $rtl;
130
 
117
  /**
118
  * For JS Assets. Whether or not the script should be loaded in the footer.
119
  *
120
+ * @var bool
121
  */
122
  protected $in_footer;
123
 
124
  /**
125
  * For CSS Assets. Whether this stylesheet is a right-to-left stylesheet.
126
  *
127
+ * @var bool
128
  */
129
  protected $rtl;
130
 
admin/class-bulk-editor-list-table.php CHANGED
@@ -49,7 +49,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
49
  /**
50
  * The current page (depending on $_GET['paged']) if current tab is for current page_type, else it will be 1.
51
  *
52
- * @var integer
53
  */
54
  private $current_page;
55
 
@@ -197,7 +197,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
197
  ?>
198
  <div class="tablenav <?php echo esc_attr( $which ); ?>">
199
 
200
- <?php if ( 'top' === $which ) { ?>
201
  <form id="posts-filter" action="" method="get">
202
  <input type="hidden" name="nonce" value="<?php echo esc_attr( $this->nonce ); ?>"/>
203
  <input type="hidden" name="page" value="wpseo_tools"/>
@@ -220,7 +220,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
220
  ?>
221
 
222
  <br class="clear"/>
223
- <?php if ( 'top' === $which ) { ?>
224
  </form>
225
  <?php } ?>
226
  </div>
@@ -330,7 +330,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
330
  );
331
 
332
  $current_link_attributes = '';
333
- if ( 'trash' === $post_status ) {
334
  $current_link_attributes = 'class="current" aria-current="page"';
335
  }
336
 
@@ -352,7 +352,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
352
  */
353
  public function extra_tablenav( $which ) {
354
 
355
- if ( 'top' === $which ) {
356
  $post_types = get_post_types(
357
  [
358
  'public' => true,
@@ -797,7 +797,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
797
 
798
  $actions = [];
799
 
800
- if ( $can_edit_post && 'trash' !== $rec->post_status ) {
801
  $actions['edit'] = sprintf(
802
  '<a href="%s" aria-label="%s">%s</a>',
803
  esc_url( get_edit_post_link( $rec->ID, true ) ),
@@ -819,7 +819,7 @@ class WPSEO_Bulk_List_Table extends WP_List_Table {
819
  );
820
  }
821
  }
822
- elseif ( 'trash' !== $rec->post_status ) {
823
  $actions['view'] = sprintf(
824
  '<a href="%s" aria-label="%s" rel="bookmark">%s</a>',
825
  esc_url( get_permalink( $rec->ID ) ),
49
  /**
50
  * The current page (depending on $_GET['paged']) if current tab is for current page_type, else it will be 1.
51
  *
52
+ * @var int
53
  */
54
  private $current_page;
55
 
197
  ?>
198
  <div class="tablenav <?php echo esc_attr( $which ); ?>">
199
 
200
+ <?php if ( $which === 'top' ) { ?>
201
  <form id="posts-filter" action="" method="get">
202
  <input type="hidden" name="nonce" value="<?php echo esc_attr( $this->nonce ); ?>"/>
203
  <input type="hidden" name="page" value="wpseo_tools"/>
220
  ?>
221
 
222
  <br class="clear"/>
223
+ <?php if ( $which === 'top' ) { ?>
224
  </form>
225
  <?php } ?>
226
  </div>
330
  );
331
 
332
  $current_link_attributes = '';
333
+ if ( $post_status === 'trash' ) {
334
  $current_link_attributes = 'class="current" aria-current="page"';
335
  }
336
 
352
  */
353
  public function extra_tablenav( $which ) {
354
 
355
+ if ( $which === 'top' ) {
356
  $post_types = get_post_types(
357
  [
358
  'public' => true,
797
 
798
  $actions = [];
799
 
800
+ if ( $can_edit_post && $rec->post_status !== 'trash' ) {
801
  $actions['edit'] = sprintf(
802
  '<a href="%s" aria-label="%s">%s</a>',
803
  esc_url( get_edit_post_link( $rec->ID, true ) ),
819
  );
820
  }
821
  }
822
+ elseif ( $rec->post_status !== 'trash' ) {
823
  $actions['view'] = sprintf(
824
  '<a href="%s" aria-label="%s" rel="bookmark">%s</a>',
825
  esc_url( get_permalink( $rec->ID ) ),
admin/class-config.php CHANGED
@@ -95,7 +95,7 @@ class WPSEO_Admin_Pages {
95
  wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-media', 'wpseoMediaL10n', $this->localize_media_script() );
96
  }
97
 
98
- if ( 'wpseo_tools' === $page ) {
99
  $this->enqueue_tools_scripts();
100
  }
101
  }
@@ -175,7 +175,7 @@ class WPSEO_Admin_Pages {
175
  $this->asset_manager->enqueue_script( 'yoast-seo' );
176
  }
177
 
178
- if ( 'bulk-editor' === $tool ) {
179
  $this->asset_manager->enqueue_script( 'bulk-editor' );
180
  }
181
  }
95
  wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-media', 'wpseoMediaL10n', $this->localize_media_script() );
96
  }
97
 
98
+ if ( $page === 'wpseo_tools' ) {
99
  $this->enqueue_tools_scripts();
100
  }
101
  }
175
  $this->asset_manager->enqueue_script( 'yoast-seo' );
176
  }
177
 
178
+ if ( $tool === 'bulk-editor' ) {
179
  $this->asset_manager->enqueue_script( 'bulk-editor' );
180
  }
181
  }
admin/class-customizer.php CHANGED
@@ -97,7 +97,7 @@ class WPSEO_Customizer {
97
  * @return bool
98
  */
99
  public function breadcrumbs_active_callback() {
100
- return true === ( current_theme_supports( 'yoast-seo-breadcrumbs' ) || WPSEO_Options::get( 'breadcrumbs-enable' ) );
101
  }
102
 
103
  /**
@@ -120,7 +120,7 @@ class WPSEO_Customizer {
120
  * @return bool
121
  */
122
  public function breadcrumbs_blog_show_active_cb() {
123
- return 'page' === get_option( 'show_on_front' );
124
  }
125
 
126
  /**
97
  * @return bool
98
  */
99
  public function breadcrumbs_active_callback() {
100
+ return ( current_theme_supports( 'yoast-seo-breadcrumbs' ) || WPSEO_Options::get( 'breadcrumbs-enable' ) ) === true;
101
  }
102
 
103
  /**
120
  * @return bool
121
  */
122
  public function breadcrumbs_blog_show_active_cb() {
123
+ return get_option( 'show_on_front' ) === 'page';
124
  }
125
 
126
  /**
admin/class-export.php CHANGED
@@ -29,7 +29,7 @@ class WPSEO_Export {
29
  /**
30
  * Holds whether the export was a success.
31
  *
32
- * @var boolean
33
  */
34
  public $success;
35
 
29
  /**
30
  * Holds whether the export was a success.
31
  *
32
+ * @var bool
33
  */
34
  public $success;
35
 
admin/class-meta-columns.php CHANGED
@@ -120,7 +120,7 @@ class WPSEO_Meta_Columns {
120
  $metadesc_val = wpseo_replace_vars( WPSEO_Meta::get_value( 'metadesc', $post_id ), $post );
121
  $metadesc_val = apply_filters( 'wpseo_metadesc', $metadesc_val );
122
 
123
- if ( '' === $metadesc_val ) {
124
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
125
  esc_html__( 'Meta description not set.', 'wordpress-seo' ),
126
  '</span>';
@@ -133,7 +133,7 @@ class WPSEO_Meta_Columns {
133
  case 'wpseo-focuskw':
134
  $focuskw_val = WPSEO_Meta::get_value( 'focuskw', $post_id );
135
 
136
- if ( '' === $focuskw_val ) {
137
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
138
  esc_html__( 'Focus keyphrase not set.', 'wordpress-seo' ),
139
  '</span>';
@@ -753,7 +753,7 @@ class WPSEO_Meta_Columns {
753
  }
754
 
755
  $screen = get_current_screen();
756
- if ( null === $screen ) {
757
  return false;
758
  }
759
 
120
  $metadesc_val = wpseo_replace_vars( WPSEO_Meta::get_value( 'metadesc', $post_id ), $post );
121
  $metadesc_val = apply_filters( 'wpseo_metadesc', $metadesc_val );
122
 
123
+ if ( $metadesc_val === '' ) {
124
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
125
  esc_html__( 'Meta description not set.', 'wordpress-seo' ),
126
  '</span>';
133
  case 'wpseo-focuskw':
134
  $focuskw_val = WPSEO_Meta::get_value( 'focuskw', $post_id );
135
 
136
+ if ( $focuskw_val === '' ) {
137
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
138
  esc_html__( 'Focus keyphrase not set.', 'wordpress-seo' ),
139
  '</span>';
753
  }
754
 
755
  $screen = get_current_screen();
756
+ if ( $screen === null ) {
757
  return false;
758
  }
759
 
admin/class-meta-table-accessible.php CHANGED
@@ -33,7 +33,7 @@ class WPSEO_Meta_Table_Accessible {
33
  $value = get_transient( self::transient_name() );
34
 
35
  // If the value is not set, check the table.
36
- if ( false === $value ) {
37
  return self::check_table();
38
  }
39
 
33
  $value = get_transient( self::transient_name() );
34
 
35
  // If the value is not set, check the table.
36
+ if ( $value === false ) {
37
  return self::check_table();
38
  }
39
 
admin/class-primary-term-admin.php CHANGED
@@ -175,12 +175,12 @@ class WPSEO_Primary_Term_Admin implements WPSEO_WordPress_Integration {
175
  * @return array
176
  */
177
  protected function get_primary_term_taxonomies( $post_id = null ) {
178
- if ( null === $post_id ) {
179
  $post_id = $this->get_current_id();
180
  }
181
 
182
  $taxonomies = wp_cache_get( 'primary_term_taxonomies_' . $post_id, 'wpseo' );
183
- if ( false !== $taxonomies ) {
184
  return $taxonomies;
185
  }
186
 
@@ -208,7 +208,7 @@ class WPSEO_Primary_Term_Admin implements WPSEO_WordPress_Integration {
208
  $primary_term = filter_input( INPUT_POST, WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_term', FILTER_SANITIZE_NUMBER_INT );
209
 
210
  // We accept an empty string here because we need to save that if no terms are selected.
211
- if ( null !== $primary_term && check_admin_referer( 'save-primary-term', WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_nonce' ) ) {
212
  $primary_term_object = new WPSEO_Primary_Term( $taxonomy->name, $post_id );
213
  $primary_term_object->set_primary_term( $primary_term );
214
  }
175
  * @return array
176
  */
177
  protected function get_primary_term_taxonomies( $post_id = null ) {
178
+ if ( $post_id === null ) {
179
  $post_id = $this->get_current_id();
180
  }
181
 
182
  $taxonomies = wp_cache_get( 'primary_term_taxonomies_' . $post_id, 'wpseo' );
183
+ if ( $taxonomies !== false ) {
184
  return $taxonomies;
185
  }
186
 
208
  $primary_term = filter_input( INPUT_POST, WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_term', FILTER_SANITIZE_NUMBER_INT );
209
 
210
  // We accept an empty string here because we need to save that if no terms are selected.
211
+ if ( $primary_term && check_admin_referer( 'save-primary-term', WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_nonce' ) !== null ) {
212
  $primary_term_object = new WPSEO_Primary_Term( $taxonomy->name, $post_id );
213
  $primary_term_object->set_primary_term( $primary_term );
214
  }
admin/class-social-admin.php CHANGED
@@ -53,7 +53,7 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
53
  ];
54
 
55
  foreach ( $social_networks as $network => $label ) {
56
- if ( true === WPSEO_Options::get( $network, false ) ) {
57
  /* translators: %s expands to the name of a social network. */
58
  WPSEO_Meta::$meta_fields['social'][ $network . '-title' ]['title'] = sprintf( __( '%s Title', 'wordpress-seo' ), $label );
59
  WPSEO_Meta::$meta_fields['social'][ $network . '-title' ]['description'] = sprintf( $title_text, $label );
@@ -170,7 +170,7 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
170
 
171
  $network_name = __( 'Facebook', 'wordpress-seo' );
172
 
173
- if ( 'twitter' === $network ) {
174
  $network_name = __( 'Twitter', 'wordpress-seo' );
175
  }
176
 
53
  ];
54
 
55
  foreach ( $social_networks as $network => $label ) {
56
+ if ( WPSEO_Options::get( $network, false ) === true ) {
57
  /* translators: %s expands to the name of a social network. */
58
  WPSEO_Meta::$meta_fields['social'][ $network . '-title' ]['title'] = sprintf( __( '%s Title', 'wordpress-seo' ), $label );
59
  WPSEO_Meta::$meta_fields['social'][ $network . '-title' ]['description'] = sprintf( $title_text, $label );
170
 
171
  $network_name = __( 'Facebook', 'wordpress-seo' );
172
 
173
+ if ( $network === 'twitter' ) {
174
  $network_name = __( 'Twitter', 'wordpress-seo' );
175
  }
176
 
admin/class-yoast-notification-center.php CHANGED
@@ -81,7 +81,7 @@ class Yoast_Notification_Center {
81
  */
82
  public static function get() {
83
 
84
- if ( null === self::$instance ) {
85
  self::$instance = new self();
86
  }
87
 
@@ -101,7 +101,7 @@ class Yoast_Notification_Center {
101
  }
102
 
103
  $notification = $notification_center->get_notification_by_id( $notification_id );
104
- if ( false === ( $notification instanceof Yoast_Notification ) ) {
105
 
106
  // Permit legacy.
107
  $options = [
@@ -174,7 +174,7 @@ class Yoast_Notification_Center {
174
 
175
  // Fallback to ?dismissal_key=1&nonce=bla when JavaScript fails.
176
  if ( ! $is_dismissing ) {
177
- $is_dismissing = ( '1' === self::get_user_input( $dismissal_key ) );
178
  }
179
 
180
  if ( ! $is_dismissing ) {
@@ -182,7 +182,7 @@ class Yoast_Notification_Center {
182
  }
183
 
184
  $user_nonce = self::get_user_input( 'nonce' );
185
- if ( false === wp_verify_nonce( $user_nonce, $notification_id ) ) {
186
  return false;
187
  }
188
 
@@ -403,7 +403,7 @@ class Yoast_Notification_Center {
403
  $index = false;
404
 
405
  // ID of the user to show the notification for, defaults to current user id.
406
- $user_id = $notification->get_user_id();
407
  $notifications = $this->get_notifications_for_user( $user_id );
408
 
409
  // Match persistent Notifications by ID, non persistent by item in the array.
@@ -419,7 +419,7 @@ class Yoast_Notification_Center {
419
  $index = array_search( $notification, $notifications, true );
420
  }
421
 
422
- if ( false === $index ) {
423
  return;
424
  }
425
 
@@ -589,7 +589,7 @@ class Yoast_Notification_Center {
589
  return;
590
  }
591
 
592
- array_walk( $notifications , [ $this, 'store_notifications_for_user' ] );
593
  }
594
 
595
  /**
@@ -652,7 +652,7 @@ class Yoast_Notification_Center {
652
 
653
  $filter_input_type = INPUT_GET;
654
 
655
- if ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' === strtoupper( wp_unslash( $_SERVER['REQUEST_METHOD'] ) ) ) {
656
  $filter_input_type = INPUT_POST;
657
  }
658
 
@@ -707,11 +707,11 @@ class Yoast_Notification_Center {
707
  return WPSEO_Utils::calc( $b->get_priority(), 'compare', $a->get_priority() );
708
  }
709
 
710
- if ( 'error' === $a_type ) {
711
  return -1;
712
  }
713
 
714
- if ( 'error' === $b_type ) {
715
  return 1;
716
  }
717
 
81
  */
82
  public static function get() {
83
 
84
+ if ( self::$instance === null ) {
85
  self::$instance = new self();
86
  }
87
 
101
  }
102
 
103
  $notification = $notification_center->get_notification_by_id( $notification_id );
104
+ if ( ( $notification instanceof Yoast_Notification ) === false ) {
105
 
106
  // Permit legacy.
107
  $options = [
174
 
175
  // Fallback to ?dismissal_key=1&nonce=bla when JavaScript fails.
176
  if ( ! $is_dismissing ) {
177
+ $is_dismissing = ( self::get_user_input( $dismissal_key ) === '1' );
178
  }
179
 
180
  if ( ! $is_dismissing ) {
182
  }
183
 
184
  $user_nonce = self::get_user_input( 'nonce' );
185
+ if ( wp_verify_nonce( $user_nonce, $notification_id ) === false ) {
186
  return false;
187
  }
188
 
403
  $index = false;
404
 
405
  // ID of the user to show the notification for, defaults to current user id.
406
+ $user_id = $notification->get_user_id();
407
  $notifications = $this->get_notifications_for_user( $user_id );
408
 
409
  // Match persistent Notifications by ID, non persistent by item in the array.
419
  $index = array_search( $notification, $notifications, true );
420
  }
421
 
422
+ if ( $index === false ) {
423
  return;
424
  }
425
 
589
  return;
590
  }
591
 
592
+ array_walk( $notifications, [ $this, 'store_notifications_for_user' ] );
593
  }
594
 
595
  /**
652
 
653
  $filter_input_type = INPUT_GET;
654
 
655
+ if ( isset( $_SERVER['REQUEST_METHOD'] ) && strtoupper( wp_unslash( $_SERVER['REQUEST_METHOD'] ) ) === 'POST' ) {
656
  $filter_input_type = INPUT_POST;
657
  }
658
 
707
  return WPSEO_Utils::calc( $b->get_priority(), 'compare', $a->get_priority() );
708
  }
709
 
710
+ if ( $a_type === 'error' ) {
711
  return -1;
712
  }
713
 
714
+ if ( $b_type === 'error' ) {
715
  return 1;
716
  }
717
 
admin/class-yoast-notification.php CHANGED
@@ -397,7 +397,7 @@ class Yoast_Notification {
397
  $options['priority'] = min( 1, max( 0, $options['priority'] ) );
398
 
399
  // Set default capabilities when not supplied.
400
- if ( empty( $options['capabilities'] ) || [] === $options['capabilities'] ) {
401
  $options['capabilities'] = [ 'wpseo_manage_options' ];
402
  }
403
 
397
  $options['priority'] = min( 1, max( 0, $options['priority'] ) );
398
 
399
  // Set default capabilities when not supplied.
400
+ if ( empty( $options['capabilities'] ) || $options['capabilities'] === [] ) {
401
  $options['capabilities'] = [ 'wpseo_manage_options' ];
402
  }
403
 
admin/config-ui/factories/class-factory-post-type.php CHANGED
@@ -55,7 +55,7 @@ class WPSEO_Config_Factory_Post_Type {
55
  * @param WPSEO_Config_Field $field Field that corresponds to the post type.
56
  */
57
  private function add_custom_properties( $post_type, $field ) {
58
- if ( 'attachment' === $post_type ) {
59
  $field->set_property( 'explanation', __( 'WordPress automatically generates an URL for each media item in the library. Enabling this will allow for google to index the generated URL.', 'wordpress-seo' ) );
60
  }
61
  }
55
  * @param WPSEO_Config_Field $field Field that corresponds to the post type.
56
  */
57
  private function add_custom_properties( $post_type, $field ) {
58
+ if ( $post_type === 'attachment' ) {
59
  $field->set_property( 'explanation', __( 'WordPress automatically generates an URL for each media item in the library. Enabling this will allow for google to index the generated URL.', 'wordpress-seo' ) );
60
  }
61
  }
admin/formatter/class-post-metabox-formatter.php CHANGED
@@ -118,12 +118,12 @@ class WPSEO_Post_Metabox_Formatter implements WPSEO_Metabox_Formatter_Interface
118
  // The default base is the home_url.
119
  $base_url = home_url( '/', null );
120
 
121
- if ( 'post-new.php' === $pagenow ) {
122
  return $base_url;
123
  }
124
 
125
  // If %postname% is the last tag, just strip it and use that as a base.
126
- if ( 1 === preg_match( '#%postname%/?$#', $this->permalink ) ) {
127
  $base_url = preg_replace( '#%postname%/?$#', '', $this->permalink );
128
  }
129
 
118
  // The default base is the home_url.
119
  $base_url = home_url( '/', null );
120
 
121
+ if ( $pagenow === 'post-new.php' ) {
122
  return $base_url;
123
  }
124
 
125
  // If %postname% is the last tag, just strip it and use that as a base.
126
+ if ( preg_match( '#%postname%/?$#', $this->permalink ) === 1 ) {
127
  $base_url = preg_replace( '#%postname%/?$#', '', $this->permalink );
128
  }
129
 
admin/links/class-link-columns.php CHANGED
@@ -205,7 +205,7 @@ class WPSEO_Link_Columns {
205
  * @param string $target Extra table navigation location which is triggered.
206
  */
207
  public function count_objects( $target ) {
208
- if ( 'top' === $target ) {
209
  $this->set_count_objects();
210
  }
211
  }
205
  * @param string $target Extra table navigation location which is triggered.
206
  */
207
  public function count_objects( $target ) {
208
+ if ( $target === 'top' ) {
209
  $this->set_count_objects();
210
  }
211
  }
admin/links/class-link-query.php CHANGED
@@ -55,7 +55,7 @@ class WPSEO_Link_Query {
55
  global $wpdb;
56
 
57
  $post_ids = array_filter( $post_ids );
58
- if ( empty( $post_ids ) || [] === $post_ids ) {
59
  return $post_ids;
60
  }
61
 
55
  global $wpdb;
56
 
57
  $post_ids = array_filter( $post_ids );
58
+ if ( empty( $post_ids ) || $post_ids === [] ) {
59
  return $post_ids;
60
  }
61
 
admin/links/class-link-table-accessible.php CHANGED
@@ -33,7 +33,7 @@ class WPSEO_Link_Table_Accessible {
33
  $value = get_transient( self::transient_name() );
34
 
35
  // If the value is not set, check the table.
36
- if ( false === $value ) {
37
  return self::check_table();
38
  }
39
 
33
  $value = get_transient( self::transient_name() );
34
 
35
  // If the value is not set, check the table.
36
+ if ( $value === false ) {
37
  return self::check_table();
38
  }
39
 
admin/metabox/class-abstract-sectioned-metabox-tab.php CHANGED
@@ -79,8 +79,8 @@ abstract class WPSEO_Abstract_Metabox_Tab_With_Sections implements WPSEO_Metabox
79
  '<li role="presentation"><a role="tab" href="#wpseo-meta-section-%1$s" id="wpseo-meta-tab-%1$s" aria-controls="wpseo-meta-section-%1$s" class="wpseo-meta-section-link %2$s"%3$s%4$s>%5$s</a></li>',
80
  esc_attr( $this->name ),
81
  esc_attr( $this->link_class ),
82
- ( '' !== $this->link_title ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '',
83
- ( '' !== $this->link_aria_label ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
84
  $this->link_content
85
  );
86
  }
79
  '<li role="presentation"><a role="tab" href="#wpseo-meta-section-%1$s" id="wpseo-meta-tab-%1$s" aria-controls="wpseo-meta-section-%1$s" class="wpseo-meta-section-link %2$s"%3$s%4$s>%5$s</a></li>',
80
  esc_attr( $this->name ),
81
  esc_attr( $this->link_class ),
82
+ ( $this->link_title !== '' ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '',
83
+ ( $this->link_aria_label !== '' ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
84
  $this->link_content
85
  );
86
  }
admin/metabox/class-metabox-editor.php CHANGED
@@ -34,7 +34,7 @@ class WPSEO_Metabox_Editor {
34
  $asset_location = new WPSEO_Admin_Asset_SEO_Location( WPSEO_FILE );
35
  $url = $asset_location->get_url( $inside_editor, WPSEO_Admin_Asset::TYPE_CSS );
36
 
37
- if ( '' === $css_files ) {
38
  $css_files = $url;
39
  }
40
  else {
34
  $asset_location = new WPSEO_Admin_Asset_SEO_Location( WPSEO_FILE );
35
  $url = $asset_location->get_url( $inside_editor, WPSEO_Admin_Asset::TYPE_CSS );
36
 
37
+ if ( $css_files === '' ) {
38
  $css_files = $url;
39
  }
40
  else {
admin/metabox/class-metabox-form-tab.php CHANGED
@@ -62,7 +62,7 @@ class WPSEO_Metabox_Form_Tab implements WPSEO_Metabox_Tab {
62
  /**
63
  * Does it contain a single tab.
64
  *
65
- * @var boolean
66
  */
67
  private $single;
68
 
@@ -111,10 +111,10 @@ class WPSEO_Metabox_Form_Tab implements WPSEO_Metabox_Tab {
111
  return sprintf(
112
  $html,
113
  esc_attr( $this->name ),
114
- ( '' !== $this->tab_class ) ? ' ' . esc_attr( $this->tab_class ) : '',
115
- ( '' !== $this->link_class ) ? ' ' . esc_attr( $this->link_class ) : '',
116
- ( '' !== $this->link_title ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '',
117
- ( '' !== $this->link_aria_label ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
118
  $this->link_content
119
  );
120
  }
62
  /**
63
  * Does it contain a single tab.
64
  *
65
+ * @var bool
66
  */
67
  private $single;
68
 
111
  return sprintf(
112
  $html,
113
  esc_attr( $this->name ),
114
+ ( $this->tab_class !== '' ) ? ' ' . esc_attr( $this->tab_class ) : '',
115
+ ( $this->link_class !== '' ) ? ' ' . esc_attr( $this->link_class ) : '',
116
+ ( $this->link_title !== '' ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '',
117
+ ( $this->link_aria_label !== '' ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
118
  $this->link_content
119
  );
120
  }
admin/metabox/class-metabox-section-additional.php CHANGED
@@ -77,7 +77,7 @@ class WPSEO_Metabox_Section_Additional implements WPSEO_Metabox_Section {
77
  '<li role="presentation"><a role="tab" href="#wpseo-meta-section-%1$s" id="wpseo-meta-tab-%1$s" aria-controls="wpseo-meta-section-%1$s" class="wpseo-meta-section-link %2$s"%3$s>%4$s</a></li>',
78
  esc_attr( $this->name ),
79
  esc_attr( $this->link_class ),
80
- ( '' !== $this->link_aria_label ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
81
  $this->link_content
82
  );
83
  }
77
  '<li role="presentation"><a role="tab" href="#wpseo-meta-section-%1$s" id="wpseo-meta-tab-%1$s" aria-controls="wpseo-meta-section-%1$s" class="wpseo-meta-section-link %2$s"%3$s>%4$s</a></li>',
78
  esc_attr( $this->name ),
79
  esc_attr( $this->link_class ),
80
+ ( $this->link_aria_label !== '' ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '',
81
  $this->link_content
82
  );
83
  }
admin/metabox/class-metabox.php CHANGED
@@ -123,6 +123,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
123
  echo '</span>';
124
  echo '<div style="float: left">';
125
  printf(
 
126
  esc_html__( 'The browser you are currently using is unfortunately rather dated. Since we strive to give you the best experience possible, we no longer support this browser. Instead, please use %1$sFirefox%4$s, %2$sChrome%4$s or %3$sMicrosoft Edge%4$s.', 'wordpress-seo' ),
127
  '<a href="https://www.mozilla.org/firefox/new/">',
128
  '<a href="https://www.google.com/intl/nl/chrome/">',
@@ -145,7 +146,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
145
 
146
  /* translators: %s expands to the post type name. */
147
  WPSEO_Meta::$meta_fields['advanced']['meta-robots-noindex']['title'] = __( 'Allow search engines to show this %s in search results?', 'wordpress-seo' );
148
- if ( '0' === (string) get_option( 'blog_public' ) ) {
149
  WPSEO_Meta::$meta_fields['advanced']['meta-robots-noindex']['description'] = '<span class="error-message">' . __( 'Warning: even though you can set the meta robots setting here, the entire site is set to noindex in the sitewide privacy settings, so these settings won\'t have an effect.', 'wordpress-seo' ) . '</span>';
150
  }
151
  /* translators: %1$s expands to Yes or No, %2$s expands to the post type name.*/
@@ -570,7 +571,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
570
  $selected_arr = $meta_value;
571
 
572
  // If the multiselect field is 'meta-robots-adv' we should explode on ,.
573
- if ( 'meta-robots-adv' === $key ) {
574
  $selected_arr = explode( ',', $meta_value );
575
  }
576
 
@@ -659,12 +660,12 @@ class WPSEO_Metabox extends WPSEO_Meta {
659
  }
660
 
661
  // If it's a set of radio buttons, output proper fieldset and legend.
662
- if ( 'radio' === $meta_field_def['type'] ) {
663
  return '<fieldset><legend>' . $title . '</legend>' . $help_button . $help_panel . $content . $description . '</fieldset>';
664
  }
665
 
666
  // If it's a single checkbox, ignore the title.
667
- if ( 'checkbox' === $meta_field_def['type'] ) {
668
  $label = '';
669
  }
670
 
@@ -739,7 +740,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
739
  $data = null;
740
  $field_name = WPSEO_Meta::$form_prefix . $key;
741
 
742
- if ( 'checkbox' === $meta_box['type'] ) {
743
  $data = isset( $_POST[ $field_name ] ) ? 'on' : 'off';
744
  }
745
  else {
@@ -778,11 +779,11 @@ class WPSEO_Metabox extends WPSEO_Meta {
778
  * @return bool Whether the given meta value key is disabled.
779
  */
780
  public function is_meta_value_disabled( $key ) {
781
- if ( 'linkdex' === $key && ! $this->analysis_seo->is_enabled() ) {
782
  return true;
783
  }
784
 
785
- if ( 'content_score' === $key && ! $this->analysis_readability->is_enabled() ) {
786
  return true;
787
  }
788
 
@@ -1053,7 +1054,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
1053
  * @return bool Whether or not the given page is the post overview page.
1054
  */
1055
  public static function is_post_overview( $page ) {
1056
- return 'edit.php' === $page;
1057
  }
1058
 
1059
  /**
@@ -1064,8 +1065,8 @@ class WPSEO_Metabox extends WPSEO_Meta {
1064
  * @return bool Whether or not the given page is the post edit page.
1065
  */
1066
  public static function is_post_edit( $page ) {
1067
- return 'post.php' === $page
1068
- || 'post-new.php' === $page;
1069
  }
1070
 
1071
  /**
123
  echo '</span>';
124
  echo '<div style="float: left">';
125
  printf(
126
+ /* translators: 1: link to Firefox website; 2: link to Chrome website; 3: link to Edge website; 4: link close tag. */
127
  esc_html__( 'The browser you are currently using is unfortunately rather dated. Since we strive to give you the best experience possible, we no longer support this browser. Instead, please use %1$sFirefox%4$s, %2$sChrome%4$s or %3$sMicrosoft Edge%4$s.', 'wordpress-seo' ),
128
  '<a href="https://www.mozilla.org/firefox/new/">',
129
  '<a href="https://www.google.com/intl/nl/chrome/">',
146
 
147
  /* translators: %s expands to the post type name. */
148
  WPSEO_Meta::$meta_fields['advanced']['meta-robots-noindex']['title'] = __( 'Allow search engines to show this %s in search results?', 'wordpress-seo' );
149
+ if ( (string) get_option( 'blog_public' ) === '0' ) {
150
  WPSEO_Meta::$meta_fields['advanced']['meta-robots-noindex']['description'] = '<span class="error-message">' . __( 'Warning: even though you can set the meta robots setting here, the entire site is set to noindex in the sitewide privacy settings, so these settings won\'t have an effect.', 'wordpress-seo' ) . '</span>';
151
  }
152
  /* translators: %1$s expands to Yes or No, %2$s expands to the post type name.*/
571
  $selected_arr = $meta_value;
572
 
573
  // If the multiselect field is 'meta-robots-adv' we should explode on ,.
574
+ if ( $key === 'meta-robots-adv' ) {
575
  $selected_arr = explode( ',', $meta_value );
576
  }
577
 
660
  }
661
 
662
  // If it's a set of radio buttons, output proper fieldset and legend.
663
+ if ( $meta_field_def['type'] === 'radio' ) {
664
  return '<fieldset><legend>' . $title . '</legend>' . $help_button . $help_panel . $content . $description . '</fieldset>';
665
  }
666
 
667
  // If it's a single checkbox, ignore the title.
668
+ if ( $meta_field_def['type'] === 'checkbox' ) {
669
  $label = '';
670
  }
671
 
740
  $data = null;
741
  $field_name = WPSEO_Meta::$form_prefix . $key;
742
 
743
+ if ( $meta_box['type'] === 'checkbox' ) {
744
  $data = isset( $_POST[ $field_name ] ) ? 'on' : 'off';
745
  }
746
  else {
779
  * @return bool Whether the given meta value key is disabled.
780
  */
781
  public function is_meta_value_disabled( $key ) {
782
+ if ( $key === 'linkdex' && ! $this->analysis_seo->is_enabled() ) {
783
  return true;
784
  }
785
 
786
+ if ( $key === 'content_score' && ! $this->analysis_readability->is_enabled() ) {
787
  return true;
788
  }
789
 
1054
  * @return bool Whether or not the given page is the post overview page.
1055
  */
1056
  public static function is_post_overview( $page ) {
1057
+ return $page === 'edit.php';
1058
  }
1059
 
1060
  /**
1065
  * @return bool Whether or not the given page is the post edit page.
1066
  */
1067
  public static function is_post_edit( $page ) {
1068
+ return $page === 'post.php'
1069
+ || $page === 'post-new.php';
1070
  }
1071
 
1072
  /**
admin/onpage/class-onpage.php CHANGED
@@ -20,7 +20,7 @@ class WPSEO_OnPage implements WPSEO_WordPress_Integration {
20
  /**
21
  * Is the request started by pressing the fetch button.
22
  *
23
- * @var boolean
24
  */
25
  private $is_manual_request = false;
26
 
@@ -131,7 +131,7 @@ class WPSEO_OnPage implements WPSEO_WordPress_Integration {
131
  }
132
 
133
  $new_status = $this->request_indexability();
134
- if ( false === $new_status ) {
135
  return false;
136
  }
137
 
@@ -216,7 +216,7 @@ class WPSEO_OnPage implements WPSEO_WordPress_Integration {
216
  }
217
 
218
  // If development mode is on or the blog is not public, just don't show this notice.
219
- if ( WPSEO_Utils::is_development_mode() || ( '0' === get_option( 'blog_public' ) ) ) {
220
  return false;
221
  }
222
 
20
  /**
21
  * Is the request started by pressing the fetch button.
22
  *
23
+ * @var bool
24
  */
25
  private $is_manual_request = false;
26
 
131
  }
132
 
133
  $new_status = $this->request_indexability();
134
+ if ( $new_status === false ) {
135
  return false;
136
  }
137
 
216
  }
217
 
218
  // If development mode is on or the blog is not public, just don't show this notice.
219
+ if ( WPSEO_Utils::is_development_mode() || ( get_option( 'blog_public' ) === '0' ) ) {
220
  return false;
221
  }
222
 
admin/pages/tools.php CHANGED
@@ -16,7 +16,7 @@ $tool_page = (string) filter_input( INPUT_GET, 'tool' );
16
  $yform = Yoast_Form::get_instance();
17
  $yform->admin_header( false );
18
 
19
- if ( '' === $tool_page ) {
20
 
21
  $tools = [];
22
 
16
  $yform = Yoast_Form::get_instance();
17
  $yform->admin_header( false );
18
 
19
+ if ( $tool_page === '' ) {
20
 
21
  $tools = [];
22
 
admin/recalculate/class-recalculate-posts.php CHANGED
@@ -100,12 +100,12 @@ class WPSEO_Recalculate_Posts extends WPSEO_Recalculate {
100
  */
101
  private function get_title( $post_id, $post_type ) {
102
  $title = WPSEO_Meta::get_value( 'title', $post_id );
103
- if ( '' !== $title ) {
104
  return $title;
105
  }
106
 
107
  $default_from_options = $this->default_from_options( 'title-tax', $post_type );
108
- if ( false !== $default_from_options ) {
109
  return str_replace( ' %%page%% ', ' ', $default_from_options );
110
  }
111
 
@@ -122,12 +122,12 @@ class WPSEO_Recalculate_Posts extends WPSEO_Recalculate {
122
  */
123
  private function get_meta_description( $post_id, $post_type ) {
124
  $meta_description = WPSEO_Meta::get_value( 'metadesc', $post_id );
125
- if ( '' !== $meta_description ) {
126
  return $meta_description;
127
  }
128
 
129
  $default_from_options = $this->default_from_options( 'metadesc', $post_type );
130
- if ( false !== $default_from_options ) {
131
  return $default_from_options;
132
  }
133
 
100
  */
101
  private function get_title( $post_id, $post_type ) {
102
  $title = WPSEO_Meta::get_value( 'title', $post_id );
103
+ if ( $title !== '' ) {
104
  return $title;
105
  }
106
 
107
  $default_from_options = $this->default_from_options( 'title-tax', $post_type );
108
+ if ( $default_from_options !== false ) {
109
  return str_replace( ' %%page%% ', ' ', $default_from_options );
110
  }
111
 
122
  */
123
  private function get_meta_description( $post_id, $post_type ) {
124
  $meta_description = WPSEO_Meta::get_value( 'metadesc', $post_id );
125
+ if ( $meta_description !== '' ) {
126
  return $meta_description;
127
  }
128
 
129
  $default_from_options = $this->default_from_options( 'metadesc', $post_type );
130
+ if ( $default_from_options !== false ) {
131
  return $default_from_options;
132
  }
133
 
admin/recalculate/class-recalculate-terms.php CHANGED
@@ -116,12 +116,12 @@ class WPSEO_Recalculate_Terms extends WPSEO_Recalculate {
116
  */
117
  private function get_title( $term ) {
118
  $title = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'title' );
119
- if ( '' !== $title ) {
120
  return $title;
121
  }
122
 
123
  $default_from_options = $this->default_from_options( 'title-tax', $term->taxonomy );
124
- if ( false !== $default_from_options ) {
125
  return $default_from_options;
126
  }
127
 
@@ -137,12 +137,12 @@ class WPSEO_Recalculate_Terms extends WPSEO_Recalculate {
137
  */
138
  private function get_meta_description( $term ) {
139
  $meta_description = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'desc' );
140
- if ( '' !== $meta_description ) {
141
  return $meta_description;
142
  }
143
 
144
  $default_from_options = $this->default_from_options( 'metadesc-tax', $term->taxonomy );
145
- if ( false !== $default_from_options ) {
146
  return $default_from_options;
147
  }
148
 
116
  */
117
  private function get_title( $term ) {
118
  $title = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'title' );
119
+ if ( $title !== '' ) {
120
  return $title;
121
  }
122
 
123
  $default_from_options = $this->default_from_options( 'title-tax', $term->taxonomy );
124
+ if ( $default_from_options !== false ) {
125
  return $default_from_options;
126
  }
127
 
137
  */
138
  private function get_meta_description( $term ) {
139
  $meta_description = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'desc' );
140
+ if ( $meta_description !== '' ) {
141
  return $meta_description;
142
  }
143
 
144
  $default_from_options = $this->default_from_options( 'metadesc-tax', $term->taxonomy );
145
+ if ( $default_from_options !== false ) {
146
  return $default_from_options;
147
  }
148
 
admin/recalculate/class-recalculate.php CHANGED
@@ -95,7 +95,7 @@ abstract class WPSEO_Recalculate {
95
  */
96
  protected function default_from_options( $field, $suffix ) {
97
  $target_option_field = $field . '-' . $suffix;
98
- if ( '' !== WPSEO_Options::get( $target_option_field, '' ) ) {
99
  return WPSEO_Options::get( $target_option_field );
100
  }
101
 
95
  */
96
  protected function default_from_options( $field, $suffix ) {
97
  $target_option_field = $field . '-' . $suffix;
98
+ if ( WPSEO_Options::get( $target_option_field, '' ) !== '' ) {
99
  return WPSEO_Options::get( $target_option_field );
100
  }
101
 
admin/taxonomy/class-taxonomy.php CHANGED
@@ -99,6 +99,7 @@ class WPSEO_Taxonomy {
99
  echo '</span>';
100
  echo '<div style="float: left">';
101
  printf(
 
102
  esc_html__( 'The browser you are currently using is unfortunately rather dated. Since we strive to give you the best experience possible, we no longer support this browser. Instead, please use %1$sFirefox%4$s, %2$sChrome%4$s or %3$sMicrosoft Edge%4$s.', 'wordpress-seo' ),
103
  '<a href="https://www.mozilla.org/firefox/new/">',
104
  '<a href="https://www.google.com/intl/nl/chrome/">',
@@ -226,11 +227,11 @@ class WPSEO_Taxonomy {
226
  * @return bool Whether the given meta value key is disabled.
227
  */
228
  public function is_meta_value_disabled( $key ) {
229
- if ( 'wpseo_linkdex' === $key && ! $this->analysis_seo->is_enabled() ) {
230
  return true;
231
  }
232
 
233
- if ( 'wpseo_content_score' === $key && ! $this->analysis_readability->is_enabled() ) {
234
  return true;
235
  }
236
 
@@ -321,7 +322,7 @@ class WPSEO_Taxonomy {
321
  * @return bool
322
  */
323
  public static function is_term_overview( $page ) {
324
- return 'edit-tags.php' === $page;
325
  }
326
 
327
  /**
@@ -332,7 +333,7 @@ class WPSEO_Taxonomy {
332
  * @return bool
333
  */
334
  public static function is_term_edit( $page ) {
335
- return 'term.php' === $page;
336
  }
337
 
338
  /**
99
  echo '</span>';
100
  echo '<div style="float: left">';
101
  printf(
102
+ /* translators: 1: link to Firefox website; 2: link to Chrome website; 3: link to Edge website; 4: link close tag. */
103
  esc_html__( 'The browser you are currently using is unfortunately rather dated. Since we strive to give you the best experience possible, we no longer support this browser. Instead, please use %1$sFirefox%4$s, %2$sChrome%4$s or %3$sMicrosoft Edge%4$s.', 'wordpress-seo' ),
104
  '<a href="https://www.mozilla.org/firefox/new/">',
105
  '<a href="https://www.google.com/intl/nl/chrome/">',
227
  * @return bool Whether the given meta value key is disabled.
228
  */
229
  public function is_meta_value_disabled( $key ) {
230
+ if ( $key === 'wpseo_linkdex' && ! $this->analysis_seo->is_enabled() ) {
231
  return true;
232
  }
233
 
234
+ if ( $key === 'wpseo_content_score' && ! $this->analysis_readability->is_enabled() ) {
235
  return true;
236
  }
237
 
322
  * @return bool
323
  */
324
  public static function is_term_overview( $page ) {
325
+ return $page === 'edit-tags.php';
326
  }
327
 
328
  /**
333
  * @return bool
334
  */
335
  public static function is_term_edit( $page ) {
336
+ return $page === 'term.php';
337
  }
338
 
339
  /**
admin/views/tabs/dashboard/dashboard.php CHANGED
@@ -45,7 +45,7 @@ $wpseo_contributors_phrase = sprintf(
45
  <h3><?php esc_html_e( 'Credits', 'wordpress-seo' ); ?></h3>
46
  <p>
47
  <span class="dashicons dashicons-groups"></span>
48
- <a href="<?php WPSEO_Shortlinker::show( 'http://yoa.st/yoast-seo-credits' ); ?>"><?php echo esc_html( $wpseo_contributors_phrase ); ?></a>
49
  </p>
50
  </div>
51
 
45
  <h3><?php esc_html_e( 'Credits', 'wordpress-seo' ); ?></h3>
46
  <p>
47
  <span class="dashicons dashicons-groups"></span>
48
+ <a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/yoast-seo-credits' ); ?>"><?php echo esc_html( $wpseo_contributors_phrase ); ?></a>
49
  </p>
50
  </div>
51
 
admin/views/tabs/metas/paper-content/breadcrumbs-content.php CHANGED
@@ -105,7 +105,7 @@ unset( $taxonomies, $post_types );
105
  printf(
106
  /* translators: %1$s / %2$s: links to the breadcrumbs implementation page on the Yoast knowledgebase */
107
  esc_html__( 'Usage of this breadcrumbs feature is explained in %1$sour knowledge-base article on breadcrumbs implementation%2$s.', 'wordpress-seo' ),
108
- '<a href="' . esc_url( WPSEO_Shortlinker::get( 'http://yoa.st/breadcrumbs' ) ) . '" target="_blank">',
109
  '</a>'
110
  );
111
  ?>
105
  printf(
106
  /* translators: %1$s / %2$s: links to the breadcrumbs implementation page on the Yoast knowledgebase */
107
  esc_html__( 'Usage of this breadcrumbs feature is explained in %1$sour knowledge-base article on breadcrumbs implementation%2$s.', 'wordpress-seo' ),
108
+ '<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/breadcrumbs' ) ) . '" target="_blank">',
109
  '</a>'
110
  );
111
  ?>
admin/views/tabs/metas/paper-content/general/homepage.php CHANGED
@@ -10,7 +10,7 @@
10
  ?>
11
  <div class="tab-block">
12
  <?php
13
- if ( 'posts' === get_option( 'show_on_front' ) ) {
14
  $homepage_help = new WPSEO_Admin_Help_Panel(
15
  'search-appearance-homepage',
16
  __( 'Learn more about the homepage setting', 'wordpress-seo' ),
10
  ?>
11
  <div class="tab-block">
12
  <?php
13
+ if ( get_option( 'show_on_front' ) === 'posts' ) {
14
  $homepage_help = new WPSEO_Admin_Help_Panel(
15
  'search-appearance-homepage',
16
  __( 'Learn more about the homepage setting', 'wordpress-seo' ),
admin/views/tabs/social/facebook.php CHANGED
@@ -24,11 +24,12 @@ $yform->light_switch( 'opengraph', __( 'Add Open Graph meta data', 'wordpress-se
24
  ?>
25
  </p>
26
 
 
27
  <?php
28
 
29
  $yform->textinput( 'fbadminapp', __( 'Facebook App ID', 'wordpress-seo' ) );
30
 
31
- if ( 'posts' === get_option( 'show_on_front' ) ) {
32
  $social_facebook_frontpage_help = new WPSEO_Admin_Help_Panel(
33
  'social-facebook-frontpage',
34
  esc_html__( 'Learn more about the title separator setting', 'wordpress-seo' ),
@@ -76,7 +77,7 @@ $yform->media_input( 'og_default_image', __( 'Image URL', 'wordpress-seo' ) );
76
  <p class="desc label">
77
  <?php esc_html_e( 'This image is used if the post/page being shared does not contain any images.', 'wordpress-seo' ); ?>
78
  </p>
79
-
80
  <?php
81
 
82
  do_action( 'wpseo_admin_opengraph_section' );
24
  ?>
25
  </p>
26
 
27
+ <div id="wpseo-opengraph-settings" style="display: none;">
28
  <?php
29
 
30
  $yform->textinput( 'fbadminapp', __( 'Facebook App ID', 'wordpress-seo' ) );
31
 
32
+ if ( get_option( 'show_on_front' ) === 'posts' ) {
33
  $social_facebook_frontpage_help = new WPSEO_Admin_Help_Panel(
34
  'social-facebook-frontpage',
35
  esc_html__( 'Learn more about the title separator setting', 'wordpress-seo' ),
77
  <p class="desc label">
78
  <?php esc_html_e( 'This image is used if the post/page being shared does not contain any images.', 'wordpress-seo' ); ?>
79
  </p>
80
+ </div>
81
  <?php
82
 
83
  do_action( 'wpseo_admin_opengraph_section' );
config/composer/actions.php CHANGED
@@ -5,10 +5,11 @@
5
  * @package Yoast\YoastSEO\Composer
6
  */
7
 
8
- namespace Yoast\WP\Free\Composer;
9
 
10
  use Composer\Script\Event;
11
- use Yoast\WP\Free\Dependency_Injection\Container_Compiler;
 
12
 
13
  /**
14
  * Class to handle Composer actions and events.
@@ -30,7 +31,13 @@ class Actions {
30
  $io = $event->getIO();
31
 
32
  if ( ! $event->isDevMode() ) {
33
- $io->write( 'Not prefixing dependencies.' );
 
 
 
 
 
 
34
 
35
  return;
36
  }
@@ -55,6 +62,12 @@ class Actions {
55
  public static function compile_dependency_injection_container( Event $event ) {
56
  $io = $event->getIO();
57
 
 
 
 
 
 
 
58
  $io->write( 'Compiling the dependency injection container...' );
59
 
60
  // Pas true as debug to force a recheck of the container.
5
  * @package Yoast\YoastSEO\Composer
6
  */
7
 
8
+ namespace Yoast\WP\SEO\Composer;
9
 
10
  use Composer\Script\Event;
11
+ use Symfony\Component\DependencyInjection\ContainerBuilder;
12
+ use Yoast\WP\SEO\Dependency_Injection\Container_Compiler;
13
 
14
  /**
15
  * Class to handle Composer actions and events.
31
  $io = $event->getIO();
32
 
33
  if ( ! $event->isDevMode() ) {
34
+ $io->write( 'Not prefixing dependencies, due to not being in dev move.' );
35
+
36
+ return;
37
+ }
38
+
39
+ if ( ! \file_exists( __DIR__ . '/../../vendor/bin/php-scoper' ) ) {
40
+ $io->write( 'Not prefixing dependencies, due to PHP scoper not being installed' );
41
 
42
  return;
43
  }
62
  public static function compile_dependency_injection_container( Event $event ) {
63
  $io = $event->getIO();
64
 
65
+ if ( ! \class_exists( ContainerBuilder::class ) ) {
66
+ $io->write( 'Not compiling dependency injection container, due to the container builder not being installed' );
67
+
68
+ return;
69
+ }
70
+
71
  $io->write( 'Compiling the dependency injection container...' );
72
 
73
  // Pas true as debug to force a recheck of the container.
config/dependency-injection/container-compiler.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
- namespace Yoast\WP\Free\Dependency_Injection;
9
 
10
  use Symfony\Component\Config\ConfigCache;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -40,7 +40,7 @@ class Container_Compiler {
40
  $code = $dumper->dump(
41
  [
42
  'class' => 'Cached_Container',
43
- 'namespace' => 'Yoast\WP\Free\Generated',
44
  ]
45
  );
46
  $code = \str_replace( 'Symfony\\Component\\DependencyInjection', 'YoastSEO_Vendor\\Symfony\\Component\\DependencyInjection', $code );
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
+ namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\Config\ConfigCache;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
40
  $code = $dumper->dump(
41
  [
42
  'class' => 'Cached_Container',
43
+ 'namespace' => 'Yoast\WP\SEO\Generated',
44
  ]
45
  );
46
  $code = \str_replace( 'Symfony\\Component\\DependencyInjection', 'YoastSEO_Vendor\\Symfony\\Component\\DependencyInjection', $code );
config/dependency-injection/custom-loader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
- namespace Yoast\WP\Free\Dependency_Injection;
9
 
10
  use Symfony\Component\Config\FileLocator;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -68,7 +68,7 @@ class Custom_Loader extends PhpFileLoader {
68
  * @return void
69
  */
70
  public function registerClasses( Definition $prototype, $namespace, $resource, $exclude = null ) {
71
- if ( '\\' !== \substr( $namespace, -1 ) ) {
72
  throw new InvalidArgumentException( \sprintf( 'Namespace prefix must end with a "\\": %s.', $namespace ) );
73
  }
74
  if ( ! \preg_match( '/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+\\\\)++$/', $namespace ) ) {
@@ -87,7 +87,7 @@ class Custom_Loader extends PhpFileLoader {
87
  }
88
  else {
89
  $this->setDefinition( $class, $definition = \unserialize( $serialized_prototype ) );
90
- if ( null !== $error_message ) {
91
  $definition->addError( $error_message );
92
 
93
  continue;
@@ -149,7 +149,7 @@ class Custom_Loader extends PhpFileLoader {
149
  if ( $exclude ) {
150
  $exclude = $parameter_bag->unescapeValue( $parameter_bag->resolveValue( $exclude ) );
151
  foreach ( $this->glob( $exclude, true, $resource ) as $path => $info ) {
152
- if ( null === $exclude_prefix ) {
153
  $exclude_prefix = $resource->getPrefix();
154
  }
155
 
@@ -163,10 +163,10 @@ class Custom_Loader extends PhpFileLoader {
163
  $ext_regexp = \defined( 'HHVM_VERSION' ) ? '/\\.(?:php|hh)$/' : '/\\.php$/';
164
  $prefix_len = null;
165
  foreach ( $this->glob( $pattern, true, $resource ) as $path => $info ) {
166
- if ( null === $prefix_len ) {
167
  $prefix_len = \strlen( $resource->getPrefix() );
168
 
169
- if ( $exclude_prefix && 0 !== \strpos( $exclude_prefix, $resource->getPrefix() ) ) {
170
  throw new InvalidArgumentException( \sprintf( 'Invalid "exclude" pattern when importing classes for "%s": make sure your "exclude" pattern (%s) is a subset of the "resource" pattern (%s)', $namespace, $exclude, $pattern ) );
171
  }
172
  }
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
+ namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\Config\FileLocator;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
68
  * @return void
69
  */
70
  public function registerClasses( Definition $prototype, $namespace, $resource, $exclude = null ) {
71
+ if ( \substr( $namespace, -1 ) !== '\\' ) {
72
  throw new InvalidArgumentException( \sprintf( 'Namespace prefix must end with a "\\": %s.', $namespace ) );
73
  }
74
  if ( ! \preg_match( '/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+\\\\)++$/', $namespace ) ) {
87
  }
88
  else {
89
  $this->setDefinition( $class, $definition = \unserialize( $serialized_prototype ) );
90
+ if ( $error_message !== null ) {
91
  $definition->addError( $error_message );
92
 
93
  continue;
149
  if ( $exclude ) {
150
  $exclude = $parameter_bag->unescapeValue( $parameter_bag->resolveValue( $exclude ) );
151
  foreach ( $this->glob( $exclude, true, $resource ) as $path => $info ) {
152
+ if ( $exclude_prefix === null ) {
153
  $exclude_prefix = $resource->getPrefix();
154
  }
155
 
163
  $ext_regexp = \defined( 'HHVM_VERSION' ) ? '/\\.(?:php|hh)$/' : '/\\.php$/';
164
  $prefix_len = null;
165
  foreach ( $this->glob( $pattern, true, $resource ) as $path => $info ) {
166
+ if ( $prefix_len === null ) {
167
  $prefix_len = \strlen( $resource->getPrefix() );
168
 
169
+ if ( $exclude_prefix && \strpos( $exclude_prefix, $resource->getPrefix() ) !== 0 ) {
170
  throw new InvalidArgumentException( \sprintf( 'Invalid "exclude" pattern when importing classes for "%s": make sure your "exclude" pattern (%s) is a subset of the "resource" pattern (%s)', $namespace, $exclude, $pattern ) );
171
  }
172
  }
config/dependency-injection/loader-pass.php CHANGED
@@ -5,16 +5,16 @@
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
- namespace Yoast\WP\Free\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
12
  use Symfony\Component\DependencyInjection\Definition;
13
  use Symfony\Component\DependencyInjection\Reference;
14
- use Yoast\WP\Free\Conditionals\Conditional;
15
- use Yoast\WP\Free\Loader;
16
- use Yoast\WP\Free\WordPress\Initializer;
17
- use Yoast\WP\Free\WordPress\Integration;
18
 
19
  /**
20
  * A pass is a step in the compilation process of the container.
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
+ namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
12
  use Symfony\Component\DependencyInjection\Definition;
13
  use Symfony\Component\DependencyInjection\Reference;
14
+ use Yoast\WP\SEO\Conditionals\Conditional;
15
+ use Yoast\WP\SEO\Loader;
16
+ use Yoast\WP\SEO\WordPress\Initializer;
17
+ use Yoast\WP\SEO\WordPress\Integration;
18
 
19
  /**
20
  * A pass is a step in the compilation process of the container.
config/dependency-injection/services.php CHANGED
@@ -5,14 +5,14 @@
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
- namespace Yoast\WP\Free\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Definition;
11
- use Yoast\WP\Free\Repositories\Indexable_Repository;
12
- use Yoast\WP\Free\Repositories\Primary_Term_Repository;
13
- use Yoast\WP\Free\Repositories\SEO_Links_Repository;
14
- use Yoast\WP\Free\Repositories\SEO_Meta_Repository;
15
- use Yoast\WP\Free\WordPress\Wrapper;
16
 
17
  /* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
18
 
@@ -47,8 +47,8 @@ $base_definition
47
  ->setAutoconfigured( true )
48
  ->setPublic( false );
49
 
50
- /* @var $loader \Yoast\WP\Free\Dependency_Injection\Custom_Loader */
51
- $loader->registerClasses( $base_definition, 'Yoast\\WP\\Free\\', 'src/*', 'src/{' . $excluded . '}' );
52
 
53
  if ( \file_exists( __DIR__ . '/../../premium/config/dependency-injection/services.php' ) ) {
54
  include __DIR__ . '/../../premium/config/dependency-injection/services.php';
5
  * @package Yoast\YoastSEO\Dependency_Injection
6
  */
7
 
8
+ namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Definition;
11
+ use Yoast\WP\SEO\Repositories\Indexable_Repository;
12
+ use Yoast\WP\SEO\Repositories\Primary_Term_Repository;
13
+ use Yoast\WP\SEO\Repositories\SEO_Links_Repository;
14
+ use Yoast\WP\SEO\Repositories\SEO_Meta_Repository;
15
+ use Yoast\WP\SEO\WordPress\Wrapper;
16
 
17
  /* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
18
 
47
  ->setAutoconfigured( true )
48
  ->setPublic( false );
49
 
50
+ /* @var $loader \Yoast\WP\SEO\Dependency_Injection\Custom_Loader */
51
+ $loader->registerClasses( $base_definition, 'Yoast\\WP\\SEO\\', 'src/*', 'src/{' . $excluded . '}' );
52
 
53
  if ( \file_exists( __DIR__ . '/../../premium/config/dependency-injection/services.php' ) ) {
54
  include __DIR__ . '/../../premium/config/dependency-injection/services.php';
config/php-codeshift/remove-vendor-prefixing-array-key-visitor.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
- namespace Yoast\WP\Free\PHP_CodeShift;
9
 
10
  use PhpParser\Node;
11
  use PhpParser\Node\Expr\ArrayItem;
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
+ namespace Yoast\WP\SEO\PHP_CodeShift;
9
 
10
  use PhpParser\Node;
11
  use PhpParser\Node\Expr\ArrayItem;
config/php-codeshift/remove-vendor-prefixing-codemod.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
- namespace Yoast\WP\Free\PHP_CodeShift;
9
 
10
  use Codeshift\AbstractCodemod;
11
 
@@ -31,4 +31,4 @@ class Remove_Vendor_Prefixing_Codemod extends AbstractCodemod {
31
  }
32
  }
33
 
34
- return 'Yoast\WP\Free\PHP_CodeShift\Remove_Vendor_Prefixing_Codemod';
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
+ namespace Yoast\WP\SEO\PHP_CodeShift;
9
 
10
  use Codeshift\AbstractCodemod;
11
 
31
  }
32
  }
33
 
34
+ return 'Yoast\WP\SEO\PHP_CodeShift\Remove_Vendor_Prefixing_Codemod';
config/php-codeshift/remove-vendor-prefixing-comment-visitor.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
- namespace Yoast\WP\Free\PHP_CodeShift;
9
 
10
  use PhpParser\Comment\Doc;
11
  use PhpParser\Node;
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
+ namespace Yoast\WP\SEO\PHP_CodeShift;
9
 
10
  use PhpParser\Comment\Doc;
11
  use PhpParser\Node;
config/php-codeshift/remove-vendor-prefixing-visitor.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
- namespace Yoast\WP\Free\PHP_CodeShift;
9
 
10
  use PhpParser\Node;
11
  use PhpParser\Node\Name;
5
  * @package Yoast\YoastSEO\PHP_CodeShift
6
  */
7
 
8
+ namespace Yoast\WP\SEO\PHP_CodeShift;
9
 
10
  use PhpParser\Node;
11
  use PhpParser\Node\Name;
css/dist/{admin-global-1291-rtl.css → admin-global-1300-rtl.css} RENAMED
@@ -1 +1 @@
1
- .wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(-50%)}.yoast-tooltip-w:after{left:100%;bottom:50%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;right:100%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{left:auto;right:50%;transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-left:10px;margin-left:6px;margin-right:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-right:0;margin-left:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 100% 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;padding:0;margin-left:0;margin-right:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-right:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:left}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 6px 0 -2px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{right:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{right:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;right:160px;left:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 0 0 16px;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-left:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
1
+ .wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(-50%)}.yoast-tooltip-w:after{left:100%;bottom:50%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;right:100%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{left:auto;right:50%;transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-left:10px;margin-left:6px;margin-right:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-right:0;margin-left:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 100% 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;padding:0;margin-left:0;margin-right:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-right:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:left}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 6px 0 -2px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{right:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{right:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;right:160px;left:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 0 0 16px;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-left:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}.yoast-site-health__signature{display:flex;font-size:12px;line-height:20px;margin-top:2em;color:#707070}.yoast-site-health__inline-button.fetch-status,.yoast-site-health__signature-icon{margin-left:8px}
css/dist/{admin-global-1291.css → admin-global-1300.css} RENAMED
@@ -1 +1 @@
1
- .wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(50%)}.yoast-tooltip-w:after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{right:auto;left:50%;transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-right:10px;margin-right:6px;margin-left:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-left:0;margin-right:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 0 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;padding:0;margin-right:0;margin-left:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-left:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:right}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 -2px 0 6px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{left:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{left:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;left:160px;right:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 16px 0 0;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-right:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
1
+ .wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(50%)}.yoast-tooltip-w:after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{right:auto;left:50%;transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-right:10px;margin-right:6px;margin-left:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-left:0;margin-right:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 0 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;padding:0;margin-right:0;margin-left:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-left:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:right}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 -2px 0 6px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{left:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{left:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;left:160px;right:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 16px 0 0;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-right:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}.yoast-site-health__signature{display:flex;font-size:12px;line-height:20px;margin-top:2em;color:#707070}.yoast-site-health__inline-button.fetch-status,.yoast-site-health__signature-icon{margin-right:8px}
css/dist/{adminbar-1291-rtl.css → adminbar-1300-rtl.css} RENAMED
File without changes
css/dist/{adminbar-1291.css → adminbar-1300.css} RENAMED
File without changes
css/dist/{alerts-1291-rtl.css → alerts-1300-rtl.css} RENAMED
File without changes
css/dist/{alerts-1291.css → alerts-1300.css} RENAMED
File without changes
css/dist/{dashboard-1291-rtl.css → dashboard-1300-rtl.css} RENAMED
File without changes
css/dist/{dashboard-1291.css → dashboard-1300.css} RENAMED
File without changes
css/dist/{edit-page-1291-rtl.css → edit-page-1300-rtl.css} RENAMED
File without changes
css/dist/{edit-page-1291.css → edit-page-1300.css} RENAMED
File without changes
css/dist/{featured-image-1291-rtl.css → featured-image-1300-rtl.css} RENAMED
File without changes
css/dist/{featured-image-1291.css → featured-image-1300.css} RENAMED
File without changes
css/dist/{filter-explanation-1291-rtl.css → filter-explanation-1300-rtl.css} RENAMED
File without changes
css/dist/{filter-explanation-1291.css → filter-explanation-1300.css} RENAMED
File without changes
css/dist/{inside-editor-1291-rtl.css → inside-editor-1300-rtl.css} RENAMED
File without changes
css/dist/{inside-editor-1291.css → inside-editor-1300.css} RENAMED
File without changes
css/dist/{metabox-1291-rtl.css → metabox-1300-rtl.css} RENAMED
File without changes
css/dist/{metabox-1291.css → metabox-1300.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1291-rtl.css → metabox-primary-category-1300-rtl.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1291.css → metabox-primary-category-1300.css} RENAMED
File without changes
css/dist/{search-appearance-1291-rtl.css → search-appearance-1300-rtl.css} RENAMED
File without changes
css/dist/{search-appearance-1291.css → search-appearance-1300.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1291-rtl.css → structured-data-blocks-1300-rtl.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1291.css → structured-data-blocks-1300.css} RENAMED
File without changes
css/dist/{toggle-switch-1291-rtl.css → toggle-switch-1300-rtl.css} RENAMED
File without changes
css/dist/{toggle-switch-1291.css → toggle-switch-1300.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1291-rtl.css → wpseo-dismissible-1300-rtl.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1291.css → wpseo-dismissible-1300.css} RENAMED
File without changes
css/dist/{yoast-components-1291-rtl.css → yoast-components-1300-rtl.css} RENAMED
File without changes
css/dist/{yoast-components-1291.css → yoast-components-1300.css} RENAMED
File without changes
css/dist/{yoast-extensions-1291-rtl.css → yoast-extensions-1300-rtl.css} RENAMED
File without changes
css/dist/{yoast-extensions-1291.css → yoast-extensions-1300.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1291-rtl.css → yst_plugin_tools-1300-rtl.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1291.css → yst_plugin_tools-1300.css} RENAMED
File without changes
css/dist/{yst_seo_score-1291-rtl.css → yst_seo_score-1300-rtl.css} RENAMED
File without changes
css/dist/{yst_seo_score-1291.css → yst_seo_score-1300.css} RENAMED
File without changes
frontend/class-frontend.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package WPSEO\Frontend
6
  */
7
 
8
- use Yoast\WP\Free\Helpers\Author_Archive_Helper;
9
 
10
  /**
11
  * Main frontend class for Yoast SEO, responsible for the SEO output as well as removing
@@ -23,7 +23,7 @@ class WPSEO_Frontend {
23
  /**
24
  * Toggle indicating whether output buffering has been started.
25
  *
26
- * @var boolean
27
  */
28
  private $ob_started = false;
29
 
@@ -735,7 +735,7 @@ class WPSEO_Frontend {
735
  if ( WPSEO_Options::get( 'noindex-author-wpseo', false ) ) {
736
  $robots['index'] = 'noindex';
737
  }
738
- $curauth = $wp_query->get_queried_object();
739
  $author_archive = new Author_Archive_Helper();
740
  $user_has_posts = ( (int) count_user_posts( $curauth->ID, $author_archive->get_author_archive_post_types(), true ) ) > 0;
741
  if ( WPSEO_Options::get( 'noindex-author-noposts-wpseo', false ) && ! $user_has_posts ) {
5
  * @package WPSEO\Frontend
6
  */
7
 
8
+ use Yoast\WP\SEO\Helpers\Author_Archive_Helper;
9
 
10
  /**
11
  * Main frontend class for Yoast SEO, responsible for the SEO output as well as removing
23
  /**
24
  * Toggle indicating whether output buffering has been started.
25
  *
26
+ * @var bool
27
  */
28
  private $ob_started = false;
29
 
735
  if ( WPSEO_Options::get( 'noindex-author-wpseo', false ) ) {
736
  $robots['index'] = 'noindex';
737
  }
738
+ $curauth = $wp_query->get_queried_object();
739
  $author_archive = new Author_Archive_Helper();
740
  $user_has_posts = ( (int) count_user_posts( $curauth->ID, $author_archive->get_author_archive_post_types(), true ) ) > 0;
741
  if ( WPSEO_Options::get( 'noindex-author-noposts-wpseo', false ) && ! $user_has_posts ) {
frontend/schema/class-schema-context.php CHANGED
@@ -159,7 +159,7 @@ class WPSEO_Schema_Context {
159
  * @return string
160
  */
161
  private function set_site_name() {
162
- if ( '' !== WPSEO_Options::get( 'website_name', '' ) ) {
163
  return WPSEO_Options::get( 'website_name' );
164
  }
165
 
159
  * @return string
160
  */
161
  private function set_site_name() {
162
+ if ( WPSEO_Options::get( 'website_name', '' ) !== '' ) {
163
  return WPSEO_Options::get( 'website_name' );
164
  }
165
 
frontend/schema/class-schema-website.php CHANGED
@@ -76,7 +76,7 @@ class WPSEO_Schema_Website implements WPSEO_Graph_Piece {
76
  * @return array $data
77
  */
78
  private function add_alternate_name( $data ) {
79
- if ( '' !== WPSEO_Options::get( 'alternate_website_name', '' ) ) {
80
  $data['alternateName'] = WPSEO_Options::get( 'alternate_website_name' );
81
  }
82
 
76
  * @return array $data
77
  */
78
  private function add_alternate_name( $data ) {
79
+ if ( WPSEO_Options::get( 'alternate_website_name', '' ) !== '' ) {
80
  $data['alternateName'] = WPSEO_Options::get( 'alternate_website_name' );
81
  }
82
 
inc/class-post-type.php CHANGED
@@ -59,7 +59,7 @@ class WPSEO_Post_Type {
59
  return false;
60
  }
61
 
62
- return ( false === WPSEO_Options::get( 'noindex-' . $post_type_name, false ) );
63
  }
64
 
65
  /**
@@ -85,7 +85,7 @@ class WPSEO_Post_Type {
85
  public static function is_rest_enabled( $post_type ) {
86
  $post_type_object = get_post_type_object( $post_type );
87
 
88
- if ( null === $post_type_object ) {
89
  return false;
90
  }
91
 
59
  return false;
60
  }
61
 
62
+ return ( WPSEO_Options::get( 'noindex-' . $post_type_name, false ) === false );
63
  }
64
 
65
  /**
85
  public static function is_rest_enabled( $post_type ) {
86
  $post_type_object = get_post_type_object( $post_type );
87
 
88
+ if ( $post_type_object === null ) {
89
  return false;
90
  }
91
 
inc/class-rewrite.php CHANGED
@@ -72,7 +72,7 @@ class WPSEO_Rewrite {
72
  * Remove initial slash, if there is one (we remove the trailing slash
73
  * in the regex replacement and don't want to end up short a slash).
74
  */
75
- if ( '/' === substr( $category_base, 0, 1 ) ) {
76
  $category_base = substr( $category_base, 1 );
77
  }
78
 
@@ -125,7 +125,7 @@ class WPSEO_Rewrite {
125
  $permalink_structure = get_option( 'permalink_structure' );
126
 
127
  $blog_prefix = '';
128
- if ( is_multisite() && ! is_subdomain_install() && is_main_site() && 0 === strpos( $permalink_structure, '/blog/' ) ) {
129
  $blog_prefix = 'blog/';
130
  }
131
 
72
  * Remove initial slash, if there is one (we remove the trailing slash
73
  * in the regex replacement and don't want to end up short a slash).
74
  */
75
+ if ( substr( $category_base, 0, 1 ) === '/' ) {
76
  $category_base = substr( $category_base, 1 );
77
  }
78
 
125
  $permalink_structure = get_option( 'permalink_structure' );
126
 
127
  $blog_prefix = '';
128
+ if ( is_multisite() && ! is_subdomain_install() && is_main_site() && strpos( $permalink_structure, '/blog/' ) === 0 ) {
129
  $blog_prefix = 'blog/';
130
  }
131
 
inc/class-upgrade-history.php CHANGED
@@ -53,7 +53,7 @@ class WPSEO_Upgrade_History {
53
  */
54
  public function add( $old_version, $new_version, array $option_names ) {
55
  $option_data = [];
56
- if ( [] !== $option_names ) {
57
  $option_data = $this->get_options_data( $option_names );
58
  }
59
 
53
  */
54
  public function add( $old_version, $new_version, array $option_names ) {
55
  $option_data = [];
56
+ if ( $option_names !== [] ) {
57
  $option_data = $this->get_options_data( $option_names );
58
  }
59
 
inc/class-wpseo-meta.php CHANGED
@@ -249,7 +249,7 @@ class WPSEO_Meta {
249
  public static function init() {
250
 
251
  foreach ( self::$social_networks as $option => $network ) {
252
- if ( true === WPSEO_Options::get( $option, false ) ) {
253
  foreach ( self::$social_fields as $box => $type ) {
254
  self::$meta_fields['social'][ $network . '-' . $box ] = [
255
  'type' => $type,
@@ -455,7 +455,7 @@ class WPSEO_Meta {
455
  }
456
  break;
457
 
458
- case ( 'multiselect' === $field_def['type'] ):
459
  $clean = $meta_value;
460
  break;
461
 
249
  public static function init() {
250
 
251
  foreach ( self::$social_networks as $option => $network ) {
252
+ if ( WPSEO_Options::get( $option, false ) === true ) {
253
  foreach ( self::$social_fields as $box => $type ) {
254
  self::$meta_fields['social'][ $network . '-' . $box ] = [
255
  'type' => $type,
455
  }
456
  break;
457
 
458
+ case ( $field_def['type'] === 'multiselect' ):
459
  $clean = $meta_value;
460
  break;
461
 
inc/class-wpseo-replace-vars.php CHANGED
@@ -70,8 +70,6 @@ class WPSEO_Replace_Vars {
70
 
71
  /**
72
  * Constructor.
73
- *
74
- * @return \WPSEO_Replace_Vars
75
  */
76
  public function __construct() {
77
  $this->date = new WPSEO_Date_Helper();
@@ -394,7 +392,7 @@ class WPSEO_Replace_Vars {
394
  $replacement = null;
395
 
396
  if ( ! isset( $replacement ) && ( ( is_singular() || is_admin() ) && isset( $GLOBALS['post'] ) ) ) {
397
- if ( isset( $GLOBALS['post']->post_parent ) && 0 !== $GLOBALS['post']->post_parent ) {
398
  $replacement = get_the_title( $GLOBALS['post']->post_parent );
399
  }
400
  }
70
 
71
  /**
72
  * Constructor.
 
 
73
  */
74
  public function __construct() {
75
  $this->date = new WPSEO_Date_Helper();
392
  $replacement = null;
393
 
394
  if ( ! isset( $replacement ) && ( ( is_singular() || is_admin() ) && isset( $GLOBALS['post'] ) ) ) {
395
+ if ( isset( $GLOBALS['post']->post_parent ) && $GLOBALS['post']->post_parent !== 0 ) {
396
  $replacement = get_the_title( $GLOBALS['post']->post_parent );
397
  }
398
  }
inc/class-wpseo-utils.php CHANGED
@@ -833,7 +833,7 @@ class WPSEO_Utils {
833
  if ( defined( 'WPSEO_DEBUG' ) ) {
834
  $development_mode = WPSEO_DEBUG;
835
  }
836
- elseif ( site_url() && false === strpos( site_url(), '.' ) ) {
837
  $development_mode = true;
838
  }
839
 
@@ -867,7 +867,7 @@ class WPSEO_Utils {
867
 
868
  $home_path = wp_parse_url( $home_url, PHP_URL_PATH );
869
 
870
- if ( '/' === $home_path ) { // Home at site root, already slashed.
871
  return $home_url;
872
  }
873
 
833
  if ( defined( 'WPSEO_DEBUG' ) ) {
834
  $development_mode = WPSEO_DEBUG;
835
  }
836
+ elseif ( site_url() && strpos( site_url(), '.' ) === false ) {
837
  $development_mode = true;
838
  }
839
 
867
 
868
  $home_path = wp_parse_url( $home_url, PHP_URL_PATH );
869
 
870
+ if ( $home_path === '/' ) { // Home at site root, already slashed.
871
  return $home_url;
872
  }
873
 
inc/health-check-page-comments.php CHANGED
@@ -22,25 +22,29 @@ class WPSEO_Health_Check_Page_Comments extends WPSEO_Health_Check {
22
  */
23
  public function run() {
24
  if ( ! $this->has_page_comments() ) {
 
 
 
 
 
25
  return;
26
  }
27
 
28
- $this->label = esc_html__( 'Paging comments enabled', 'wordpress-seo' );
29
  $this->status = self::STATUS_RECOMMENDED;
30
  $this->badge['color'] = 'red';
31
-
32
- $this->description = esc_html__( 'Paging comments is enabled. As this is not needed in 999 out of 1000 cases, we recommend you disable it.', 'wordpress-seo' );
33
- $this->description .= '<br />';
34
- $this->description .= sprintf(
35
- /* translators: %1$s resolves to the opening tag of the link to the comment setting page, %2$s resolves to the closing tag of the link */
36
- esc_html__( 'To fix this, uncheck the box in front of the "Break comments into pages..." on the %1$sComment settings page%2$s.', 'wordpress-seo' ),
 
 
37
  '<a href="' . esc_url( admin_url( 'options-discussion.php' ) ) . '">',
38
  '</a>'
39
  );
40
-
41
- $this->actions = '<a href="' . esc_url( admin_url( 'options-discussion.php' ) ) . '">';
42
- $this->actions .= esc_html__( 'Go to the comment settings page', 'wordpress-seo' );
43
- $this->actions .= '</a>';
44
  }
45
 
46
  /**
22
  */
23
  public function run() {
24
  if ( ! $this->has_page_comments() ) {
25
+ $this->label = esc_html__( 'Paging comments is properly disabled', 'wordpress-seo' );
26
+ $this->status = self::STATUS_GOOD;
27
+ $this->badge['color'] = 'blue';
28
+ $this->description = esc_html__( 'Paging comments is disabled. As this is not needed in 999 out of 1000 cases, we recommend to keep it disabled.', 'wordpress-seo' );
29
+ $this->add_yoast_signature();
30
  return;
31
  }
32
 
33
+ $this->label = esc_html__( 'Paging comments is enabled', 'wordpress-seo' );
34
  $this->status = self::STATUS_RECOMMENDED;
35
  $this->badge['color'] = 'red';
36
+ $this->description = esc_html__(
37
+ 'Paging comments is enabled. As this is not needed in 999 out of 1000 cases, we recommend you disable it.
38
+ To fix this, uncheck the box in front of "Break comments into pages..." on the Discussion Settings page.',
39
+ 'wordpress-seo'
40
+ );
41
+ $this->actions = sprintf(
42
+ /* translators: 1: Opening tag of the link to the discussion settings page, 2: Link closing tag. */
43
+ esc_html__( '%1$sGo to the Discussion Settings page%2$s', 'wordpress-seo' ),
44
  '<a href="' . esc_url( admin_url( 'options-discussion.php' ) ) . '">',
45
  '</a>'
46
  );
47
+ $this->add_yoast_signature();
 
 
 
48
  }
49
 
50
  /**
inc/health-check.php CHANGED
@@ -147,6 +147,7 @@ abstract class WPSEO_Health_Check {
147
  'badge' => $this->get_badge(),
148
  'description' => $this->description,
149
  'actions' => $this->actions,
 
150
  ];
151
  }
152
 
@@ -196,4 +197,17 @@ abstract class WPSEO_Health_Check {
196
  protected function is_async() {
197
  return ! empty( $this->async );
198
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  }
147
  'badge' => $this->get_badge(),
148
  'description' => $this->description,
149
  'actions' => $this->actions,
150
+ 'test' => $this->test,
151
  ];
152
  }
153
 
197
  protected function is_async() {
198
  return ! empty( $this->async );
199
  }
200
+
201
+ /**
202
+ * Adds a text to the bottom of the Site Health check to indicate it is a Yoast SEO Site Health Check.
203
+ */
204
+ protected function add_yoast_signature() {
205
+ $this->actions .= sprintf(
206
+ /* translators: 1: Start of a paragraph beginning with the Yoast icon, 2: Expands to 'Yoast SEO', 3: Paragraph closing tag. */
207
+ esc_html__( '%1$sThis was reported by the %2$s plugin%3$s', 'wordpress-seo' ),
208
+ '<p class="yoast-site-health__signature"><img src="' . esc_url( plugin_dir_url( WPSEO_FILE ) . 'images/Yoast_SEO_Icon.svg' ) . '" alt="" height="20" width="20" class="yoast-site-health__signature-icon">',
209
+ 'Yoast SEO',
210
+ '</p>'
211
+ );
212
+ }
213
  }
inc/options/class-wpseo-option-titles.php CHANGED
@@ -243,7 +243,7 @@ class WPSEO_Option_Titles extends WPSEO_Option {
243
  */
244
  public function enrich_defaults() {
245
  $enriched_defaults = $this->enriched_defaults;
246
- if ( null !== $enriched_defaults ) {
247
  $this->defaults += $enriched_defaults;
248
  return;
249
  }
243
  */
244
  public function enrich_defaults() {
245
  $enriched_defaults = $this->enriched_defaults;
246
+ if ( $enriched_defaults !== null ) {
247
  $this->defaults += $enriched_defaults;
248
  return;
249
  }
inc/options/class-wpseo-options.php CHANGED
@@ -11,6 +11,7 @@
11
  * Instantiates all the options and offers a number of utility methods to work with the options.
12
  */
13
  class WPSEO_Options {
 
14
  /**
15
  * The option values.
16
  *
@@ -587,6 +588,7 @@ class WPSEO_Options {
587
  * Fills our option cache.
588
  *
589
  * @deprecated 12.8.1
 
590
  */
591
  public static function fill_cache() {
592
  _deprecated_function( __METHOD__, 'WPSEO 12.8.1', '::clear_cache' );
11
  * Instantiates all the options and offers a number of utility methods to work with the options.
12
  */
13
  class WPSEO_Options {
14
+
15
  /**
16
  * The option values.
17
  *
588
  * Fills our option cache.
589
  *
590
  * @deprecated 12.8.1
591
+ * @codeCoverageIgnore
592
  */
593
  public static function fill_cache() {
594
  _deprecated_function( __METHOD__, 'WPSEO 12.8.1', '::clear_cache' );
inc/options/class-wpseo-taxonomy-meta.php CHANGED
@@ -94,8 +94,6 @@ class WPSEO_Taxonomy_Meta extends WPSEO_Option {
94
  * @todo [JRF => testers] Check if the extra actions below would run into problems if an option
95
  * is updated early on and if so, change the call to schedule these for a later action on add/update
96
  * instead of running them straight away.
97
- *
98
- * @return \WPSEO_Taxonomy_Meta
99
  */
100
  protected function __construct() {
101
  parent::__construct();
@@ -334,7 +332,7 @@ class WPSEO_Taxonomy_Meta extends WPSEO_Option {
334
  $clean[ $key ] = WPSEO_Utils::sanitize_text_field( $meta_data[ $key ] );
335
  }
336
 
337
- if ( 'wpseo_focuskw' === $key ) {
338
  $search = [
339
  '&lt;',
340
  '&gt;',
94
  * @todo [JRF => testers] Check if the extra actions below would run into problems if an option
95
  * is updated early on and if so, change the call to schedule these for a later action on add/update
96
  * instead of running them straight away.
 
 
97
  */
98
  protected function __construct() {
99
  parent::__construct();
332
  $clean[ $key ] = WPSEO_Utils::sanitize_text_field( $meta_data[ $key ] );
333
  }
334
 
335
+ if ( $key === 'wpseo_focuskw' ) {
336
  $search = [
337
  '&lt;',
338
  '&gt;',
inc/sitemaps/class-author-sitemap-provider.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package WPSEO\XML_Sitemaps
6
  */
7
 
8
- use Yoast\WP\Free\Helpers\Author_Archive_Helper;
9
 
10
  /**
11
  * Sitemap provider for author archives.
5
  * @package WPSEO\XML_Sitemaps
6
  */
7
 
8
+ use Yoast\WP\SEO\Helpers\Author_Archive_Helper;
9
 
10
  /**
11
  * Sitemap provider for author archives.
inc/sitemaps/class-post-type-sitemap-provider.php CHANGED
@@ -574,7 +574,7 @@ class WPSEO_Post_Type_Sitemap_Provider implements WPSEO_Sitemap_Provider {
574
  $status_where = "{$wpdb->posts}.post_status IN ('" . implode( "','", $post_statuses ) . "')";
575
 
576
  // Based on WP_Query->get_posts(). R.
577
- if ( 'attachment' === $post_type ) {
578
  $join = " LEFT JOIN {$wpdb->posts} AS p2 ON ({$wpdb->posts}.post_parent = p2.ID) ";
579
  $parent_statuses = array_diff( $post_statuses, [ 'inherit' ] );
580
  $status_where = "p2.post_status IN ('" . implode( "','", $parent_statuses ) . "') AND p2.post_password = ''";
574
  $status_where = "{$wpdb->posts}.post_status IN ('" . implode( "','", $post_statuses ) . "')";
575
 
576
  // Based on WP_Query->get_posts(). R.
577
+ if ( $post_type === 'attachment' ) {
578
  $join = " LEFT JOIN {$wpdb->posts} AS p2 ON ({$wpdb->posts}.post_parent = p2.ID) ";
579
  $parent_statuses = array_diff( $post_statuses, [ 'inherit' ] );
580
  $status_where = "p2.post_status IN ('" . implode( "','", $parent_statuses ) . "') AND p2.post_password = ''";
inc/sitemaps/class-sitemap-image-parser.php CHANGED
@@ -111,7 +111,7 @@ class WPSEO_Sitemap_Image_Parser {
111
  $images[] = $this->get_image_item( $post, $src, $attachment->post_title, $alt );
112
  }
113
 
114
- if ( 'attachment' === $post->post_type && wp_attachment_is_image( $post ) ) {
115
 
116
  $src = $this->get_absolute_url( $this->image_url( $post->ID ) );
117
  $alt = WPSEO_Image_Utils::get_alt_tag( $post->ID );
@@ -201,7 +201,7 @@ class WPSEO_Sitemap_Image_Parser {
201
 
202
  if ( // This detects WP-inserted images, which we need to upsize. R.
203
  ! empty( $class )
204
- && false === strpos( $class, 'size-full' )
205
  && preg_match( '|wp-image-(?P<id>\d+)|', $class, $matches )
206
  && get_post_status( $matches['id'] )
207
  ) {
@@ -283,7 +283,7 @@ class WPSEO_Sitemap_Image_Parser {
283
 
284
  $attributes = shortcode_parse_atts( $shortcode[3] );
285
 
286
- if ( '' === $attributes ) { // Valid shortcode without any attributes. R.
287
  $attributes = [];
288
  }
289
 
@@ -354,7 +354,7 @@ class WPSEO_Sitemap_Image_Parser {
354
  $uploads = wp_upload_dir();
355
  }
356
 
357
- if ( false !== $uploads['error'] ) {
358
  return '';
359
  }
360
 
@@ -365,10 +365,10 @@ class WPSEO_Sitemap_Image_Parser {
365
  }
366
 
367
  // Check that the upload base exists in the file location.
368
- if ( 0 === strpos( $file, $uploads['basedir'] ) ) {
369
  $src = str_replace( $uploads['basedir'], $uploads['baseurl'], $file );
370
  }
371
- elseif ( false !== strpos( $file, 'wp-content/uploads' ) ) {
372
  $src = $uploads['baseurl'] . substr( $file, ( strpos( $file, 'wp-content/uploads' ) + 18 ) );
373
  }
374
  else {
111
  $images[] = $this->get_image_item( $post, $src, $attachment->post_title, $alt );
112
  }
113
 
114
+ if ( $post->post_type === 'attachment' && wp_attachment_is_image( $post ) ) {
115
 
116
  $src = $this->get_absolute_url( $this->image_url( $post->ID ) );
117
  $alt = WPSEO_Image_Utils::get_alt_tag( $post->ID );
201
 
202
  if ( // This detects WP-inserted images, which we need to upsize. R.
203
  ! empty( $class )
204
+ && ( false === strpos( $class, 'size-full' ) )
205
  && preg_match( '|wp-image-(?P<id>\d+)|', $class, $matches )
206
  && get_post_status( $matches['id'] )
207
  ) {
283
 
284
  $attributes = shortcode_parse_atts( $shortcode[3] );
285
 
286
+ if ( $attributes === '' ) { // Valid shortcode without any attributes. R.
287
  $attributes = [];
288
  }
289
 
354
  $uploads = wp_upload_dir();
355
  }
356
 
357
+ if ( $uploads['error'] !== false ) {
358
  return '';
359
  }
360
 
365
  }
366
 
367
  // Check that the upload base exists in the file location.
368
+