Yoast SEO - Version 16.1.1

Version Description

Release Date: April 6th, 2021

Bugfixes:

  • Fixes a bug where a fatal error would be thrown when creating a new Elementor template or editing an existing one.
Download this release

Release Info

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

Code changes from version 16.1 to 16.1.1

Files changed (104) hide show
  1. css/dist/{admin-global-1610-rtl.css → admin-global-1611-rtl.css} +0 -0
  2. css/dist/{admin-global-1610.css → admin-global-1611.css} +0 -0
  3. css/dist/{adminbar-1610-rtl.css → adminbar-1611-rtl.css} +0 -0
  4. css/dist/{adminbar-1610.css → adminbar-1611.css} +0 -0
  5. css/dist/{alerts-1610-rtl.css → alerts-1611-rtl.css} +0 -0
  6. css/dist/{alerts-1610.css → alerts-1611.css} +0 -0
  7. css/dist/{badge-1610-rtl.css → badge-1611-rtl.css} +0 -0
  8. css/dist/{badge-1610.css → badge-1611.css} +0 -0
  9. css/dist/{dashboard-1610-rtl.css → dashboard-1611-rtl.css} +0 -0
  10. css/dist/{dashboard-1610.css → dashboard-1611.css} +0 -0
  11. css/dist/{edit-page-1610-rtl.css → edit-page-1611-rtl.css} +0 -0
  12. css/dist/{edit-page-1610.css → edit-page-1611.css} +0 -0
  13. css/dist/{elementor-1610-rtl.css → elementor-1611-rtl.css} +0 -0
  14. css/dist/{elementor-1610.css → elementor-1611.css} +0 -0
  15. css/dist/{featured-image-1610-rtl.css → featured-image-1611-rtl.css} +0 -0
  16. css/dist/{featured-image-1610.css → featured-image-1611.css} +0 -0
  17. css/dist/{filter-explanation-1610-rtl.css → filter-explanation-1611-rtl.css} +0 -0
  18. css/dist/{filter-explanation-1610.css → filter-explanation-1611.css} +0 -0
  19. css/dist/{icons-1610-rtl.css → icons-1611-rtl.css} +0 -0
  20. css/dist/{icons-1610.css → icons-1611.css} +0 -0
  21. css/dist/{inside-editor-1610-rtl.css → inside-editor-1611-rtl.css} +0 -0
  22. css/dist/{inside-editor-1610.css → inside-editor-1611.css} +0 -0
  23. css/dist/{metabox-1610-rtl.css → metabox-1611-rtl.css} +0 -0
  24. css/dist/{metabox-1610.css → metabox-1611.css} +0 -0
  25. css/dist/{metabox-primary-category-1610-rtl.css → metabox-primary-category-1611-rtl.css} +0 -0
  26. css/dist/{metabox-primary-category-1610.css → metabox-primary-category-1611.css} +0 -0
  27. css/dist/{modal-1610-rtl.css → modal-1611-rtl.css} +0 -0
  28. css/dist/{modal-1610.css → modal-1611.css} +0 -0
  29. css/dist/{monorepo-1610-rtl.css → monorepo-1611-rtl.css} +0 -0
  30. css/dist/{monorepo-1610.css → monorepo-1611.css} +0 -0
  31. css/dist/{notifications-1610-rtl.css → notifications-1611-rtl.css} +0 -0
  32. css/dist/{notifications-1610.css → notifications-1611.css} +0 -0
  33. css/dist/{schema-blocks-1610-rtl.css → schema-blocks-1611-rtl.css} +0 -0
  34. css/dist/{schema-blocks-1610.css → schema-blocks-1611.css} +0 -0
  35. css/dist/{score_icon-1610-rtl.css → score_icon-1611-rtl.css} +0 -0
  36. css/dist/{score_icon-1610.css → score_icon-1611.css} +0 -0
  37. css/dist/{search-appearance-1610-rtl.css → search-appearance-1611-rtl.css} +0 -0
  38. css/dist/{search-appearance-1610.css → search-appearance-1611.css} +0 -0
  39. css/dist/{structured-data-blocks-1610-rtl.css → structured-data-blocks-1611-rtl.css} +0 -0
  40. css/dist/{structured-data-blocks-1610.css → structured-data-blocks-1611.css} +0 -0
  41. css/dist/{toggle-switch-1610-rtl.css → toggle-switch-1611-rtl.css} +0 -0
  42. css/dist/{toggle-switch-1610.css → toggle-switch-1611.css} +0 -0
  43. css/dist/{wpseo-dismissible-1610-rtl.css → wpseo-dismissible-1611-rtl.css} +0 -0
  44. css/dist/{wpseo-dismissible-1610.css → wpseo-dismissible-1611.css} +0 -0
  45. css/dist/{yoast-components-1610-rtl.css → yoast-components-1611-rtl.css} +0 -0
  46. css/dist/{yoast-components-1610.css → yoast-components-1611.css} +0 -0
  47. css/dist/{yoast-extensions-1610-rtl.css → yoast-extensions-1611-rtl.css} +0 -0
  48. css/dist/{yoast-extensions-1610.css → yoast-extensions-1611.css} +0 -0
  49. css/dist/{yst_plugin_tools-1610-rtl.css → yst_plugin_tools-1611-rtl.css} +0 -0
  50. css/dist/{yst_plugin_tools-1610.css → yst_plugin_tools-1611.css} +0 -0
  51. css/dist/{yst_seo_score-1610-rtl.css → yst_seo_score-1611-rtl.css} +0 -0
  52. css/dist/{yst_seo_score-1610.css → yst_seo_score-1611.css} +0 -0
  53. js/dist/{admin-global-1610.js → admin-global-1611.js} +0 -0
  54. js/dist/{analysis-1610.js → analysis-1611.js} +0 -0
  55. js/dist/{analysis-worker-1610.js → analysis-worker-1611.js} +0 -0
  56. js/dist/{api-client-1610.js → api-client-1611.js} +0 -0
  57. js/dist/{babel-polyfill-1610.js → babel-polyfill-1611.js} +0 -0
  58. js/dist/{block-editor-1610.js → block-editor-1611.js} +0 -0
  59. js/dist/{bulk-editor-1610.js → bulk-editor-1611.js} +0 -0
  60. js/dist/{classic-editor-1610.js → classic-editor-1611.js} +0 -0
  61. js/dist/{commons-1610.js → commons-1611.js} +0 -0
  62. js/dist/{configuration-wizard-1610.js → configuration-wizard-1611.js} +0 -0
  63. js/dist/{dashboard-widget-1610.js → dashboard-widget-1611.js} +0 -0
  64. js/dist/{draft-js-1610.js → draft-js-1611.js} +0 -0
  65. js/dist/{dynamic-blocks-1610.js → dynamic-blocks-1611.js} +0 -0
  66. js/dist/{edit-page-1610.js → edit-page-1611.js} +0 -0
  67. js/dist/{editor-modules-1610.js → editor-modules-1611.js} +0 -0
  68. js/dist/{elementor-1610.js → elementor-1611.js} +0 -0
  69. js/dist/{filter-explanation-1610.js → filter-explanation-1611.js} +0 -0
  70. js/dist/{help-scout-beacon-1610.js → help-scout-beacon-1611.js} +0 -0
  71. js/dist/{indexation-1610.js → indexation-1611.js} +0 -0
  72. js/dist/{jed-1610.js → jed-1611.js} +0 -0
  73. js/dist/{network-admin-1610.js → network-admin-1611.js} +0 -0
  74. js/dist/{post-edit-1610.js → post-edit-1611.js} +0 -0
  75. js/dist/{quick-edit-handler-1610.js → quick-edit-handler-1611.js} +0 -0
  76. js/dist/{redux-1610.js → redux-1611.js} +0 -0
  77. js/dist/{reindex-links-1610.js → reindex-links-1611.js} +0 -0
  78. js/dist/{schema-blocks-1610.js → schema-blocks-1611.js} +0 -0
  79. js/dist/{settings-1610.js → settings-1611.js} +0 -0
  80. js/dist/{structured-data-blocks-1610.js → structured-data-blocks-1611.js} +0 -0
  81. js/dist/{styled-components-1610.js → styled-components-1611.js} +0 -0
  82. js/dist/{term-edit-1610.js → term-edit-1611.js} +0 -0
  83. js/dist/{used-keywords-assessment-1610.js → used-keywords-assessment-1611.js} +0 -0
  84. js/dist/yoast/{analysis-report-1610.js → analysis-report-1611.js} +0 -0
  85. js/dist/yoast/{components-1610.js → components-1611.js} +0 -0
  86. js/dist/yoast/{configuration-wizard-1610.js → configuration-wizard-1611.js} +0 -0
  87. js/dist/yoast/{feature-flag-1610.js → feature-flag-1611.js} +0 -0
  88. js/dist/yoast/{helpers-1610.js → helpers-1611.js} +0 -0
  89. js/dist/yoast/{replacement-variable-editor-1610.js → replacement-variable-editor-1611.js} +0 -0
  90. js/dist/yoast/{schema-blocks-1610.js → schema-blocks-1611.js} +0 -0
  91. js/dist/yoast/{search-metadata-previews-1610.js → search-metadata-previews-1611.js} +0 -0
  92. js/dist/yoast/{social-metadata-forms-1610.js → social-metadata-forms-1611.js} +0 -0
  93. js/dist/yoast/{style-guide-1610.js → style-guide-1611.js} +0 -0
  94. js/dist/yoast/{yoast-components-1610.js → yoast-components-1611.js} +0 -0
  95. readme.txt +8 -1
  96. src/builders/indexable-post-builder.php +1 -1
  97. src/generated/container.php +1 -1
  98. src/helpers/post-type-helper.php +11 -0
  99. src/integrations/watchers/indexable-ancestor-watcher.php +22 -4
  100. vendor/autoload.php +1 -1
  101. vendor/composer/autoload_real.php +4 -4
  102. vendor/composer/autoload_static.php +4 -4
  103. wp-seo-main.php +1 -1
  104. wp-seo.php +1 -1
