SEOPress - Version 3.8.3

Version Description

  • NEW Add sitemaps / URLs count
  • INFO Improve translations
  • INFO Hide drop-down list of redirect categories if no category
  • INFO Improve UI to clean 404 errors
  • FIX Google News XML sitemap
  • FIX Fatal error seopress_capability() if Free version is not installed/activated
  • FIX JS error in SEO metabox
Download this release

Release Info

Developer rainbowgeek
Plugin Icon 128x128 SEOPress
Version 3.8.3
Comparing to
See all releases

Code changes from version 3.8.2.3 to 3.8.3

contributors.txt CHANGED
@@ -14,6 +14,7 @@ A11Y:
14
  Beta testers / feedbacks:
15
  - Mickael Gris: mickael.gris@gmail.com / @mickaelgris
16
  - Aurélien Denis: aurelien.denis@neticpro.fr / @wpchannel
 
17
  - Sébastien Serre: @sebastienserre
18
  - Ludovic Riaudel: @lriaudel
19
  - Philippe Fronzes: @novaldi64
14
  Beta testers / feedbacks:
15
  - Mickael Gris: mickael.gris@gmail.com / @mickaelgris
16
  - Aurélien Denis: aurelien.denis@neticpro.fr / @wpchannel
17
+ - Thomas Piron: @crash_47
18
  - Sébastien Serre: @sebastienserre
19
  - Ludovic Riaudel: @lriaudel
20
  - Philippe Fronzes: @novaldi64
inc/admin/admin-metaboxes-form.php CHANGED
@@ -103,7 +103,7 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
103
  <p style="margin-bottom:0">
104
  <label for="seopress_titles_title_meta">'
105
  . __( 'Title', 'wp-seopress' )
106
- . seopress_tooltip(__('Meta title','wp-seopress'), __('Titles are critical to giving users a quick insight into the content of a result and why it’s relevant to their query. It\'s often the primary piece of information used to decide which result to click on, so it\'s important to use high-quality titles on your web pages.','wp-seopress'), esc_html('<title>My super title</title>')).
107
  '</label>
108
  <input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
109
  </p>
@@ -214,42 +214,42 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
214
  <label for="seopress_robots_index_meta">
215
  <input type="checkbox" name="seopress_robots_index" id="seopress_robots_index_meta" value="yes" '. checked( $seopress_robots_index, 'yes', false ) .' '.$disabled['robots_index'].'/>
216
  '. __( 'Do not display this page in search engine results / XML - HTML sitemaps <strong>(noindex)</strong>', 'wp-seopress' ) .'
217
- '.seopress_tooltip(__('"noindex" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noindex". <br>Search engines will not index this URL in the search results.','wp-seopress'), esc_html('<meta name="robots" content="noindex" />')).'
218
  </label>
219
  </p>
220
  <p>
221
  <label for="seopress_robots_follow_meta">
222
  <input type="checkbox" name="seopress_robots_follow" id="seopress_robots_follow_meta" value="yes" '. checked( $seopress_robots_follow, 'yes', false ) .' '.$disabled['robots_follow'].'/>
223
  '. __( 'Do not follow links for this page <strong>(nofollow)</strong>', 'wp-seopress' ) .'
224
- '.seopress_tooltip(__('"nofollow" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "nofollow". <br>Search engines will not follow links from this URL.','wp-seopress'), esc_html('<meta name="robots" content="nofollow" />')).'
225
  </label>
226
  </p>
227
  <p>
228
  <label for="seopress_robots_odp_meta">
229
  <input type="checkbox" name="seopress_robots_odp" id="seopress_robots_odp_meta" value="yes" '. checked( $seopress_robots_odp, 'yes', false ) .' '.$disabled['robots_odp'].'/>
230
  '. __( 'Do not use Open Directory project metadata for titles or excerpts for this page <strong>(noodp)</strong>', 'wp-seopress' ) .'
231
- '.seopress_tooltip(__('"noodp" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noodp". <br>Note that Google and Yahoo have stopped considering this tag since the closing of DMOZ directory.','wp-seopress'), esc_html('<meta name="robots" content="noodp" />')).'
232
  </label>
233
  </p>
234
  <p>
235
  <label for="seopress_robots_imageindex_meta">
