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-settings-fields.php +7 -41 2.7.2 → 2.7.1 View file →
@@ -53,16 +53,8 @@
53 53 // writes — silently disappear from the page.
54 54 require_once plugin_dir_path(dirname(__FILE__)) . 'admin/class-metasync-seo-sync-settings.php';
55 55
56 56 $sections = array(
57 - 'analytics' => array(
58 - 'title' => 'Usage Data & Product Improvement',
59 - 'description' => 'Choose whether to share limited usage data to help improve MetaSync',
60 - 'icon' => 'chart-bar',
61 - 'priority' => 70,
62 - 'default_open' => false,
63 - 'render_callback' => array($this, 'render_analytics_section'),
64 - ),
65 57 'connection' => array(
66 58 'title' => 'Connection & Authentication',
67 59 'description' => 'Manage your API connection and authentication settings',
68 60 'icon' => 'admin-network',
@@ -83,8 +75,11 @@
83 75 'otto_pixel_uuid',
84 76 'otto_disable_on_loggedin',
85 77 'otto_disable_preview_button',
86 78 'seo_priority',
79 + 'otto_wp_rocket_compat',
80 + 'otto_sg_optimizer_compat',
81 + 'bookingpress_session_compat',
87 82 )
88 83 ),
89 84 'edge_cache' => array(
90 85 'title' => 'Edge Cache / CDN',
@@ -345,8 +340,9 @@
345 340 </h4>
346 341 <p style="color: var(--dashboard-text-secondary); margin: 0 0 12px 0;">This action will permanently delete:</p>
347 342 <ul style="color: var(--dashboard-text-secondary); margin: 0 0 12px 20px; line-height: 1.8;">
348 343 <li>All API keys and authentication tokens</li>
344 + <li>White label branding settings</li>
349 345 <li>Plugin configuration and preferences</li>
350 346 <li>Instant indexing settings</li>
351 347 <li>Media optimization settings and cache</li>
352 348 <li>Code minification settings</li>
@@ -351,9 +347,9 @@
351 347 <li>Media optimization settings and cache</li>
352 348 <li>Code minification settings</li>
353 349 <li>All cached data and crawl information</li>
354 350 </ul>
355 - <p style="color: var(--dashboard-warning, #f59e0b); margin: 0; font-weight: 600;">You will need to reconfigure the plugin's operational settings after this reset.</p>
351 + <p style="color: var(--dashboard-warning, #f59e0b); margin: 0; font-weight: 600;">You will need to reconfigure the plugin completely after this reset.</p>
356 352 </div>
357 353 <form method="post" action="" onsubmit="return confirmClearSettings(event)">
358 354 <?php wp_nonce_field('metasync_clear_all_settings_nonce', 'clear_all_settings_nonce'); ?>
359 355 <input type="hidden" name="clear_all_settings" value="yes" />
@@ -393,9 +389,9 @@
393 389 if (!firstConfirm) {
394 390 return false;
395 391 }
396 392
397 - var secondConfirm = confirm("🚨 FINAL WARNING 🚨\n\nThis will delete:\n• All API keys and authentication tokens\n• Plugin configuration and preferences\n• Instant indexing settings\n• Media optimization settings and cache\n• Code minification settings\n• All cached data\n\nYou will need to reconfigure the plugin's operational settings from scratch.\n\nType 'DELETE' in the next prompt to confirm.");
393 + var secondConfirm = confirm("🚨 FINAL WARNING 🚨\n\nThis will delete:\n• All API keys and authentication tokens\n• White label branding settings\n• Plugin configuration and preferences\n• Instant indexing settings\n• Media optimization settings and cache\n• Code minification settings\n• All cached data\n\nYou will need to reconfigure the entire plugin from scratch.\n\nType 'DELETE' in the next prompt to confirm.");
398 394 if (!secondConfirm) {
399 395 return false;
400 396 }
401 397
@@ -1134,9 +1130,9 @@
1134 1130 'apikey' => sprintf('Auto-generated authentication token used for secure API communication between your WordPress site and %s services. You can refresh this token if needed for security purposes.', $plugin_name),
1135 1131 'otto_pixel_uuid' => sprintf('Your unique %s tracking pixel identifier. This UUID is used to track %s modifications and analytics on your website pages.', $otto_name, $otto_name),
1136 1132 'otto_disable_on_loggedin' => sprintf('Disable %s modifications when you are logged in to WordPress. This allows you to see and edit the original content without %s\'s enhancements during editing sessions.', $otto_name, $otto_name),
1137 1133 'otto_disable_preview_button' => sprintf('Hide the %s frontend toolbar that displays the status indicator, preview button, and debug button. Enable this for a cleaner frontend experience.', $otto_name),
1138 - 'seo_priority' => sprintf('Choose which value appears first on a page when both your custom SEO value (title, description or focus keyword, edited on the post/page screen) and an approved %s suggestion are available. This changes what visitors see; it does not delete or overwrite saved values.', $otto_name),
1134 + 'seo_priority' => sprintf('Choose which value appears first on a page when both your custom SEO value and an approved %s suggestion are available. This changes what visitors see; it does not delete or overwrite saved values.', $otto_name),
1139 1135 'otto_wp_rocket_compat' => sprintf('WP Rocket Compatibility Mode: Controls how %s interacts with WP Rocket. "Auto" (recommended) allows both to work together by avoiding DONOTCACHEPAGE constant unless necessary for Brizy pages or SG Optimizer conflicts. This ensures WP Rocket\'s JavaScript delay and optimization features continue working.', $otto_name),
1140 1136 'otto_sg_optimizer_compat' => sprintf('SiteGround Optimizer Compatibility Mode: Controls how %s renders on SiteGround hosting. "Auto" (recommended) uses the internal HTTP fetch, which protects themes that defer inline CSS to the footer (e.g. Divi). "Buffer Mode" renders in-process with no internal fetch — faster on sites whose pages can never be host-cached, for example when a plugin starts a PHP session on every request (BookingPress sessions are removed automatically, so this does not apply to them).', $otto_name),
1141 1137 'bookingpress_session_compat' => 'BookingPress Session Compatibility: Controls whether MetaSync removes the PHP session BookingPress starts on every public page, so hosts such as SiteGround can page-cache the site again.',
1142 1138 'otto_disable_for_bots' => sprintf('Enable bot detection to automatically skip %s processing for search engine crawlers, SEO tools, and other bots. This reduces unnecessary API calls and improves performance.', $otto_name),
@@ -1167,35 +1163,8 @@
1167 1163 'twitter_image_alt' => 'Adds descriptive alt text to the image shown when your page is shared on X/Twitter, improving accessibility for screen-reader users. Uses your saved alt text or the image\'s own alt attribute.'
1168 1164 );
1169 1165 }
1170 1166
1171 - public function render_analytics_section() {
1172 - $enabled = get_option('metasync_analytics_opt_in', 'no') === 'yes';
1173 - $plugin_name = Metasync::get_effective_plugin_name();
1174 - /* translators: %s: Plugin name. */
1175 - $heading = sprintf(__('Help improve %s', 'metasync'), $plugin_name);
1176 - /* translators: %s: Plugin name. */
1177 - $intro = sprintf(__('Allow %s to collect limited usage analytics. This helps us understand which features are used, improve the product, and identify problems.', 'metasync'), $plugin_name);
1178 - /* translators: %s: Plugin name. */
1179 - $toggle_label = sprintf(__('Share usage data with %s', 'metasync'), $plugin_name);
1180 - ?>
1181 - <div class="metasync-analytics-consent-card">
1182 - <div class="metasync-analytics-consent-copy">
1183 - <h3><?php echo esc_html($heading); ?></h3>
1184 - <p><?php echo esc_html($intro); ?></p>
1185 - <p class="description"><?php esc_html_e('We collect limited technical information such as your site URL, plugin version, WordPress and PHP versions, user role, and feature usage. We do not collect passwords, API keys, customer content, names, or email addresses.', 'metasync'); ?></p>
1186 - </div>
1187 - <label class="metasync-consent-switch" for="metasync_analytics_opt_in">
1188 - <input type="hidden" name="metasync_analytics_opt_in" value="no" />
1189 - <input type="checkbox" id="metasync_analytics_opt_in" name="metasync_analytics_opt_in" value="yes" <?php checked($enabled); ?> />
1190 - <span class="metasync-consent-slider" aria-hidden="true"></span>
1191 - <span class="screen-reader-text"><?php echo esc_html($toggle_label); ?></span>
1192 - </label>
1193 - <span class="metasync-consent-status" aria-live="polite" data-enabled-label="<?php esc_attr_e('Enabled', 'metasync'); ?>" data-disabled-label="<?php esc_attr_e('Off', 'metasync'); ?>"><?php echo $enabled ? esc_html__('Enabled', 'metasync') : esc_html__('Off', 'metasync'); ?></span>
1194 - </div>
1195 - <?php
1196 - }
1197 -
1198 1167 public function get_field_section($field_id) {
1199 1168 $sections = $this->get_accordion_sections_config();
1200 1169
1201 1170 foreach ($sections as $section_key => $section_data) {
@@ -1570,11 +1539,8 @@
1570 1539 }
1571 1540 printf('</p>');
1572 1541
1573 1542 printf('</div>');
1574 -
1575 - // The OTTO Pixel UUID is shown once, by the read-only Settings-API
1576 - // field in the OTTO Server-Side Rendering section; do not repeat it here.
1577 1543
1578 1544 if( isset(Metasync::get_option('general')['searchatlas_api_key'])&&Metasync::get_option('general')['searchatlas_api_key']!=''){
1579 1545 $timestamp = @Metasync::get_option('general')['send_auth_token_timestamp'];
1580 1546 printf(