css/dist/{admin-global-1610-rtl.css → admin-global-1611-rtl.css} RENAMED
File without changes
css/dist/{admin-global-1610.css → admin-global-1611.css} RENAMED
File without changes
css/dist/{adminbar-1610-rtl.css → adminbar-1611-rtl.css} RENAMED
File without changes
css/dist/{adminbar-1610.css → adminbar-1611.css} RENAMED
File without changes
css/dist/{alerts-1610-rtl.css → alerts-1611-rtl.css} RENAMED
File without changes
css/dist/{alerts-1610.css → alerts-1611.css} RENAMED
File without changes
css/dist/{badge-1610-rtl.css → badge-1611-rtl.css} RENAMED
File without changes
css/dist/{badge-1610.css → badge-1611.css} RENAMED
File without changes
css/dist/{dashboard-1610-rtl.css → dashboard-1611-rtl.css} RENAMED
File without changes
css/dist/{dashboard-1610.css → dashboard-1611.css} RENAMED
File without changes
css/dist/{edit-page-1610-rtl.css → edit-page-1611-rtl.css} RENAMED
File without changes
css/dist/{edit-page-1610.css → edit-page-1611.css} RENAMED
File without changes
css/dist/{elementor-1610-rtl.css → elementor-1611-rtl.css} RENAMED
File without changes
css/dist/{elementor-1610.css → elementor-1611.css} RENAMED
File without changes
css/dist/{featured-image-1610-rtl.css → featured-image-1611-rtl.css} RENAMED
File without changes
css/dist/{featured-image-1610.css → featured-image-1611.css} RENAMED
File without changes
css/dist/{filter-explanation-1610-rtl.css → filter-explanation-1611-rtl.css} RENAMED
File without changes
css/dist/{filter-explanation-1610.css → filter-explanation-1611.css} RENAMED
File without changes
css/dist/{icons-1610-rtl.css → icons-1611-rtl.css} RENAMED
File without changes
css/dist/{icons-1610.css → icons-1611.css} RENAMED
File without changes
css/dist/{inside-editor-1610-rtl.css → inside-editor-1611-rtl.css} RENAMED
File without changes
css/dist/{inside-editor-1610.css → inside-editor-1611.css} RENAMED
File without changes
css/dist/{metabox-1610-rtl.css → metabox-1611-rtl.css} RENAMED
File without changes
css/dist/{metabox-1610.css → metabox-1611.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1610-rtl.css → metabox-primary-category-1611-rtl.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1610.css → metabox-primary-category-1611.css} RENAMED
File without changes
css/dist/{modal-1610-rtl.css → modal-1611-rtl.css} RENAMED
File without changes
css/dist/{modal-1610.css → modal-1611.css} RENAMED
File without changes
css/dist/{monorepo-1610-rtl.css → monorepo-1611-rtl.css} RENAMED
File without changes
css/dist/{monorepo-1610.css → monorepo-1611.css} RENAMED
File without changes
css/dist/{notifications-1610-rtl.css → notifications-1611-rtl.css} RENAMED
File without changes
css/dist/{notifications-1610.css → notifications-1611.css} RENAMED
File without changes
css/dist/{schema-blocks-1610-rtl.css → schema-blocks-1611-rtl.css} RENAMED
File without changes
css/dist/{schema-blocks-1610.css → schema-blocks-1611.css} RENAMED
File without changes
css/dist/{score_icon-1610-rtl.css → score_icon-1611-rtl.css} RENAMED
File without changes
css/dist/{score_icon-1610.css → score_icon-1611.css} RENAMED
File without changes
css/dist/{search-appearance-1610-rtl.css → search-appearance-1611-rtl.css} RENAMED
File without changes
css/dist/{search-appearance-1610.css → search-appearance-1611.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1610-rtl.css → structured-data-blocks-1611-rtl.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1610.css → structured-data-blocks-1611.css} RENAMED
File without changes
css/dist/{toggle-switch-1610-rtl.css → toggle-switch-1611-rtl.css} RENAMED
File without changes
css/dist/{toggle-switch-1610.css → toggle-switch-1611.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1610-rtl.css → wpseo-dismissible-1611-rtl.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1610.css → wpseo-dismissible-1611.css} RENAMED
File without changes
css/dist/{yoast-components-1610-rtl.css → yoast-components-1611-rtl.css} RENAMED
File without changes
css/dist/{yoast-components-1610.css → yoast-components-1611.css} RENAMED
File without changes
css/dist/{yoast-extensions-1610-rtl.css → yoast-extensions-1611-rtl.css} RENAMED
File without changes
css/dist/{yoast-extensions-1610.css → yoast-extensions-1611.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1610-rtl.css → yst_plugin_tools-1611-rtl.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1610.css → yst_plugin_tools-1611.css} RENAMED
File without changes
css/dist/{yst_seo_score-1610-rtl.css → yst_seo_score-1611-rtl.css} RENAMED
File without changes
css/dist/{yst_seo_score-1610.css → yst_seo_score-1611.css} RENAMED
File without changes
js/dist/{admin-global-1610.js → admin-global-1611.js} RENAMED
File without changes
js/dist/{analysis-1610.js → analysis-1611.js} RENAMED
File without changes
js/dist/{analysis-worker-1610.js → analysis-worker-1611.js} RENAMED
File without changes
js/dist/{api-client-1610.js → api-client-1611.js} RENAMED
File without changes
js/dist/{babel-polyfill-1610.js → babel-polyfill-1611.js} RENAMED
File without changes
js/dist/{block-editor-1610.js → block-editor-1611.js} RENAMED
File without changes
js/dist/{bulk-editor-1610.js → bulk-editor-1611.js} RENAMED
File without changes
js/dist/{classic-editor-1610.js → classic-editor-1611.js} RENAMED
File without changes
js/dist/{commons-1610.js → commons-1611.js} RENAMED
File without changes
js/dist/{configuration-wizard-1610.js → configuration-wizard-1611.js} RENAMED
File without changes
js/dist/{dashboard-widget-1610.js → dashboard-widget-1611.js} RENAMED
File without changes
js/dist/{draft-js-1610.js → draft-js-1611.js} RENAMED
File without changes
js/dist/{dynamic-blocks-1610.js → dynamic-blocks-1611.js} RENAMED
File without changes
js/dist/{edit-page-1610.js → edit-page-1611.js} RENAMED
File without changes
js/dist/{editor-modules-1610.js → editor-modules-1611.js} RENAMED
File without changes
js/dist/{elementor-1610.js → elementor-1611.js} RENAMED
File without changes
js/dist/{filter-explanation-1610.js → filter-explanation-1611.js} RENAMED
File without changes
js/dist/{help-scout-beacon-1610.js → help-scout-beacon-1611.js} RENAMED
File without changes
js/dist/{indexation-1610.js → indexation-1611.js} RENAMED
File without changes
js/dist/{jed-1610.js → jed-1611.js} RENAMED
File without changes
js/dist/{network-admin-1610.js → network-admin-1611.js} RENAMED
File without changes
js/dist/{post-edit-1610.js → post-edit-1611.js} RENAMED
File without changes
js/dist/{quick-edit-handler-1610.js → quick-edit-handler-1611.js} RENAMED
File without changes
js/dist/{redux-1610.js → redux-1611.js} RENAMED
File without changes
js/dist/{reindex-links-1610.js → reindex-links-1611.js} RENAMED
File without changes
js/dist/{schema-blocks-1610.js → schema-blocks-1611.js} RENAMED
File without changes
js/dist/{settings-1610.js → settings-1611.js} RENAMED
File without changes
js/dist/{structured-data-blocks-1610.js → structured-data-blocks-1611.js} RENAMED
File without changes
js/dist/{styled-components-1610.js → styled-components-1611.js} RENAMED
File without changes
js/dist/{term-edit-1610.js → term-edit-1611.js} RENAMED
File without changes
js/dist/{used-keywords-assessment-1610.js → used-keywords-assessment-1611.js} RENAMED
File without changes
js/dist/yoast/{analysis-report-1610.js → analysis-report-1611.js} RENAMED
File without changes
js/dist/yoast/{components-1610.js → components-1611.js} RENAMED
File without changes
js/dist/yoast/{configuration-wizard-1610.js → configuration-wizard-1611.js} RENAMED
File without changes
js/dist/yoast/{feature-flag-1610.js → feature-flag-1611.js} RENAMED
File without changes
js/dist/yoast/{helpers-1610.js → helpers-1611.js} RENAMED
File without changes
js/dist/yoast/{replacement-variable-editor-1610.js → replacement-variable-editor-1611.js} RENAMED
File without changes
js/dist/yoast/{schema-blocks-1610.js → schema-blocks-1611.js} RENAMED
File without changes
js/dist/yoast/{search-metadata-previews-1610.js → search-metadata-previews-1611.js} RENAMED
File without changes
js/dist/yoast/{social-metadata-forms-1610.js → social-metadata-forms-1611.js} RENAMED
File without changes
js/dist/yoast/{style-guide-1610.js → style-guide-1611.js} RENAMED
File without changes
js/dist/yoast/{yoast-components-1610.js → yoast-components-1611.js} RENAMED
File without changes
readme.txt CHANGED
@@ -5,7 +5,7 @@ License: GPLv3
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: SEO, XML sitemap, Content analysis, Readability, Schema
7
  Tested up to: 5.7