236
  <input type="checkbox" name="seopress_robots_imageindex" id="seopress_robots_imageindex_meta" value="yes" '. checked( $seopress_robots_imageindex, 'yes', false ) .' '.$disabled['imageindex'].'/>
237
  '. __( 'Do not index images for this page <strong>(noimageindex)</strong>', 'wp-seopress' ) .'
238
- '.seopress_tooltip(__('"noimageindex" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noimageindex". <br> Note that your images can always be indexed if they are linked from other pages.','wp-seopress'), esc_html('<meta name="google" content="noimageindex" />')).'
239
  </label>
240
  </p>
241
  <p>
242
  <label for="seopress_robots_archive_meta">
243
  <input type="checkbox" name="seopress_robots_archive" id="seopress_robots_archive_meta" value="yes" '. checked( $seopress_robots_archive, 'yes', false ) .' '.$disabled['archive'].'/>
244
  '. __( 'Do not display a "Cached" link in the Google search results <strong>(noarchive)</strong>', 'wp-seopress' ) .'
245
- '.seopress_tooltip(__('"noarchive" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noarchive".','wp-seopress'), esc_html('<meta name="robots" content="noarchive" />')).'
246
  </label>
247
  </p>
248
  <p>
249
  <label for="seopress_robots_snippet_meta">
250
  <input type="checkbox" name="seopress_robots_snippet" id="seopress_robots_snippet_meta" value="yes" '. checked( $seopress_robots_snippet, 'yes', false ) .' '.$disabled['snippet'].'/>
251
  '. __( 'Do not display a description in search results for this page <strong>(nosnippet)</strong>', 'wp-seopress' ) .'
252
- '.seopress_tooltip(__('"nosnippet" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "nosnippet".','wp-seopress'), esc_html('<meta name="robots" content="nosnippet" />')).'
253
  </label>
254
  </p>
255
  <p class="description">';
@@ -340,7 +340,7 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
340
  <div class="snippet-meta">
341
  <div class="snippet-fb-url"></div>
342
  <div class="fb-sep">|</div>
343
- <div class="fb-by">'.__('By ','wp-seopress').'</div>
344
  <div class="snippet-fb-site-name"></div>
345
  </div>
346
  <div class="title-desc">
103
  <p style="margin-bottom:0">
104
  <label for="seopress_titles_title_meta">'
105
  . __( 'Title', 'wp-seopress' )
106
+ . seopress_tooltip(__('Meta title','wp-seopress'), __('Titles are critical to give users a quick insight into the content of a result and why it’s relevant to their query. It\'s often the primary piece of information used to decide which result to click on, so it\'s important to use high-quality titles on your web pages.','wp-seopress'), esc_html('<title>My super title</title>')).
107
  '</label>
108
  <input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
109
  </p>
214
  <label for="seopress_robots_index_meta">
215
  <input type="checkbox" name="seopress_robots_index" id="seopress_robots_index_meta" value="yes" '. checked( $seopress_robots_index, 'yes', false ) .' '.$disabled['robots_index'].'/>
216
  '. __( 'Do not display this page in search engine results / XML - HTML sitemaps <strong>(noindex)</strong>', 'wp-seopress' ) .'
217
+ '.seopress_tooltip(__('"noindex" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "noindex". <br>Search engines will not index this URL in the search results.','wp-seopress'), esc_html('<meta name="robots" content="noindex" />')).'
218
  </label>
219
  </p>
220
  <p>
221
  <label for="seopress_robots_follow_meta">
222
  <input type="checkbox" name="seopress_robots_follow" id="seopress_robots_follow_meta" value="yes" '. checked( $seopress_robots_follow, 'yes', false ) .' '.$disabled['robots_follow'].'/>
223
  '. __( 'Do not follow links for this page <strong>(nofollow)</strong>', 'wp-seopress' ) .'
224
+ '.seopress_tooltip(__('"nofollow" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "nofollow". <br>Search engines will not follow links from this URL.','wp-seopress'), esc_html('<meta name="robots" content="nofollow" />')).'
225
  </label>
226
  </p>
227
  <p>
228
  <label for="seopress_robots_odp_meta">
229
  <input type="checkbox" name="seopress_robots_odp" id="seopress_robots_odp_meta" value="yes" '. checked( $seopress_robots_odp, 'yes', false ) .' '.$disabled['robots_odp'].'/>
