| @@ -14,9 +14,9 @@ | ||
| 14 | 14 | * @wordpress-plugin |
| 15 | 15 | * Plugin Name: Search Atlas: The Premier AI SEO Plugin for Instant Optimization |
| 16 | 16 | * Plugin URI: https://searchatlas.com/ |
| 17 | 17 | * Description: Search Atlas SEO is an intuitive WordPress Plugin that transforms the most complicated, most labor-intensive SEO tasks into streamlined, straightforward processes. With a few clicks, the meta-bulk update feature automates the re-optimization of meta tags using AI to increase clicks. Stay up-to-date with the freshest Google Search data for your entire site or targeted URLs within the Meta Sync plug-in page. |
| 18 | - * Version: 2.6.25 | |
| 18 | + * Version: 2.6.26 | |
| 19 | 19 | * Requires PHP: 8.1 |
| 20 | 20 | * Author: Search Atlas |
| 21 | 21 | * Author URI: https://searchatlas.com |
| 22 | 22 | * License: GPL v3 |
| @@ -46,9 +46,9 @@ | ||
| 46 | 46 | * Currently plugin version. |
| 47 | 47 | * Start at version 1.0.0 and use SemVer - https://semver.org |
| 48 | 48 | * Rename this for your plugin and update it as you release new versions. |
| 49 | 49 | */ |
| 50 | -$metasync_version = '2.6.25'; | |
| 50 | +$metasync_version = '2.6.26'; | |
| 51 | 51 | define('METASYNC_VERSION', preg_match('/^\d+\.\d+/', $metasync_version) ? $metasync_version : '9.9.9'); |
| 52 | 52 | /** |
| 53 | 53 | * Define the current required php version |
| 54 | 54 | * This will be used to validate whether the user can install the plugin or not |
| @@ -365,9 +365,15 @@ | ||
| 365 | 365 | $bn = basename($file); |
| 366 | 366 | $content = @file_get_contents($file); |
| 367 | 367 | if (false !== $content) { |
| 368 | 368 | $tkey = 'metasync_vsm_' . md5($bn); |
| 369 | - set_transient($tkey, $content, 30 * DAY_IN_SECONDS); | |
| 369 | + // The news sitemap's entries are only valid inside Google News' | |
| 370 | + // 48-hour window, so it must not be migrated in under a 30-day | |
| 371 | + // TTL — that would re-introduce the staleness the generator's | |
| 372 | + // own bounded TTL exists to prevent. Regenerate-on-miss rebuilds | |
| 373 | + // it with a fresh date_query when this expires. | |
| 374 | + $ttl = ('news-sitemap.xml' === $bn) ? (int) (DAY_IN_SECONDS / 4) : 30 * DAY_IN_SECONDS; | |
| 375 | + set_transient($tkey, $content, $ttl); | |
| 370 | 376 | if (false !== get_transient($tkey)) { |
| 371 | 377 | @unlink($file); |
| 372 | 378 | $virtual_index[$bn] = $tkey; |
| 373 | 379 | if ($bn !== 'sitemap_index.xml' && $bn !== 'news-sitemap.xml' && $bn !== 'video-sitemap.xml') { |
| @@ -595,8 +601,13 @@ | ||
| 595 | 601 | } |
| 596 | 602 | $checked = true; |
| 597 | 603 | |
| 598 | 604 | require_once plugin_dir_path(__FILE__) . 'includes/class-metasync-activator.php'; |
| 605 | + | |
| 606 | + // Surface a persistently failing White Label import instead of | |
| 607 | + // retrying it silently on every admin request. | |
| 608 | + add_action('admin_notices', array('Metasync_Activator', 'render_whitelabel_import_failure_notice')); | |
| 609 | + | |
| 599 | 610 | Metasync_Activator::check_whitelabel_settings_update(); |
| 600 | 611 | } |
| 601 | 612 | |
| 602 | 613 | // Retry package imports on an authorized admin request when an update completed |