8
- Stable tag: 16.1
9
  Requires PHP: 5.6.20
10
 
11
  Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.
@@ -234,6 +234,13 @@ Your question has most likely been answered on our help center: [yoast.com/help/
234
 
235
  == Changelog ==
236
 
 
 
 
 
 
 
 
237
  = 16.1 =
238
  Release Date: April 6th, 2021
239
 
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: SEO, XML sitemap, Content analysis, Readability, Schema
7
  Tested up to: 5.7
8
+ Stable tag: 16.1.1
9
  Requires PHP: 5.6.20
10
 
11
  Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.
234
 
235
  == Changelog ==
236
 
237
+ = 16.1.1 =
238
+ Release Date: April 6th, 2021
239
+
240
+ Bugfixes:
241
+
242
+ * Fixes a bug where a fatal error would be thrown when creating a new Elementor template or editing an existing one.
243
+
244
  = 16.1 =
245
  Release Date: April 6th, 2021
246
 
src/builders/indexable-post-builder.php CHANGED
@@ -391,6 +391,6 @@ class Indexable_Post_Builder {
391
  * @return bool `true` if the post should be excluded from building, `false` if not.
392
  */
393
  protected function should_exclude_post( $post ) {
394
- return \in_array( $post->post_type, $this->post_type_helper->get_excluded_post_types_for_indexables(), true );
395
  }
396
  }
391
  * @return bool `true` if the post should be excluded from building, `false` if not.
392
  */
393
  protected function should_exclude_post( $post ) {
394
+ return $this->post_type_helper->is_excluded( $post->post_type );
395
  }
396
  }
