WP Meta SEO - Version 3.7.4

Version Description

  • Fix : Update alt meta for Elementor image in content
  • Fix : Redirect URL
Download this release

Release Info

Developer JoomUnited
Plugin Icon 128x128 WP Meta SEO
Version 3.7.4
Comparing to
See all releases

Code changes from version 3.7.3 to 3.7.4

inc/class.metaseo-broken-link-table.php CHANGED
@@ -557,13 +557,25 @@ class MetaSeoBrokenLinkTable extends WP_List_Table
557
  echo '<input type="hidden" class="wpms_link_text"
558
  value="' . esc_attr($rec->link_text) . '">';
559
  if ($rec->type === 'add_custom') {
560
- echo '<a class="link_html" target="_blank"
561
- href="' . esc_url(site_url() . '/' . $rec->link_url) . '">' . esc_html($value_url) . '</a>';
 
 
 
 
 
 
562
  if ($rec->link_url_redirect !== '') {
563
  echo ' to ';
564
- echo '<a class="link_html" target="_blank"
 
565
  href="' . esc_url($rec->link_url_redirect) . '"
566
- >' . esc_html(str_replace(site_url(), '', $rec->link_url_redirect)) . '</a>';
 
 
 
 
 
567
  }
568
  } else {
569
  echo '<a class="link_html" target="_blank"
557
  echo '<input type="hidden" class="wpms_link_text"
558
  value="' . esc_attr($rec->link_text) . '">';
559
  if ($rec->type === 'add_custom') {
560
+ if (strpos($rec->link_url, home_url()) !== false) {
561
+ echo '<a class="link_html" target="_blank"
562
+ href="' . esc_url($rec->link_url) . '">' . esc_html($value_url) . '</a>';
563
+ } else {
564
+ echo '<a class="link_html" target="_blank"
565
+ href="' . esc_url(home_url($rec->link_url)) . '">' . esc_html($value_url) . '</a>';
566
+ }
567
+
568
  if ($rec->link_url_redirect !== '') {
569
  echo ' to ';
570
+ if (strpos($rec->link_url_redirect, 'http://') !== false || strpos($rec->link_url_redirect, 'https://') !== false) {
571
+ echo '<a class="link_html_redirect" target="_blank"
572
  href="' . esc_url($rec->link_url_redirect) . '"
573
+ >' . esc_url($rec->link_url_redirect) . '</a>';
574
+ } else {
575
+ echo '<a class="link_html_redirect" target="_blank"
576
+ href="' . esc_url(home_url($rec->link_url_redirect)) . '"
577
+ >' . esc_html(str_replace(home_url(), '', $rec->link_url_redirect)) . '</a>';
578
+ }
579
  }
580
  } else {
581
  echo '<a class="link_html" target="_blank"
inc/class.metaseo-image-list-table.php CHANGED
@@ -1686,14 +1686,12 @@ class MetaSeoImageListTable extends WP_List_Table
1686
  );
1687
  $img_tags = $matches[0];
1688
  if (isset($img_tags[$meta_order])) {
1689
- $pattern = '/' . $meta_type . '\s*?\=?\"[^\"]*\"/i';
1690
  // remove attr
1691
- $img_tags[$meta_order] = preg_replace(
1692
- '#(<img.+?)' . $meta_type . '=(["\']?)\d*\2(.*?/?>)#i',
1693
- '$1$3',
1694
- $img_tags[$meta_order]
1695
- );
1696
- preg_match('/' . $meta_type . '="(.+?)"/', $img_tags[$meta_order], $matches);
1697
  // update attr
1698
  $img_tags[$meta_order] = preg_replace(
1699
  '/(<img\b[^><]*)>/i',
@@ -1717,6 +1715,8 @@ class MetaSeoImageListTable extends WP_List_Table
1717
  if (!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))) {
1718
  $response->msg = esc_html__('The post haven\'t been updated, please check again!', 'wp-meta-seo');
1719
  } else {
 
 
1720
  update_option('wpms_last_update_post', time());
1721
  $response->updated = true;
1722
  $response->msg = ucfirst($meta_type) . esc_html__(' was saved', 'wp-meta-seo');
1686
  );
1687
  $img_tags = $matches[0];
1688
  if (isset($img_tags[$meta_order])) {
 
1689
  // remove attr
1690
+ preg_match_all('/(alt)=("[^"]*")/i', $img_tags[$meta_order], $atts);
1691
+ if (isset($atts[0][0])) {
1692
+ $img_tags[$meta_order] = str_replace($atts[0][0], '', $img_tags[$meta_order]);
1693
+ }
1694
+ $img_tags[$meta_order] = preg_replace('/alt\s*=\s*(\'|").+(\'|")/i', '', $img_tags[$meta_order]);
 
1695
  // update attr
1696
  $img_tags[$meta_order] = preg_replace(
1697
  '/(<img\b[^><]*)>/i',
1715
  if (!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))) {
1716
  $response->msg = esc_html__('The post haven\'t been updated, please check again!', 'wp-meta-seo');
1717
  } else {
1718
+ // compatible with elementor plugin (alt tag not display on frontend)
1719
+ delete_post_meta($post->ID, '_elementor_edit_mode');
1720
  update_option('wpms_last_update_post', time());
1721
  $response->updated = true;
1722
  $response->msg = ucfirst($meta_type) . esc_html__(' was saved', 'wp-meta-seo');
js/wpms-broken-link.js CHANGED
@@ -1,13 +1,5 @@
1
  jQuery(document).ready(function ($) {
2
  var broken_linkId = 0;
3
- var correctedURL;
4
- $('.wpms-link-url-field,.custom_redirect_url_redirect').on('keyup', function () {
5
- var url = $.trim($(this).val());
6
- if (url && correctedURL !== url && !/^(?:[a-z]+:|#|\?|\.|\/)/.test(url)) {
7
- $(this).val('http://' + url);
8
- correctedURL = url;
9
- }
10
- });
11
 
12
  /*
13
  * Scan all link in posts , pages and comments
@@ -250,7 +242,8 @@ jQuery(document).ready(function ($) {
250
  if (res.status) {
251
  $this.closest('td').find('.wpms-inline-editor-content').hide();
252
  //if(res.type != '404_automaticaly'){
253
- $this.closest('td').find('.link_html').html(res.new_link).attr('href', res.new_link);
 
254
  $this.closest('tr').find('.col_status').html(res.status_text);
255
 
256
  var status = res.status_text;
1
  jQuery(document).ready(function ($) {
2
  var broken_linkId = 0;
 
 
 
 
 
 
 
 
3
 
4
  /*
5
  * Scan all link in posts , pages and comments
242
  if (res.status) {
243
  $this.closest('td').find('.wpms-inline-editor-content').hide();
244
  //if(res.type != '404_automaticaly'){
245
+ $this.closest('td').find('.link_html').html(new_link).attr('href', new_link);
246
+ $this.closest('td').find('.link_html_redirect').html(link_redirect).attr('href', link_redirect);
247
  $this.closest('tr').find('.col_status').html(res.status_text);
248
 
249
  var status = res.status_text;
languages/wp-meta-seo-en_US.mo CHANGED
Binary file
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: JoomUnited
3
  Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
4
  Requires at least: 4.0
5
- Tested up to: 4.9.6
6
- Stable tag: 3.7.3
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -174,12 +174,13 @@ The redirect manager will help you to fix all types of 404 errors you can encoun
174
  * Google Ananlytics tracking and statistics display
175
 
176
  = Main plugins from JoomUnited: =
177
- * WP Media Folder: <a href="https://www.joomunited.com/wordpress-products/wp-media-folder" rel="friend"> https://www.joomunited.com/wordpress-products/wp-media-folder</a>
178
- * WP File Download: <a href="https://www.joomunited.com/wordpress-products/wp-table-manager" rel="friend"> https://www.joomunited.com/wordpress-products/wp-table-manager</a>
179
- * WP Table Manager: <a href="https://www.joomunited.com/wordpress-products/wp-file-download" rel="friend">https://www.joomunited.com/wordpress-products/wp-file-download</a>
180
- * WP Speed of Light: <a href="https://www.joomunited.com/wordpress-products/wp-speed-of-light" rel="friend">https://www.joomunited.com/wordpress-products/wp-speed-of-light</a>
181
- * WP Latest Posts: <a href="https://www.joomunited.com/wordpress-products/wp-latest-posts" rel="friend">https://www.joomunited.com/wordpress-products/wp-latest-posts</a>
182
- * WP Smart Editor: <a href="https://wordpress.org/plugins/wp-smart-editor" rel="friend">https://wordpress.org/plugins/wp-smart-editor</a>
 
183
 
184
 
185
  = Support =
@@ -276,6 +277,10 @@ Yes WP Meta SEO is compatible with Gutenberg editor since 3.7 version.
276
 
277
  == Changelog ==
278
 
 
 
 
 
279
  = 3.7.3 =
280
  * Fix : Enhance code readability and performance
281
 
2
  Contributors: JoomUnited
3
  Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
4
  Requires at least: 4.0
5
+ Tested up to: 4.9.7
6
+ Stable tag: 3.7.4
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
174
  * Google Ananlytics tracking and statistics display
175
 
176
  = Main plugins from JoomUnited: =
177
+
178
+ * <a href="https://www.joomunited.com/wordpress-products/wp-media-folder" rel="friend">WP Media Folder:</a> Supercharge your media library with folders
179
+ * <a href="https://www.joomunited.com/wordpress-products/wp-file-download" rel="friend">WP File Download: </a> Best in class file and document manager
180
+ * <a href="https://www.joomunited.com/wordpress-products/wp-speed-of-light" rel="friend">WP Speed of Light: </a> Speedup your website in an easy way
181
+ * <a href="https://www.joomunited.com/wordpress-products/wp-latest-posts" rel="friend">WP Latest Posts: </a> Super flexible latest posts and content
182
+ * <a href="https://www.joomunited.com/wordpress-products/wp-table-manager" rel="friend"> WP Table Manager: </a> Create and manage tables with style
183
+ * <a href="https://www.joomunited.com/wordpress-products/advanced-gutenberg" rel="friend"> Advanced Gutenberg: </a> Light and efficient WP page builder
184
 
185
 
186
  = Support =
277
 
278
  == Changelog ==
279
 
280
+ = 3.7.4 =
281
+ * Fix : Update alt meta for Elementor image in content
282
+ * Fix : Redirect URL
283
+
284
  = 3.7.3 =
285
  * Fix : Enhance code readability and performance
286
 
wp-meta-seo.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: WP Meta SEO
5
  * Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
6
  * Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
7
- * Version: 3.7.3
8
  * Text Domain: wp-meta-seo
9
  * Domain Path: /languages
10
  * Author: JoomUnited
@@ -90,7 +90,7 @@ if (!defined('WPMSEO_VERSION')) {
90
  /**
91
  * Plugin version
92
  */
93
- define('WPMSEO_VERSION', '3.7.3');
94
  }
95
 
96
  if (!defined('WPMS_CLIENTID')) {
@@ -639,13 +639,24 @@ function wpmsTemplateRedirect()
639
  if (is_404()) {
640
  if (isset($_SERVER['REQUEST_URI'])) {
641
  $url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 
 
 
 
 
 
 
 
 
642
  $check = $wpdb->get_results($wpdb->prepare(
643
- 'SELECT * FROM ' . $wpdb->prefix . 'wpms_links WHERE (link_url=%s OR link_url=%s)',
644
  array(
645
  $url,
646
- esc_url($url)
 
647
  )
648
  ));
 
649
  if (count($check) === 0) {
650
  // insert url
651
  $insert = array(
@@ -663,12 +674,14 @@ function wpmsTemplateRedirect()
663
  } else {
664
  // update url
665
  $links_broken = $wpdb->get_row($wpdb->prepare(
666
- 'SELECT * FROM ' . $wpdb->prefix . 'wpms_links WHERE (link_url=%s OR link_url=%s) ',
667
  array(
668
  $url,
669
- esc_url($url)
 
670
  )
671
  ));
 
672
  if (!empty($links_broken)) {
673
  $value = array('hit' => (int) $links_broken->hit + 1);
674
  $wpdb->update(
@@ -766,15 +779,24 @@ function wpmsTemplateRedirect()
766
  $target = '';
767
  $status_redirect = 302;
768
  foreach ($all_links as $link) {
769
- if (strpos($link->link_url, '*')) {
770
- $link->link_url = str_replace('/*', '/(.*)', $link->link_url);
771
- if ((preg_match('@' . str_replace('@', '\\@', $link->link_url) . '@', $url, $matches) > 0) || (preg_match('@' . str_replace('@', '\\@', $link->link_url) . '@', urldecode($url), $matches) > 0)) { // Check if our match wants this URL
772
- $target = $link->link_url_redirect;
773
- if ($link->type === 'add_custom') {
774
- $status_redirect = $link->meta_title;
775
- }
776
- break;
 
 
 
 
 
 
 
 
777
  }
 
778
  }
779
  }
780
 
4
  * Plugin Name: WP Meta SEO
5
  * Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
6
  * Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
7
+ * Version: 3.7.4
8
  * Text Domain: wp-meta-seo
9
  * Domain Path: /languages
10
  * Author: JoomUnited
90
  /**
91
  * Plugin version
92
  */
93
+ define('WPMSEO_VERSION', '3.7.4');
94
  }
95
 
96
  if (!defined('WPMS_CLIENTID')) {
639
  if (is_404()) {
640
  if (isset($_SERVER['REQUEST_URI'])) {
641
  $url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
642
+ if (isset($_SERVER['HTTPS']) &&
643
+ ($_SERVER['HTTPS'] === 'on' || (int) $_SERVER['HTTPS'] === 1) ||
644
+ isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
645
+ $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
646
+ $protocol = 'https://';
647
+ } else {
648
+ $protocol = 'http://';
649
+ }
650
+ $esc_url = str_replace(array('http://', 'https://'), $protocol, esc_url($url));
651
  $check = $wpdb->get_results($wpdb->prepare(
652
+ 'SELECT * FROM ' . $wpdb->prefix . 'wpms_links WHERE (link_url=%s OR link_url=%s OR link_url=%s)',
653
  array(
654
  $url,
655
+ $esc_url,
656
+ $_SERVER['REQUEST_URI']
657
  )
658
  ));
659
+
660
  if (count($check) === 0) {
661
  // insert url
662
  $insert = array(
674
  } else {
675
  // update url
676
  $links_broken = $wpdb->get_row($wpdb->prepare(
677
+ 'SELECT * FROM ' . $wpdb->prefix . 'wpms_links WHERE (link_url=%s OR link_url=%s OR link_url=%s) ',
678
  array(
679
  $url,
680
+ $esc_url,
681
+ $_SERVER['REQUEST_URI']
682
  )
683
  ));
684
+
685
  if (!empty($links_broken)) {
686
  $value = array('hit' => (int) $links_broken->hit + 1);
687
  $wpdb->update(
779
  $target = '';
780
  $status_redirect = 302;
781
  foreach ($all_links as $link) {
782
+ $link->link_url = str_replace('/*', '/(.*)', $link->link_url);
783
+ if ((preg_match('@' . str_replace('@', '\\@', $link->link_url) . '@', $url, $matches) > 0) || (preg_match('@' . str_replace('@', '\\@', $link->link_url) . '@', urldecode($url), $matches) > 0)) { // Check if our match wants this URL
784
+ $target = $link->link_url_redirect;
785
+ if ($link->type === 'add_custom') {
786
+ $status_redirect = $link->meta_title;
787
+ }
788
+ break;
789
+ }
790
+
791
+ if (home_url($url) === $link->link_url || home_url($url) === home_url($link->link_url)) {
792
+ $target = $link->link_url_redirect;
793
+
794
+ if ($link->type === 'add_custom') {
795
+ $status_redirect = $link->meta_title;
796
+ wp_redirect($target, $status_redirect);
797
+ exit();
798
  }
799
+ break;
800
  }
801
  }
802