230
  '. __( 'Do not use Open Directory project metadata for titles or excerpts for this page <strong>(noodp)</strong>', 'wp-seopress' ) .'
231
+ '.seopress_tooltip(__('"noodp" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "noodp". <br>Note that Google and Yahoo have stopped considering this tag since the closing of DMOZ directory.','wp-seopress'), esc_html('<meta name="robots" content="noodp" />')).'
232
  </label>
233
  </p>
234
  <p>
235
  <label for="seopress_robots_imageindex_meta">
236
  <input type="checkbox" name="seopress_robots_imageindex" id="seopress_robots_imageindex_meta" value="yes" '. checked( $seopress_robots_imageindex, 'yes', false ) .' '.$disabled['imageindex'].'/>
237
  '. __( 'Do not index images for this page <strong>(noimageindex)</strong>', 'wp-seopress' ) .'
238
+ '.seopress_tooltip(__('"noimageindex" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "noimageindex". <br> Note that your images can always be indexed if they are linked from other pages.','wp-seopress'), esc_html('<meta name="google" content="noimageindex" />')).'
239
  </label>
240
  </p>
241
  <p>
242
  <label for="seopress_robots_archive_meta">
243
  <input type="checkbox" name="seopress_robots_archive" id="seopress_robots_archive_meta" value="yes" '. checked( $seopress_robots_archive, 'yes', false ) .' '.$disabled['archive'].'/>
244
  '. __( 'Do not display a "Cached" link in the Google search results <strong>(noarchive)</strong>', 'wp-seopress' ) .'
245
+ '.seopress_tooltip(__('"noarchive" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "noarchive".','wp-seopress'), esc_html('<meta name="robots" content="noarchive" />')).'
246
  </label>
247
  </p>
248
  <p>
249
  <label for="seopress_robots_snippet_meta">
250
  <input type="checkbox" name="seopress_robots_snippet" id="seopress_robots_snippet_meta" value="yes" '. checked( $seopress_robots_snippet, 'yes', false ) .' '.$disabled['snippet'].'/>
251
  '. __( 'Do not display a description in search results for this page <strong>(nosnippet)</strong>', 'wp-seopress' ) .'
252
+ '.seopress_tooltip(__('"nosnippet" robots meta tag','wp-seopress'), __('By checking this option, you will add a meta robots tag with the value "nosnippet".','wp-seopress'), esc_html('<meta name="robots" content="nosnippet" />')).'
253
  </label>
254
  </p>
255
  <p class="description">';
340
  <div class="snippet-meta">
341
  <div class="snippet-fb-url"></div>
342
  <div class="fb-sep">|</div>
343
+ <div class="fb-by">'.__('By&nbsp;','wp-seopress').'</div>
344
  <div class="snippet-fb-site-name"></div>
345
  </div>
346
  <div class="title-desc">
inc/admin/admin.php CHANGED
@@ -999,7 +999,16 @@ class seopress_options
999
  <div class="inside">
1000
  <h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
1001
  <p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
1002
- <p><?php echo sprintf(__( 'Make sure you have enable 404 cleaning from SEO, PRO, <a href="%s">404/301</a> tab to be able to delete all your 404 errors.', 'wp-seopress' ), admin_url( 'admin.php?page=seopress-pro-page' )); ?></p>
 
 
 
 
 
 
 
 
 
1003
  <form method="post">
1004
  <p><input type="hidden" name="seopress_action" value="clean_404" /></p>
1005
  <p>
@@ -2607,6 +2616,7 @@ class seopress_options
2607
  rewrite ^/sitemaps\.xml$ /index.php?seopress_sitemap=1 last;
2608
  rewrite ^/sitemaps/news.xml$ /index.php?seopress_news=$1 last;
2609
  rewrite ^/sitemaps/video.xml$ /index.php?seopress_video=$1 last;
 
2610
  rewrite ^/sitemaps_xsl\.xsl$ /index.php?seopress_sitemap_xsl=1 last;
2611
  rewrite ^/sitemaps/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?seopress_cpt=$1&seopress_paged=$2 last;
2612
  }
@@ -2625,8 +2635,8 @@ class seopress_options
2625
  }
2626
  }
2627
 