src/generated/container.php CHANGED
@@ -2632,7 +2632,7 @@ class Cached_Container extends Container
2632
  */
2633
  protected function getIndexableAncestorWatcherService()
2634
  {
2635
- return $this->services['Yoast\\WP\\SEO\\Integrations\\Watchers\\Indexable_Ancestor_Watcher'] = new \Yoast\WP\SEO\Integrations\Watchers\Indexable_Ancestor_Watcher(${($_ = isset($this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Repository']) ? $this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Repository'] : $this->getIndexableRepositoryService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Builders\\Indexable_Hierarchy_Builder']) ? $this->services['Yoast\\WP\\SEO\\Builders\\Indexable_Hierarchy_Builder'] : $this->getIndexableHierarchyBuilderService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Hierarchy_Repository']) ? $this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Hierarchy_Repository'] : $this->getIndexableHierarchyRepositoryService()) && false ?: '_'}, ${($_ = isset($this->services['wpdb']) ? $this->services['wpdb'] : $this->getWpdbService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper']) ? $this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper'] : ($this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper'] = new \Yoast\WP\SEO\Helpers\Permalink_Helper())) && false ?: '_'});
2636
  }
2637
 
2638
  /**
2632
  */
2633
  protected function getIndexableAncestorWatcherService()
2634
  {
2635
+ return $this->services['Yoast\\WP\\SEO\\Integrations\\Watchers\\Indexable_Ancestor_Watcher'] = new \Yoast\WP\SEO\Integrations\Watchers\Indexable_Ancestor_Watcher(${($_ = isset($this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Repository']) ? $this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Repository'] : $this->getIndexableRepositoryService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Builders\\Indexable_Hierarchy_Builder']) ? $this->services['Yoast\\WP\\SEO\\Builders\\Indexable_Hierarchy_Builder'] : $this->getIndexableHierarchyBuilderService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Hierarchy_Repository']) ? $this->services['Yoast\\WP\\SEO\\Repositories\\Indexable_Hierarchy_Repository'] : $this->getIndexableHierarchyRepositoryService()) && false ?: '_'}, ${($_ = isset($this->services['wpdb']) ? $this->services['wpdb'] : $this->getWpdbService()) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper']) ? $this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper'] : ($this->services['Yoast\\WP\\SEO\\Helpers\\Permalink_Helper'] = new \Yoast\WP\SEO\Helpers\Permalink_Helper())) && false ?: '_'}, ${($_ = isset($this->services['Yoast\\WP\\SEO\\Helpers\\Post_Type_Helper']) ? $this->services['Yoast\\WP\\SEO\\Helpers\\Post_Type_Helper'] : $this->getPostTypeHelperService()) && false ?: '_'});
2636
  }
