PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.7.1
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.7.1
2.7.1 2.7.2 2.7.0 2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 All 141 releases
← All changes | includes/class-metasync-plugin-sync.php +1 -9 2.7.2 → 2.7.1 View file →
@@ -61,9 +61,8 @@
61 61 '_metasync_seo_title',
62 62 '_metasync_seo_desc',
63 63 '_metasync_metatitle',
64 64 '_metasync_metadesc',
65 - '_metasync_metakeywords',
66 65 '_metasync_robots_index',
67 66 '_metasync_robots_advanced',
68 67 '_metasync_og_title',
69 68 '_metasync_og_description',
@@ -81,9 +80,8 @@
81 80 '_metasync_otto_og_description',
82 81 '_metasync_otto_twitter_title',
83 82 '_metasync_otto_twitter_description',
84 83 '_metasync_otto_keywords',
85 - '_metasync_otto_canonical',
86 84 ];
87 85
88 86 /**
89 87 * Internal OTTO meta keys mapped to the OTTO Persistence setting that
@@ -104,9 +102,8 @@
104 102 const OTTO_PERSISTENCE_KEYS = [
105 103 '_metasync_otto_title' => 'meta_title',
106 104 '_metasync_otto_description' => 'meta_description',
107 105 '_metasync_otto_keywords' => 'meta_keywords',
108 - '_metasync_metakeywords' => 'meta_keywords',
109 106 '_metasync_otto_og_title' => 'og_title',
110 107 '_metasync_otto_og_description' => 'og_description',
111 108 '_metasync_otto_twitter_title' => 'twitter_title',
112 109 '_metasync_otto_twitter_description' => 'twitter_description',
@@ -256,9 +253,8 @@
256 253 '_metasync_otto_og_description' => 'og_desc',
257 254 '_metasync_otto_twitter_title' => 'twitter_title',
258 255 '_metasync_otto_twitter_description' => 'twitter_desc',
259 256 '_metasync_otto_keywords' => 'focus_keyword',
260 - '_metasync_metakeywords' => 'focus_keyword',
261 257 // Legacy meta box keys → rebuild JSON
262 258 'metasync_common_robots' => '_legacy_robots_to_json',
263 259 'metasync_advance_robots' => '_legacy_robots_to_json',
264 260 ];
@@ -563,13 +559,9 @@
563 559 // Canonical, focus keyword, breadcrumb
564 560 // Canonical is validated at the source so a corrupted value ("Array")
565 561 // never propagates into Yoast/RankMath/AIOSEO storage.
566 562 $data['canonical'] = Metasync_Canonical_Sanitizer::sanitize($get('_metasync_canonical_url'));
567 - // The keyword takes its order from the resolver — customer value, then
568 - // OTTO's volatile tier, then OTTO's persisted tier — so the persistence
569 - // gating in $first() reaches the persisted copy too. Previously the
570 - // persisted copy sat on the customer key, outranking the live one.
571 - $data['focus_keyword'] = $first(...Metasync_Seo_Precedence::keys(Metasync_Seo_Precedence::FIELD_FOCUS_KEYWORD));
563 + $data['focus_keyword'] = $first('_metasync_focus_keyword', '_metasync_otto_keywords');
572 564 $data['breadcrumb_title'] = $get('_metasync_breadcrumb_title');
573 565
574 566 return $this->apply_feature_flags_to_payload($data);
575 567 }