2628
- echo '<p><a href="'.$seopress_docs_link['sitemaps']['error']['blank'].'" target="_blank">'.__('Blank sitemap?', 'wp-seopress').'</a> - ';
2629
- echo '<a href="'.$seopress_docs_link['sitemaps']['error']['404'].'" target="_blank">'.__('404 error?', 'wp-seopress').'</a></p><br>';
2630
 
2631
  echo '<a href="'.get_option( 'home' ).'/sitemaps.xml" target="_blank" class="button"><span class="dashicons dashicons-visibility"></span>'.__('View your sitemap','wp-seopress').'</a>';
2632
  echo '&nbsp;';
@@ -3614,7 +3624,7 @@ class seopress_options
3614
 
3615
  echo '<label for="seopress_titles_paged_rel">'. __( 'Add rel next/prev link in head of paginated archive pages', 'wp-seopress' ) .'</label>';
3616
 
3617
- echo '<p class="description"><a href="https://support.google.com/webmasters/answer/1663744?hl=en" target="_blank">'.__('Learn more on Google website','wp-seopress').'</p>';
3618
 
3619
  if (isset($this->options['seopress_titles_paged_rel'])) {
3620
  esc_attr( $this->options['seopress_titles_paged_rel']);
999
  <div class="inside">
1000
  <h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
1001
  <p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
1002
+ <p><?php echo sprintf(__( 'Make sure you have enabled 404 cleaning from SEO, PRO, <a href="%s">404/301</a> tab to be able to delete all your 404 errors.', 'wp-seopress' ), admin_url( 'admin.php?page=seopress-pro-page' )); ?></p>
1003
+ <p><?php
1004
+ if (function_exists('seopress_get_locale')) {
1005
+ if (seopress_get_locale() =='fr') {
1006
+ $seopress_docs_link['support']['redirects']['query'] = 'https://www.seopress.org/fr/support/guides/nettoyez-vos-erreurs-404-a-laide-dune-requete-mysql/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
1007
+ } else {
1008
+ $seopress_docs_link['support']['redirects']['query'] = 'https://www.seopress.org/support/guides/delete-your-404-errors-with-a-mysql-query/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
1009
+ }
1010
+ }
1011
+ echo sprintf(__('You can also use <span class="dashicons dashicons-external"></span><a href="%s" target="_blank">this MySQL query</a> if necessary.','wp-seopress'),$seopress_docs_link['support']['redirects']['query']); ?></p>
1012
  <form method="post">
1013
  <p><input type="hidden" name="seopress_action" value="clean_404" /></p>
1014
  <p>
2616
  rewrite ^/sitemaps\.xml$ /index.php?seopress_sitemap=1 last;
2617
  rewrite ^/sitemaps/news.xml$ /index.php?seopress_news=$1 last;
2618
  rewrite ^/sitemaps/video.xml$ /index.php?seopress_video=$1 last;
2619
+ rewrite ^/sitemaps/author.xml$ /index.php?seopress_author=$1 last;
2620
  rewrite ^/sitemaps_xsl\.xsl$ /index.php?seopress_sitemap_xsl=1 last;
2621
  rewrite ^/sitemaps/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?seopress_cpt=$1&seopress_paged=$2 last;
2622
  }
2635
  }
2636
  }
2637
 
2638
+ echo '<p><span class="dashicons dashicons-external"></span><a href="'.$seopress_docs_link['sitemaps']['error']['blank'].'" target="_blank">'.__('Blank sitemap?', 'wp-seopress').'</a> - ';
2639
+ echo '<span class="dashicons dashicons-external"></span><a href="'.$seopress_docs_link['sitemaps']['error']['404'].'" target="_blank">'.__('404 error?', 'wp-seopress').'</a></p><br>';
2640
 
2641
  echo '<a href="'.get_option( 'home' ).'/sitemaps.xml" target="_blank" class="button"><span class="dashicons dashicons-visibility"></span>'.__('View your sitemap','wp-seopress').'</a>';
2642
  echo '&nbsp;';
3624
 
3625
  echo '<label for="seopress_titles_paged_rel">'. __( 'Add rel next/prev link in head of paginated archive pages', 'wp-seopress' ) .'</label>';
3626
 
3627
+ echo '<p class="description"><span class="dashicons dashicons-external"></span><a href="https://support.google.com/webmasters/answer/1663744?hl=en" target="_blank">'.__('Learn more on Google website','wp-seopress').'</p>';
3628
 