2637
 
2638
  /**
src/helpers/post-type-helper.php CHANGED
@@ -102,6 +102,17 @@ class Post_Type_Helper {
102
  return $excluded_post_types;
103
  }
104
 
 
 
 
 
 
 
 
 
 
 
 
105
  /**
106
  * Checks if the post type with the given name has an archive page.
107
  *
102
  return $excluded_post_types;
103
  }
104
 
105
+ /**
106
+ * Checks if the post type is excluded.
107
+ *
108
+ * @param string $post_type The post type to check.
109
+ *
110
+ * @return bool If the post type is exclude.
111
+ */
112
+ public function is_excluded( $post_type ) {
113
+ return \in_array( $post_type, $this->get_excluded_post_types_for_indexables(), true );
114
+ }
115
+
116
  /**
117
  * Checks if the post type with the given name has an archive page.
118
  *
src/integrations/watchers/indexable-ancestor-watcher.php CHANGED
@@ -6,6 +6,7 @@ use wpdb;
6
  use Yoast\WP\SEO\Builders\Indexable_Hierarchy_Builder;
7
  use Yoast\WP\SEO\Conditionals\Migrations_Conditional;
8
  use Yoast\WP\SEO\Helpers\Permalink_Helper;
 
9
  use Yoast\WP\SEO\Integrations\Integration_Interface;
10
  use Yoast\WP\SEO\Models\Indexable;
11
  use Yoast\WP\SEO\Repositories\Indexable_Hierarchy_Repository;
@@ -53,6 +54,13 @@ class Indexable_Ancestor_Watcher implements Integration_Interface {
53
  */
