Version Description
- NEW Add 'seopress_bot_query' hook to filter the broken links checker query
- INFO Relevanssi users: posts marked as noindex are no longer indexed by default (Relevanssi 4.3.2 required)
- INFO Updated Chart JS library
- FIX primary category in XML sitemaps
- FIX meta robots / canonical tags for static blog page
- FIX Breadcrumbs with before / after HTML hooks (thanks to @wpchannel)
Download this release
Release Info
Developer | rainbowgeek |
Plugin | SEOPress |
Version | 3.6.4 |
Comparing to | |
See all releases |
Code changes from version 3.6.3 to 3.6.4
inc/functions/options-titles-metas.php
CHANGED
@@ -794,6 +794,8 @@ function seopress_titles_noindex_bypass() {
|
|
794 |
$seopress_titles_noindex = seopress_titles_single_cpt_noindex_option();
|
795 |
} elseif (is_singular() && seopress_titles_noindex_post_option() ) { //Single CPT Metaboxe
|
796 |
$seopress_titles_noindex = seopress_titles_noindex_post_option();
|
|
|
|
|
797 |
} elseif (is_post_type_archive() && seopress_titles_archive_cpt_noindex_option() ) { //IS POST TYPE ARCHIVE
|
798 |
$seopress_titles_noindex = seopress_titles_archive_cpt_noindex_option();
|
799 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_noindex_option()) { //IS TAX
|
@@ -899,6 +901,8 @@ function seopress_titles_nofollow_bypass() {
|
|
899 |
$seopress_titles_nofollow = seopress_titles_single_cpt_nofollow_option();
|
900 |
} elseif (is_singular() && seopress_titles_nofollow_post_option() ) { //Single CPT Metaboxe
|
901 |
$seopress_titles_nofollow = seopress_titles_nofollow_post_option();
|
|
|
|
|
902 |
} elseif (is_post_type_archive() && seopress_titles_archive_cpt_nofollow_option() ) { //IS POST TYPE ARCHIVE
|
903 |
$seopress_titles_nofollow = seopress_titles_archive_cpt_nofollow_option();
|
904 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_nofollow_option()) { //IS TAX
|
@@ -1008,6 +1012,8 @@ function seopress_titles_noodp_bypass() {
|
|
1008 |
}
|
1009 |
elseif (is_singular() && seopress_titles_noodp_post_option()) {
|
1010 |
return seopress_titles_noodp_post_option();
|
|
|
|
|
1011 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1012 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_odp',true) == 'yes') {
|
1013 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_odp',true);
|
@@ -1037,9 +1043,10 @@ function seopress_titles_noarchive_post_option() {
|
|
1037 |
function seopress_titles_noarchive_bypass() {
|
1038 |
if (seopress_titles_noarchive_option()) {
|
1039 |
return seopress_titles_noarchive_option();
|
1040 |
-
}
|
1041 |
-
elseif (is_singular() && seopress_titles_noarchive_post_option()) {
|
1042 |
return seopress_titles_noarchive_post_option();
|
|
|
|
|
1043 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1044 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_archive',true) == 'yes') {
|
1045 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_archive',true);
|
@@ -1053,9 +1060,9 @@ function seopress_titles_nosnippet_option() {
|
|
1053 |
if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
|
1054 |
foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
|
1055 |
$options[$key] = $seopress_titles_nosnippet_value;
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
}
|
1060 |
};
|
1061 |
|
@@ -1069,9 +1076,10 @@ function seopress_titles_nosnippet_post_option() {
|
|
1069 |
function seopress_titles_nosnippet_bypass() {
|
1070 |
if (seopress_titles_nosnippet_option()) {
|
1071 |
return seopress_titles_nosnippet_option();
|
1072 |
-
}
|
1073 |
-
elseif (is_singular() && seopress_titles_nosnippet_post_option()) {
|
1074 |
return seopress_titles_nosnippet_post_option();
|
|
|
|
|
1075 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1076 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_snippet',true) == 'yes') {
|
1077 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_snippet',true);
|
@@ -1252,6 +1260,16 @@ if (function_exists('seopress_titles_noindex_bypass') && seopress_titles_noindex
|
|
1252 |
echo $seopress_titles_canonical."\n";
|
1253 |
}
|
1254 |
add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1255 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_canonical_term_option()) { //CUSTOM TERM CANONICAL
|
1256 |
function seopress_titles_canonical_term_hook() {
|
1257 |
$seopress_titles_canonical = '<link rel="canonical" href="'.htmlspecialchars(urldecode(seopress_titles_canonical_term_option())).'" />';
|
794 |
$seopress_titles_noindex = seopress_titles_single_cpt_noindex_option();
|
795 |
} elseif (is_singular() && seopress_titles_noindex_post_option() ) { //Single CPT Metaboxe
|
796 |
$seopress_titles_noindex = seopress_titles_noindex_post_option();
|
797 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_index',true) !=''){ //BLOG PAGE
|
798 |
+
$seopress_titles_noindex = get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_index',true);
|
799 |
} elseif (is_post_type_archive() && seopress_titles_archive_cpt_noindex_option() ) { //IS POST TYPE ARCHIVE
|
800 |
$seopress_titles_noindex = seopress_titles_archive_cpt_noindex_option();
|
801 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_noindex_option()) { //IS TAX
|
901 |
$seopress_titles_nofollow = seopress_titles_single_cpt_nofollow_option();
|
902 |
} elseif (is_singular() && seopress_titles_nofollow_post_option() ) { //Single CPT Metaboxe
|
903 |
$seopress_titles_nofollow = seopress_titles_nofollow_post_option();
|
904 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_follow',true) !=''){ //BLOG PAGE
|
905 |
+
$seopress_titles_nofollow = get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_follow',true);
|
906 |
} elseif (is_post_type_archive() && seopress_titles_archive_cpt_nofollow_option() ) { //IS POST TYPE ARCHIVE
|
907 |
$seopress_titles_nofollow = seopress_titles_archive_cpt_nofollow_option();
|
908 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_nofollow_option()) { //IS TAX
|
1012 |
}
|
1013 |
elseif (is_singular() && seopress_titles_noodp_post_option()) {
|
1014 |
return seopress_titles_noodp_post_option();
|
1015 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_odp',true) !=''){ //BLOG PAGE
|
1016 |
+
return get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_odp',true);
|
1017 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1018 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_odp',true) == 'yes') {
|
1019 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_odp',true);
|
1043 |
function seopress_titles_noarchive_bypass() {
|
1044 |
if (seopress_titles_noarchive_option()) {
|
1045 |
return seopress_titles_noarchive_option();
|
1046 |
+
} elseif (is_singular() && seopress_titles_noarchive_post_option()) {
|
|
|
1047 |
return seopress_titles_noarchive_post_option();
|
1048 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_archive',true) !=''){ //BLOG PAGE
|
1049 |
+
return get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_archive',true);
|
1050 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1051 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_archive',true) == 'yes') {
|
1052 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_archive',true);
|
1060 |
if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
|
1061 |
foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
|
1062 |
$options[$key] = $seopress_titles_nosnippet_value;
|
1063 |
+
if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
|
1064 |
+
return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
|
1065 |
+
}
|
1066 |
}
|
1067 |
};
|
1068 |
|
1076 |
function seopress_titles_nosnippet_bypass() {
|
1077 |
if (seopress_titles_nosnippet_option()) {
|
1078 |
return seopress_titles_nosnippet_option();
|
1079 |
+
} elseif (is_singular() && seopress_titles_nosnippet_post_option()) {
|
|
|
1080 |
return seopress_titles_nosnippet_post_option();
|
1081 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_snippet',true) !=''){ //BLOG PAGE
|
1082 |
+
return get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_snippet',true);
|
1083 |
} elseif (is_tax() || is_category() || is_tag()) {
|
1084 |
if (get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_snippet',true) == 'yes') {
|
1085 |
return get_term_meta(get_queried_object()->{'term_id'},'_seopress_robots_snippet',true);
|
1260 |
echo $seopress_titles_canonical."\n";
|
1261 |
}
|
1262 |
add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1 );
|
1263 |
+
} elseif ( is_home() && get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_canonical',true) !=''){ //BLOG PAGE
|
1264 |
+
function seopress_titles_canonical_post_hook() {
|
1265 |
+
$seopress_titles_canonical = '<link rel="canonical" href="'.htmlspecialchars(urldecode(get_post_meta(get_option( 'page_for_posts' ),'_seopress_robots_canonical',true))).'" />';
|
1266 |
+
//Hook on post canonical URL - 'seopress_titles_canonical'
|
1267 |
+
if (has_filter('seopress_titles_canonical')) {
|
1268 |
+
$seopress_titles_canonical = apply_filters('seopress_titles_canonical', $seopress_titles_canonical);
|
1269 |
+
}
|
1270 |
+
echo $seopress_titles_canonical."\n";
|
1271 |
+
}
|
1272 |
+
add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1 );
|
1273 |
} elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_canonical_term_option()) { //CUSTOM TERM CANONICAL
|
1274 |
function seopress_titles_canonical_term_hook() {
|
1275 |
$seopress_titles_canonical = '<link rel="canonical" href="'.htmlspecialchars(urldecode(seopress_titles_canonical_term_option())).'" />';
|
inc/functions/sitemap/template-xml-sitemaps-single.php
CHANGED
@@ -4,6 +4,9 @@ defined( 'ABSPATH' ) or die( 'Please don’t call the plugin directly. Thank
|
|
4 |
//XML
|
5 |
Header('Content-type: text/xml');
|
6 |
|
|
|
|
|
|
|
7 |
//WPML
|
8 |
function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
|
9 |
return $url;
|
4 |
//XML
|
5 |
Header('Content-type: text/xml');
|
6 |
|
7 |
+
//Remove primary category
|
8 |
+
remove_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 );
|
9 |
+
|
10 |
//WPML
|
11 |
function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
|
12 |
return $url;
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge grap
|
|
6 |
Requires at least: 4.6+
|
7 |
Tested up to: 5.2
|
8 |
Requires PHP: 5.6
|
9 |
-
Stable tag: 3.6.
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
@@ -219,6 +219,13 @@ Any questions? Visit our website <a href="https://www.seopress.org?utm_source=w.
|
|
219 |
60. Installation Wizard
|
220 |
|
221 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
= 3.6.3 =
|
223 |
* INFO Improve code quality
|
224 |
* INFO Improve security
|
6 |
Requires at least: 4.6+
|
7 |
Tested up to: 5.2
|
8 |
Requires PHP: 5.6
|
9 |
+
Stable tag: 3.6.4
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
219 |
60. Installation Wizard
|
220 |
|
221 |
== Changelog ==
|
222 |
+
= 3.6.4 =
|
223 |
+
* NEW Add 'seopress_bot_query' hook to filter the broken links checker query
|
224 |
+
* INFO Relevanssi users: posts marked as noindex are no longer indexed by default (Relevanssi 4.3.2 required)
|
225 |
+
* INFO Updated Chart JS library
|
226 |
+
* FIX primary category in XML sitemaps
|
227 |
+
* FIX meta robots / canonical tags for static blog page
|
228 |
+
* FIX Breadcrumbs with before / after HTML hooks (thanks to @wpchannel)
|
229 |
= 3.6.3 =
|
230 |
* INFO Improve code quality
|
231 |
* INFO Improve security
|
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.6.
|
7 |
Author: Benjamin Denis
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
@@ -53,7 +53,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
|
53 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
54 |
//Define
|
55 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
-
define( 'SEOPRESS_VERSION', '3.6.
|
57 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
58 |
|
59 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
3 |
Plugin Name: SEOPress
|
4 |
Plugin URI: https://www.seopress.org/
|
5 |
Description: One of the best SEO plugins for WordPress.
|
6 |
+
Version: 3.6.4
|
7 |
Author: Benjamin Denis
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
53 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
54 |
//Define
|
55 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
+
define( 'SEOPRESS_VERSION', '3.6.4' );
|
57 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
58 |
|
59 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|