3629
  if (isset($this->options['seopress_titles_paged_rel'])) {
3630
  esc_attr( $this->options['seopress_titles_paged_rel']);
inc/admin/ajax.php CHANGED
@@ -7,7 +7,7 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
7
  function seopress_do_real_preview() {
8
  check_ajax_referer( 'seopress_real_preview_nonce', $_GET['_ajax_nonce'], true );
9
 
10
- if ( current_user_can( seopress_capability('edit_posts', 'real_preview' ) && is_admin() ) ) {
11
 
12
  //Get cookies
13
  if (isset($_COOKIE)) {
7
  function seopress_do_real_preview() {
8
  check_ajax_referer( 'seopress_real_preview_nonce', $_GET['_ajax_nonce'], true );
9
 
10
+ if ( current_user_can( 'edit_posts' ) && is_admin() ) {
11
 
12
  //Get cookies
13
  if (isset($_COOKIE)) {
inc/functions/options-advanced-admin.php CHANGED
@@ -763,7 +763,7 @@ function seopress_bulk_action_redirect_disable_admin_notice() {
763
  if ( ! empty( $_REQUEST['bulk_disable_redirects_posts'] ) ) {
764
  $enable_count = intval( $_REQUEST['bulk_disable_redirects_posts'] );
765
  printf( '<div id="message" class="updated fade"><p>' .
766
- _n( '%s redirections disabled.',
767
  '%s redirections disabled.',
768
  $enable_count,
769
  'wp-seopress'
763
  if ( ! empty( $_REQUEST['bulk_disable_redirects_posts'] ) ) {
764
  $enable_count = intval( $_REQUEST['bulk_disable_redirects_posts'] );
765
  printf( '<div id="message" class="updated fade"><p>' .
766
+ _n( '%s redirection disabled.',
767
  '%s redirections disabled.',
768
  $enable_count,
769
  'wp-seopress'
inc/functions/sitemap/template-xml-sitemaps-xsl.php CHANGED
@@ -33,7 +33,7 @@ function seopress_xml_sitemap_index_xsl() {
33
  $seopress_sitemaps_xsl .='<head>';
34
  $seopress_sitemaps_xsl .="\n";
35
  $seopress_sitemaps_xsl .='<title>XML Sitemaps</title>';
36
- $seopress_sitemaps_xsl .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
37
  $seopress_sitemaps_xsl .="\n";
38
  $seopress_sitemaps_xsl .='<style type="text/css">
39
  * {
@@ -125,10 +125,16 @@ function seopress_xml_sitemap_index_xsl() {
125
  $seopress_sitemaps_xsl .='<div id="main">';
126
  $seopress_sitemaps_xsl .='<h1>'.__('XML Sitemaps','wp-seopress').'</h1>';
127
  $seopress_sitemaps_xsl .='<p><a href="'.$home_url.'sitemaps.xml">Index sitemaps</a></p>';
 
 
 
 
 
 
128
  $seopress_sitemaps_xsl .='<div id="sitemaps">';
129
  $seopress_sitemaps_xsl .='<div class="loc">';
130
  $seopress_sitemaps_xsl .='URL';
131
- $seopress_sitemaps_xsl .='</div>';
132
  $seopress_sitemaps_xsl .='<div class="lastmod">';
133
  $seopress_sitemaps_xsl .='Last update';
134
  $seopress_sitemaps_xsl .='</div>';
33
  $seopress_sitemaps_xsl .='<head>';
34
  $seopress_sitemaps_xsl .="\n";
35
  $seopress_sitemaps_xsl .='<title>XML Sitemaps</title>';
36
+ $seopress_sitemaps_xsl .='<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
37
  $seopress_sitemaps_xsl .="\n";
38
  $seopress_sitemaps_xsl .='<style type="text/css">
39
  * {
125
  $seopress_sitemaps_xsl .='<div id="main">';
126
  $seopress_sitemaps_xsl .='<h1>'.__('XML Sitemaps','wp-seopress').'</h1>';
127
  $seopress_sitemaps_xsl .='<p><a href="'.$home_url.'sitemaps.xml">Index sitemaps</a></p>';
128
+ $seopress_sitemaps_xsl .='<xsl:if test="sitemap:sitemapindex/sitemap:sitemap">';
129
+ $seopress_sitemaps_xsl .='<p>'.sprintf(__('This XML Sitemap Index file contains %s sitemaps.','wp-seopress'),'<xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"/>').'</p>';
130
+ $seopress_sitemaps_xsl .='</xsl:if>';
131
+ $seopress_sitemaps_xsl .='<xsl:if test="sitemap:urlset/sitemap:url">';
132
+ $seopress_sitemaps_xsl .='<p>'.sprintf(__('This XML Sitemap contains %s URL(s).','wp-seopress'),'<xsl:value-of select="count(sitemap:urlset/sitemap:url)"/>').'</p>';
133
+ $seopress_sitemaps_xsl .='</xsl:if>';
134
  $seopress_sitemaps_xsl .='<div id="sitemaps">';
135
  $seopress_sitemaps_xsl .='<div class="loc">';
136
  $seopress_sitemaps_xsl .='URL';
137
+ $seopress_sitemaps_xsl .='</div>';
138
  $seopress_sitemaps_xsl .='<div class="lastmod">';
139
  $seopress_sitemaps_xsl .='Last update';
140
  $seopress_sitemaps_xsl .='</div>';
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge grap
6
  Requires at least: 4.7+
7
  Tested up to: 5.3
8
  Requires PHP: 5.6
9
- Stable tag: 3.8.2.3
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -222,6 +222,14 @@ You're theme is probably using a deprecated function to handle the title. <a hre
222
  7. Installation Wizard
223
 
224
  == Changelog ==
 
 
 
 
 
 
 
 
225
  = 3.8.2.3 =
226
  * NEW 'seopress_ob_end_flush_all' hook to activate on demand wp_ob_end_flush_all for sitemaps (https://www.seopress.org/support/hooks/activate-wp_ob_end_flush_all-for-sitemaps/)
227
  * FIX sitemaps
6
  Requires at least: 4.7+
7
  Tested up to: 5.3
8
  Requires PHP: 5.6
9
+ Stable tag: 3.8.3
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
222
  7. Installation Wizard
223
 
224
  == Changelog ==
225
+ = 3.8.3 =
226
+ * NEW Add sitemaps / URLs count
227
+ * INFO Improve translations
228
+ * INFO Hide drop-down list of redirect categories if no category
229
+ * INFO Improve UI to clean 404 errors
230
+ * FIX Google News XML sitemap
231
+ * FIX Fatal error seopress_capability() if Free version is not installed/activated
232
+ * FIX JS error in SEO metabox
233
  = 3.8.2.3 =
234
  * NEW 'seopress_ob_end_flush_all' hook to activate on demand wp_ob_end_flush_all for sitemaps (https://www.seopress.org/support/hooks/activate-wp_ob_end_flush_all-for-sitemaps/)
235
  * FIX sitemaps
seopress.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
- Version: 3.8.2.3
7
  Author: SEOPress
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
@@ -54,7 +54,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
54
  ///////////////////////////////////////////////////////////////////////////////////////////////////
55
  //Define
56
  ///////////////////////////////////////////////////////////////////////////////////////////////////
57
- define( 'SEOPRESS_VERSION', '3.8.2.3' );
58
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
59
 
60
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -423,9 +423,13 @@ function seopress_plugin_action_links($links, $file) {
423
  return $links;
424
  }
425
 
426
- ///////////////////////////////////////////////////////////////////////////////////////////////////
427
- //Get all registered post types
428
- ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
 
429
  function seopress_get_post_types() {
430
  global $wp_post_types;
431
 
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
+ Version: 3.8.3
7
  Author: SEOPress
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
54
  ///////////////////////////////////////////////////////////////////////////////////////////////////
55
  //Define
56
  ///////////////////////////////////////////////////////////////////////////////////////////////////
57
+ define( 'SEOPRESS_VERSION', '3.8.3' );
58
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
59
 
60
  ///////////////////////////////////////////////////////////////////////////////////////////////////
423
  return $links;
424
  }
425
 
426
+ /**
427
+ * Get all registered post types
428
+ *
429
+ * @author Benjamin Denis
430
+ *
431
+ * @return (array) $wp_post_types
432
+ **/
433
  function seopress_get_post_types() {
434
  global $wp_post_types;
435