54
  protected $permalink_helper;
55
 
 
 
 
 
 
 
 
56
  /**
57
  * Sets the needed dependencies.
58
  *
@@ -61,19 +69,22 @@ class Indexable_Ancestor_Watcher implements Integration_Interface {
61
  * @param Indexable_Hierarchy_Repository $indexable_hierarchy_repository The indexable hierarchy repository.
62
  * @param wpdb $wpdb The wpdb object.
63
  * @param Permalink_Helper $permalink_helper The permalink helper.
 
64
  */
65
  public function __construct(
66
  Indexable_Repository $indexable_repository,
67
  Indexable_Hierarchy_Builder $indexable_hierarchy_builder,
68
  Indexable_Hierarchy_Repository $indexable_hierarchy_repository,
69
  wpdb $wpdb,
70
- Permalink_Helper $permalink_helper
 
71
  ) {
72
  $this->indexable_repository = $indexable_repository;
73
  $this->indexable_hierarchy_builder = $indexable_hierarchy_builder;
74
  $this->wpdb = $wpdb;
75
  $this->indexable_hierarchy_repository = $indexable_hierarchy_repository;
76
  $this->permalink_helper = $permalink_helper;
 
77
  }
78
 
79
  /**
@@ -81,7 +92,7 @@ class Indexable_Ancestor_Watcher implements Integration_Interface {
81
  */
