Plugin Directory

Changeset 3249752


Ignore:
Timestamp:
03/03/2025 02:11:36 PM (12 months ago)
Author:
seokey
Message:

2.0.2

  • Fixed: (PRO) Incorrect audit domain analysis on some hosts (could result in incorrect advice about domain variations).
  • Fixed: (PRO) PHP warning on the 404 admin page.
  • Fixed: (PRO) On local environments or specific server configurations, errors recorded by the 404 module now display the correct URL.
  • Fixed: Prevented a fatal error when users with the editor role attempted to access the automatic SEO optimization admin page.
  • Fixed: Incorrect HTML markup on the automatic SEO optimization list admin page.
  • Fixed: Incorrect wizard redirects preventing users from proceeding to the next page (only occurred with very specific hosting providers).
  • Fixed: Improved keyword detection for special characters (©, ®, ™, and more).
  • Third-party: Prevented a fatal error when migrating a website to local using All In One WP Migration.
Location:
seo-key/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • seo-key/trunk/admin/admin-modules.php

    r3011832 r3249752  
    6666    seokey_helper_require_file( 'class-wp_list_table',          SEOKEY_PATH_COMMON, 'contributor' );
    6767    // Load Installation and update Wizard
    68     seokey_helper_require_file( 'automatic_optimizations',      $modules, 'admin' );
     68    seokey_helper_require_file( 'automatic_optimizations',      $modules, 'editor' );
    6969    // Load hoempage meta title and meta desc sync
    7070    seokey_helper_require_file( 'homepage',                     $modules, 'admin' );
  • seo-key/trunk/admin/admin-pages/admin-pages-automatic-seo.php

    r2804719 r3249752  
    6464function seokey_admin_page_automatic_seo_content(){
    6565    $render = '<p>' . __( "SEOKEY automatically fixes many technical issues on your WordPress website. Here's what we do:", "seo-key" ) . '</p>';
    66     foreach ( seokey_automatic_optimizations_list() as $version ) {
    67         foreach ( $version as $name => $description ) {
    68             $render .= '<li class="has-explanation" id="' . sanitize_title( $name ) . '"><strong>' . key( $description ) . '</strong> ' . $description[key( $description )] . seokey_helper_help_messages( 'automaticseo-' . sanitize_title( $name ), true ) .'</li>';
     66    if ( function_exists( 'seokey_automatic_optimizations_list' ) ) {
     67        $render .= '<ul id="optimizations-list">';
     68        foreach ( seokey_automatic_optimizations_list() as $version ) {
     69            foreach ( $version as $name => $description ) {
     70                $render .= '<li class="has-explanation" id="' . sanitize_title( $name ) . '"><strong>' . key( $description ) . '</strong> ' . $description[ key( $description ) ] . seokey_helper_help_messages( 'automaticseo-' . sanitize_title( $name ), true ) . '</li>';
     71            }
    6972        }
     73        $render .= '</ul>';
    7074    }
    71     return '<ul id="optimizations-list">' . $render . '</ul>';
     75    return $render;
    7276}
    7377
  • seo-key/trunk/admin/modules/audit/audit-helpers.php

    r3125241 r3249752  
    197197    $cleaned_string = str_replace( "’", "'", $cleaned_string );
    198198    $cleaned_string = str_replace( "...", "…", $cleaned_string );
     199    $cleaned_string = str_replace( ['©', '®', '™', '€', '£', '¥'], '', $cleaned_string );
    199200    return $cleaned_string;
    200201}
  • seo-key/trunk/admin/wizard.php

    r3182355 r3249752  
    138138// Redirect to next step
    139139function seokey_wizard_continue(){
    140     // Get next step data
    141     $step = seokey_wizard_get_next_step_from_referer();
    142     $key = array_key_first($step );
    143     $step = array_shift($step);
    144     // Wizard admin URL
    145     $current_url = seokey_helper_admin_get_link('wizard');
    146     // Construct next step URL
    147     $url = add_query_arg( 'wizard-status', $key, $current_url ) .'#'. sanitize_title( $step[0] );
    148     wp_redirect(  $url, 301 );
     140    // Get next step data
     141    $step  = seokey_wizard_get_next_step_from_referer();
     142    $key    = array_key_first($step );
     143    $step  = array_shift($step);
     144    // Wizard admin URL
     145    $current_url = seokey_helper_admin_get_link('wizard');
     146    // Construct next step URL
     147    $url = add_query_arg( 'wizard-status', $key, $current_url ) .'#'. sanitize_title( $step[0] );
     148    wp_redirect(  $url, 301 );
    149149    die();
    150150}
     
    152152// Get next step
    153153function seokey_wizard_get_next_step_from_referer(){
    154     // Get all steps
    155     $steps  = seokey_admin_wizard_steps();
    156     // Get previous step
    157     $from   = wp_get_referer();
    158     $query  = parse_url($from, PHP_URL_QUERY);
    159     parse_str($query, $params);
    160     // Find next step
    161     $status = ( !empty( $params['wizard-status'] ) ) ? $params['wizard-status'] : '1_0_0';
    162     $nextkey = array_search( $status, array_keys( $steps ) ) + 1;
    163     $nextkey = array_slice( $steps, $nextkey, 1 );
    164     return $nextkey;
     154    // Get all steps and previous step
     155    $steps  = seokey_admin_wizard_steps();
     156    $from   = wp_get_referer();
     157    // No data for previous step? Create our own
     158    if ( false === $from ) {
     159        $request = $_SERVER['REQUEST_URI'];
     160        if ( !empty ( $request ) ) {
     161            $from = wp_unslash( home_url( $_SERVER['REQUEST_URI'] ) );
     162        }
     163    }
     164    $query  = parse_url($from, PHP_URL_QUERY);
     165    parse_str($query, $params);
     166    // Find next step
     167    $status     = ( !empty( $params['wizard-status'] ) ) ? $params['wizard-status'] : '1_0_0';
     168    $nextkey    = array_search( $status, array_keys( $steps ) ) + 1;
     169    $nextkey    = array_slice( $steps, $nextkey, 1 );
     170    return $nextkey;
    165171}
    166172
  • seo-key/trunk/common/seo-key-helpers.php

    r3225503 r3249752  
    187187        $path = esc_url( str_replace( '..', '', $path ) );
    188188    }
    189     // File is not here, abort
     189    // File is not here, write in debug log the issue
    190190    if ( ! file_exists( $path . $module_slug . '.php' ) ) {
    191         seokey_dev_error( '', '', $path . $module_slug . '.php');
     191        $file = $path . $module_slug . '.php';
     192        seokey_dev_write_log( 'REQUIRE failure ' . $file );
     193        // seokey_dev_error( '', '', $path . $module_slug . '.php'); // Deactivate function to prevent migration plugin errors
    192194        return;
    193195    }
     
    842844    $orderby    = ( ! empty( $_REQUEST['orderby'] ) )   ? esc_html( strtolower( $_REQUEST['orderby'] ) ):   seokey_helper_cache_data( 'seokey_helper_usort_reorder');
    843845    $order      = ( ! empty( $_REQUEST['order'] ) )     ? esc_html( $_REQUEST['order'] ) :                  seokey_helper_cache_data( 'seokey_helper_usort_reorder_order');
     846    $order      = ( is_null( $order ) ) ? 'DESC' : $order;
    844847    $result     = strnatcmp( $a[ $orderby ], $b[ $orderby ] );
    845848    return ( 'ASC' === strtoupper( $order ) ) ? $result : -$result;
  • seo-key/trunk/readme.txt

    r3225503 r3249752  
    77Tested up to: 6.7
    88Requires PHP: 7.2
    9 Stable tag: 2.0.1
     9Stable tag: 2.0.2
    1010License: GPLv2 or later
    1111License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    194194Public roadmap is here: https://trello.com/b/jauwlc3J/seokey-pro-public-roadmap
    195195
     196= 2.0.2
     197* Fixed: (PRO) Incorrect audit domain analysis on some hosts (could result in incorrect advice about domain variations).
     198* Fixed: (PRO) PHP warning on the 404 admin page.
     199* Fixed: (PRO) On local environments or specific server configurations, errors recorded by the 404 module now display the correct URL.
     200* Fixed: Prevented a fatal error when users with the editor role attempted to access the automatic SEO optimization admin page.
     201* Fixed: Incorrect HTML markup on the automatic SEO optimization list admin page.
     202* Fixed: Incorrect wizard redirects preventing users from proceeding to the next page (only occurred with very specific hosting providers).
     203* Fixed: Improved keyword detection for special characters (©, ®, ™, and more).
     204* Third-party: Prevented a fatal error when migrating a website to local using All In One WP Migration.
     205
    196206= 2.0.1
    197 * Fix: (PRO) Fix incorrect French text used to show or hide audit task details
    198 * Fix: (FREE) Fix SEOKEY PRO button on audit pages (it was not working)
    199 * Fix: Removed several console and debug function
    200 * Fix: Fixed OpenGraph URL that sometimes incorrectly had PORT data
    201 * Fix: Added Jetpack Social to plugin list exclusion for our OpenGraph and twitter card automatic optimization
    202 * Fix: Fix Open Graph setting display (for English users)
    203 * Fix: Fix Polylang incorrect redirect for WordPress native XML sitemaps
     207* Fixed: (PRO) Fix incorrect French text used to show or hide audit task details
     208* Fixed: (FREE) Fix SEOKEY PRO button on audit pages (it was not working)
     209* Fixed: Removed several console and debug function
     210* Fixed: Fixed OpenGraph URL that sometimes incorrectly had PORT data
     211* Fixed: Added Jetpack Social to plugin list exclusion for our OpenGraph and twitter card automatic optimization
     212* Fixed: Fix Open Graph setting display (for English users)
     213* Fixed: Fix Polylang incorrect redirect for WordPress native XML sitemaps
    204214* DevNote: Using seokey_filter_breacrumbs_data hook, you can now add custom items without links into your breadcrumb
    205215
     
    213223* Improvement: Improved several wordings in the Wizard and SEO audit.
    214224* Improvement: (FREE) Updated interface to better explain what's included in SEOKEY PRO.
    215 * Fix: (PRO) Removed deprecated Ping Sitemap function (https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping)
    216 * Fix: (PRO) Fixed a very rare fatal error when Search Console fails to provide a suggested keyword in the MetaBox.
    217 * Fix: Excluded PDF, ZIP, and other non-image files from the ALT editor (as these files don't have alternative text).
    218 * Fix: Resolved rare issue with missing trailing slash in terms XML sitemaps.
    219 * Fix: (FREE) Adjusted the position of the "PRO" label in the SEOKEY MetaBox.
     225* Fixed: (PRO) Removed deprecated Ping Sitemap function (https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping)
     226* Fixed: (PRO) Fixed a very rare fatal error when Search Console fails to provide a suggested keyword in the MetaBox.
     227* Fixed: Excluded PDF, ZIP, and other non-image files from the ALT editor (as these files don't have alternative text).
     228* Fixed: Resolved rare issue with missing trailing slash in terms XML sitemaps.
     229* Fixed: (FREE) Adjusted the position of the "PRO" label in the SEOKEY MetaBox.
    220230* Third-party: Fixed a rare Polylang canonical issue where the home URL was incorrect.
    221231* DevNote: Added a new hook to disable SEOKEY meta descriptions (useful if using SEO functions within your theme).
  • seo-key/trunk/seo-key.php

    r3225503 r3249752  
    99 * Text Domain: seo-key
    1010 * Domain Path: /public/assets/languages/
    11  * Version: 2.0.1
     11 * Version: 2.0.2
    1212 * Requires at least: 5.5
    1313 * Tested up to: 6.7
     
    4444define( 'SEOKEY_PHP_MIN',               '7.2' );                                                // PHP Minimum Version
    4545define( 'SEOKEY_WP_MIN',                '5.5' );                                                // WP Minimum Version
    46 define( 'SEOKEY_VERSION',               '2.0.1' );                                              // SEOKEY actual version
     46define( 'SEOKEY_VERSION',               '2.0.2' );                                              // SEOKEY actual version
    4747// Static Constants
    4848define( 'SEOKEY_SETTINGS_SLUG',         'seokey-settings' );                                    // SEOKEY Settings Slug in options table
Note: See TracChangeset for help on using the changeset viewer.