82
  public function register_hooks() {
83
  \add_action( 'wpseo_save_indexable', [ $this, 'reset_children' ], \PHP_INT_MAX, 2 );
84
- \add_action( 'set_object_terms', [ $this, 'build_post_hierarchy' ], \PHP_INT_MAX );
85
  }
86
 
87
  /**
@@ -168,11 +179,18 @@ class Indexable_Ancestor_Watcher implements Integration_Interface {
168
  * Builds the hierarchy for a post.
169
  *
170
  * @param int $object_id The post id.
 
171
  */
172
- public function build_post_hierarchy( $object_id ) {
 
 
 
 
173
  $indexable = $this->indexable_repository->find_by_id_and_type( $object_id, 'post' );
174
 
175
- $this->indexable_hierarchy_builder->build( $indexable );
 
 
176
  }
177
 
178
  /**
6
  use Yoast\WP\SEO\Builders\Indexable_Hierarchy_Builder;
7
  use Yoast\WP\SEO\Conditionals\Migrations_Conditional;
8
  use Yoast\WP\SEO\Helpers\Permalink_Helper;
9
+ use Yoast\WP\SEO\Helpers\Post_Type_Helper;
10
  use Yoast\WP\SEO\Integrations\Integration_Interface;
11
  use Yoast\WP\SEO\Models\Indexable;
12
  use Yoast\WP\SEO\Repositories\Indexable_Hierarchy_Repository;
54
  */
55
  protected $permalink_helper;
56
 
57
+ /**
58
+ * The post type helper.
59
+ *
60
+ * @var Post_Type_Helper
61
+ */
62
+ protected $post_type_helper;
63
+
64
  /**
65
  * Sets the needed dependencies.
66
  *
69
  * @param Indexable_Hierarchy_Repository $indexable_hierarchy_repository The indexable hierarchy repository.
70
  * @param wpdb $wpdb The wpdb object.
71
  * @param Permalink_Helper $permalink_helper The permalink helper.
72
+ * @param Post_Type_Helper $post_type_helper The post type helper.
73
  */
74
  public function __construct(
75
  Indexable_Repository $indexable_repository,
76
  Indexable_Hierarchy_Builder $indexable_hierarchy_builder,
77
  Indexable_Hierarchy_Repository $indexable_hierarchy_repository,
78
  wpdb $wpdb,
79
+ Permalink_Helper $permalink_helper,
80
+ Post_Type_Helper $post_type_helper
81
  ) {
82
  $this->indexable_repository = $indexable_repository;
83
  $this->indexable_hierarchy_builder = $indexable_hierarchy_builder;
84
  $this->wpdb = $wpdb;
85
  $this->indexable_hierarchy_repository = $indexable_hierarchy_repository;
86
  $this->permalink_helper = $permalink_helper;
87
+ $this->post_type_helper = $post_type_helper;
88
  }
89
 
90
  /**
92
  */
93
  public function register_hooks() {
94
  \add_action( 'wpseo_save_indexable', [ $this, 'reset_children' ], \PHP_INT_MAX, 2 );
95
+ \add_action( 'set_object_terms', [ $this, 'build_post_hierarchy' ], \PHP_INT_MAX, 2 );
96
  }
97
 
98
  /**
179
  * Builds the hierarchy for a post.
180
  *
181
  * @param int $object_id The post id.
182
+ * @param int $post_type The post type.
183
  */
184
+ public function build_post_hierarchy( $object_id, $post_type ) {
185
+ if ( $this->post_type_helper->is_excluded( $post_type ) ) {
186
+ return;
187
+ }
188
+
189
  $indexable = $this->indexable_repository->find_by_id_and_type( $object_id, 'post' );
190
 
191
+ if ( $indexable instanceof Indexable ) {
192
+ $this->indexable_hierarchy_builder->build( $indexable );
193
+ }
194
  }
195
 
196
  /**
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit5b8f3e885157dbdc4be4ca750f881929::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitb4bc46189032812307eb44e84609182b::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit5b8f3e885157dbdc4be4ca750f881929
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit5b8f3e885157dbdc4be4ca750f881929
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit5b8f3e885157dbdc4be4ca750f881929', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit5b8f3e885157dbdc4be4ca750f881929', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitb4bc46189032812307eb44e84609182b
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInitb4bc46189032812307eb44e84609182b', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitb4bc46189032812307eb44e84609182b', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInitb4bc46189032812307eb44e84609182b::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
@@ -910,9 +910,9 @@ class ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929
910
  public static function getInitializer(ClassLoader $loader)
911
  {
912
  return \Closure::bind(function () use ($loader) {
913
- $loader->prefixLengthsPsr4 = ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929::$prefixLengthsPsr4;
914
- $loader->prefixDirsPsr4 = ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929::$prefixDirsPsr4;
915
- $loader->classMap = ComposerStaticInit5b8f3e885157dbdc4be4ca750f881929::$classMap;
916
 
917
  }, null, ClassLoader::class);
918
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitb4bc46189032812307eb44e84609182b
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
910
  public static function getInitializer(ClassLoader $loader)
911
  {
912
  return \Closure::bind(function () use ($loader) {
913
+ $loader->prefixLengthsPsr4 = ComposerStaticInitb4bc46189032812307eb44e84609182b::$prefixLengthsPsr4;
914
+ $loader->prefixDirsPsr4 = ComposerStaticInitb4bc46189032812307eb44e84609182b::$prefixDirsPsr4;
915
+ $loader->classMap = ComposerStaticInitb4bc46189032812307eb44e84609182b::$classMap;
916
 
917
  }, null, ClassLoader::class);
918
  }
wp-seo-main.php CHANGED
@@ -15,7 +15,7 @@ if ( ! function_exists( 'add_filter' ) ) {
15
  * {@internal Nobody should be able to overrule the real version number as this can cause
16
  * serious issues with the options, so no if ( ! defined() ).}}
17
  */
18
- define( 'WPSEO_VERSION', '16.1' );
19
 
20
 
21
  if ( ! defined( 'WPSEO_PATH' ) ) {
15
  * {@internal Nobody should be able to overrule the real version number as this can cause
16
  * serious issues with the options, so no if ( ! defined() ).}}
17
  */
18
+ define( 'WPSEO_VERSION', '16.1.1' );
19
 
20
 
21
  if ( ! defined( 'WPSEO_PATH' ) ) {
wp-seo.php CHANGED
@@ -8,7 +8,7 @@
8
  *
9
  * @wordpress-plugin
10
  * Plugin Name: Yoast SEO
11
- * Version: 16.1
12
  * Plugin URI: https://yoa.st/1uj
13
  * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
14
  * Author: Team Yoast
8
  *
9
  * @wordpress-plugin
10
  * Plugin Name: Yoast SEO
11
+ * Version: 16.1.1
12
  * Plugin URI: https://yoa.st/1uj
13
  * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
14
  * Author: Team Yoast