Version Description
- NEW Import your redirect categories when importing redirects from CSV file
- NEW 'seopress_sitemaps_home_url' hook to filter home_url in XML sitemaps (https://www.seopress.org/support/hooks/filter-home_url-in-xml-sitemaps/)
- INFO Add a link to find your Google Ads conversion ID (https://www.seopress.org/support/guides/how-to-find-your-google-ads-conversions-id/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress)
- INFO Add a link to create an automatic FAQ schema with ACF repeater field (https://www.seopress.org/support/guides/create-an-automatic-faq-schema-with-acf-repeater-fields/)
- INFO Delete 404 errors manually even if enable 404 cleaning CRON is disabled (it was too confusing for the users)
- FIX Revert: Exclude posts and terms from XML sitemaps if custom canonical URL set from SEO metabox
Download this release
Release Info
Developer | rainbowgeek |
Plugin | SEOPress |
Version | 4.1.6 |
Comparing to | |
See all releases |
Code changes from version 4.1.5.1 to 4.1.6
- inc/admin/admin.php +21 -4
- inc/functions/options-import-export.php +21 -2
- inc/functions/options-redirections.php +1 -1
- inc/functions/sitemap/template-xml-sitemaps-author.php +2 -0
- inc/functions/sitemap/template-xml-sitemaps-single-term.php +2 -0
- inc/functions/sitemap/template-xml-sitemaps-single.php +13 -27
- inc/functions/sitemap/template-xml-sitemaps.php +17 -63
- readme.txt +8 -1
- seopress.php +2 -2
inc/admin/admin.php
CHANGED
@@ -1062,14 +1062,15 @@ class seopress_options
|
|
1062 |
<div id="section-import-redirects" class="postbox section-tool">
|
1063 |
<div class="inside">
|
1064 |
<h3><span><?php _e( 'Import Redirections', 'wp-seopress' ); ?></span></h3>
|
1065 |
-
<p><?php _e( 'Import your own redirections from a .csv file (separator ";"). You must have
|
1066 |
<ul>
|
1067 |
<li><?php _e( 'URL to match (without your domain name)', 'wp-seopress'); ?></li>
|
1068 |
<li><?php _e( 'URL to redirect in absolute,','wp-seopress'); ?></li>
|
1069 |
<li><?php _e( 'type of redirection (301, 302 or 307, 410, 451),','wp-seopress'); ?></li>
|
1070 |
<li><?php _e( 'Yes to enable the redirect (leave it empty to disable the redirect)','wp-seopress'); ?></li>
|
1071 |
<li><?php _e( 'the query parameter without the quotes ("exact_match" = Exact match with all parameters, "without_param" = Exclude all parameters or "with_ignored_param" = Exclude all parameters and pass them to the redirection),', 'wp-seopress' ); ?></li>
|
1072 |
-
<li><?php _e( '
|
|
|
1073 |
</ul>
|
1074 |
</p>
|
1075 |
<p>
|
@@ -1180,7 +1181,6 @@ class seopress_options
|
|
1180 |
<div class="inside">
|
1181 |
<h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
|
1182 |
<p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
|
1183 |
-
<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#tab=tab_seopress_404' )); ?></p>
|
1184 |
<p class="seopress-help"><?php
|
1185 |
if (function_exists('seopress_get_locale') && seopress_get_locale() =='fr') {
|
1186 |
$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';
|
@@ -5309,7 +5309,11 @@ class seopress_options
|
|
5309 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_optimize]" placeholder="'.esc_html__('Enter your Google Optimize container ID','wp-seopress').'" value="%s" aria-label="'.__('GTM-XXXXXXX','wp-seopress').'"/>',
|
5310 |
esc_html($check));
|
5311 |
|
5312 |
-
echo '<p class="description">'.__('Google Optimize offers A/B testing, website testing & personalization tools.','wp-seopress').'
|
|
|
|
|
|
|
|
|
5313 |
}
|
5314 |
|
5315 |
public function seopress_google_analytics_ads_callback()
|
@@ -5319,6 +5323,19 @@ class seopress_options
|
|
5319 |
printf(
|
5320 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_ads]" placeholder="'.esc_html__('Enter your Google Ads conversion ID (eg: AW-123456789)','wp-seopress').'" value="%s" aria-label="'.__('AW-XXXXXXXXX','wp-seopress').'"/>',
|
5321 |
esc_html($check));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5322 |
}
|
5323 |
|
5324 |
public function seopress_google_analytics_other_tracking_callback()
|
1062 |
<div id="section-import-redirects" class="postbox section-tool">
|
1063 |
<div class="inside">
|
1064 |
<h3><span><?php _e( 'Import Redirections', 'wp-seopress' ); ?></span></h3>
|
1065 |
+
<p><?php _e( 'Import your own redirections from a .csv file (separator ";"). You must have these columns in this order:','wp-seopress'); ?>
|
1066 |
<ul>
|
1067 |
<li><?php _e( 'URL to match (without your domain name)', 'wp-seopress'); ?></li>
|
1068 |
<li><?php _e( 'URL to redirect in absolute,','wp-seopress'); ?></li>
|
1069 |
<li><?php _e( 'type of redirection (301, 302 or 307, 410, 451),','wp-seopress'); ?></li>
|
1070 |
<li><?php _e( 'Yes to enable the redirect (leave it empty to disable the redirect)','wp-seopress'); ?></li>
|
1071 |
<li><?php _e( 'the query parameter without the quotes ("exact_match" = Exact match with all parameters, "without_param" = Exclude all parameters or "with_ignored_param" = Exclude all parameters and pass them to the redirection),', 'wp-seopress' ); ?></li>
|
1072 |
+
<li><?php _e( 'the counter (optional),','wp-seopress'); ?></li>
|
1073 |
+
<li><?php _e( 'and, the last parameter, category redirect IDs separated by commas (optional).','wp-seopress'); ?></li>
|
1074 |
</ul>
|
1075 |
</p>
|
1076 |
<p>
|
1181 |
<div class="inside">
|
1182 |
<h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
|
1183 |
<p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
|
|
|
1184 |
<p class="seopress-help"><?php
|
1185 |
if (function_exists('seopress_get_locale') && seopress_get_locale() =='fr') {
|
1186 |
$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';
|
5309 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_optimize]" placeholder="'.esc_html__('Enter your Google Optimize container ID','wp-seopress').'" value="%s" aria-label="'.__('GTM-XXXXXXX','wp-seopress').'"/>',
|
5310 |
esc_html($check));
|
5311 |
|
5312 |
+
echo '<p class="description">'.__('Google Optimize offers A/B testing, website testing & personalization tools.','wp-seopress').'
|
5313 |
+
<a class="seopress-help" href="https://marketingplatform.google.com/about/optimize/" target="_blank">
|
5314 |
+
'.__('Learn more','wp-seopress').'
|
5315 |
+
</a>
|
5316 |
+
<span class="seopress-help dashicons dashicons-external"></span></p>';
|
5317 |
}
|
5318 |
|
5319 |
public function seopress_google_analytics_ads_callback()
|
5323 |
printf(
|
5324 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_ads]" placeholder="'.esc_html__('Enter your Google Ads conversion ID (eg: AW-123456789)','wp-seopress').'" value="%s" aria-label="'.__('AW-XXXXXXXXX','wp-seopress').'"/>',
|
5325 |
esc_html($check));
|
5326 |
+
|
5327 |
+
if (function_exists('seopress_get_locale') && seopress_get_locale() =='fr') {
|
5328 |
+
$seopress_docs_link['support']['analytics']['gads'] = 'https://www.seopress.org/fr/support/guides/trouver-votre-id-de-conversion-google-ads/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
|
5329 |
+
} else {
|
5330 |
+
$seopress_docs_link['support']['analytics']['gads'] = 'https://www.seopress.org/support/guides/how-to-find-your-google-ads-conversions-id/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
|
5331 |
+
}
|
5332 |
+
|
5333 |
+
echo '<p class="description">
|
5334 |
+
<a class="seopress-help" href="'.$seopress_docs_link['support']['analytics']['gads'].'" target="_blank">
|
5335 |
+
'. __('Learn how to find your Google Ads Conversion ID','wp-seopress').'
|
5336 |
+
</a>
|
5337 |
+
<span class="seopress-help dashicons dashicons-external"></span></p>';
|
5338 |
+
|
5339 |
}
|
5340 |
|
5341 |
public function seopress_google_analytics_other_tracking_callback()
|
inc/functions/options-import-export.php
CHANGED
@@ -176,6 +176,13 @@ function seopress_import_redirections_settings() {
|
|
176 |
}
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
if (!empty($csv_line[0])) {
|
180 |
$count = NULL;
|
181 |
if (!empty($csv_line[5])) {
|
@@ -191,9 +198,14 @@ function seopress_import_redirections_settings() {
|
|
191 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
192 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
193 |
'seopress_404_count' => $count
|
194 |
-
]
|
195 |
]
|
196 |
);
|
|
|
|
|
|
|
|
|
|
|
197 |
}
|
198 |
}
|
199 |
|
@@ -298,6 +310,11 @@ function seopress_export_redirections_settings() {
|
|
298 |
if ( $seopress_redirects_query->have_posts() ) {
|
299 |
while ( $seopress_redirects_query->have_posts() ) {
|
300 |
$seopress_redirects_query->the_post();
|
|
|
|
|
|
|
|
|
|
|
301 |
$redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))).'"';
|
302 |
$redirects_html .= ';';
|
303 |
$redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(),'_seopress_redirections_value',true))))).'"';
|
@@ -309,6 +326,8 @@ function seopress_export_redirections_settings() {
|
|
309 |
$redirects_html .= get_post_meta(get_the_ID(),'_seopress_redirections_param',true);
|
310 |
$redirects_html .= ';';
|
311 |
$redirects_html .= get_post_meta(get_the_ID(),'seopress_404_count',true);
|
|
|
|
|
312 |
$redirects_html .= "\n";
|
313 |
}
|
314 |
wp_reset_postdata();
|
@@ -553,7 +572,7 @@ function seopress_clean_404() {
|
|
553 |
}
|
554 |
|
555 |
add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
|
556 |
-
do_action('seopress_404_cron_cleaning');
|
557 |
wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
|
558 |
exit;
|
559 |
}
|
176 |
}
|
177 |
}
|
178 |
|
179 |
+
//Seventh column: redirect categories
|
180 |
+
if (!empty($csv_line[6])) {
|
181 |
+
$cats = array_values(explode(',',$csv_line[6]));
|
182 |
+
$cats = array_map( 'intval', $cats );
|
183 |
+
$cats = array_unique( $cats );
|
184 |
+
}
|
185 |
+
|
186 |
if (!empty($csv_line[0])) {
|
187 |
$count = NULL;
|
188 |
if (!empty($csv_line[5])) {
|
198 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
199 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
200 |
'seopress_404_count' => $count
|
201 |
+
],
|
202 |
]
|
203 |
);
|
204 |
+
|
205 |
+
//Assign terms
|
206 |
+
if (!empty($csv_line[6])) {
|
207 |
+
wp_set_object_terms( $id, $cats, 'seopress_404_cat' );
|
208 |
+
}
|
209 |
}
|
210 |
}
|
211 |
|
310 |
if ( $seopress_redirects_query->have_posts() ) {
|
311 |
while ( $seopress_redirects_query->have_posts() ) {
|
312 |
$seopress_redirects_query->the_post();
|
313 |
+
|
314 |
+
$redirect_categories = get_the_terms( get_the_ID(), 'seopress_404_cat' );
|
315 |
+
$redirect_categories = '"'.join(', ', wp_list_pluck($redirect_categories, 'term_id')).'"';
|
316 |
+
|
317 |
+
|
318 |
$redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))).'"';
|
319 |
$redirects_html .= ';';
|
320 |
$redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(),'_seopress_redirections_value',true))))).'"';
|
326 |
$redirects_html .= get_post_meta(get_the_ID(),'_seopress_redirections_param',true);
|
327 |
$redirects_html .= ';';
|
328 |
$redirects_html .= get_post_meta(get_the_ID(),'seopress_404_count',true);
|
329 |
+
$redirects_html .= ";";
|
330 |
+
$redirects_html .= $redirect_categories;
|
331 |
$redirects_html .= "\n";
|
332 |
}
|
333 |
wp_reset_postdata();
|
572 |
}
|
573 |
|
574 |
add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
|
575 |
+
do_action('seopress_404_cron_cleaning', true);
|
576 |
wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
|
577 |
exit;
|
578 |
}
|
inc/functions/options-redirections.php
CHANGED
@@ -67,7 +67,7 @@ function seopress_redirections_value() {
|
|
67 |
$seopress_redirections_value = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
|
68 |
$seopress_redirections_query = new WP_Query( array(
|
69 |
'post_type' => 'seopress_404',
|
70 |
-
'posts_per_page' => '-1',
|
71 |
'update_post_term_cache' => false, // don't retrieve post terms
|
72 |
'update_post_meta_cache' => false, // don't retrieve post meta
|
73 |
)
|
67 |
$seopress_redirections_value = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
|
68 |
$seopress_redirections_query = new WP_Query( array(
|
69 |
'post_type' => 'seopress_404',
|
70 |
+
'posts_per_page' => '-1',
|
71 |
'update_post_term_cache' => false, // don't retrieve post terms
|
72 |
'update_post_meta_cache' => false, // don't retrieve post meta
|
73 |
)
|
inc/functions/sitemap/template-xml-sitemaps-author.php
CHANGED
@@ -22,6 +22,8 @@ function seopress_xml_sitemap_author() {
|
|
22 |
$home_url = site_url().'/';
|
23 |
}
|
24 |
|
|
|
|
|
25 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
26 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
27 |
$seopress_sitemaps .= "\n";
|
22 |
$home_url = site_url().'/';
|
23 |
}
|
24 |
|
25 |
+
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
26 |
+
|
27 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
28 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
29 |
$seopress_sitemaps .= "\n";
|
inc/functions/sitemap/template-xml-sitemaps-single-term.php
CHANGED
@@ -46,6 +46,8 @@ function seopress_xml_sitemap_single_term() {
|
|
46 |
$home_url = site_url().'/';
|
47 |
}
|
48 |
|
|
|
|
|
49 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
50 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
51 |
$seopress_sitemaps .= "\n";
|
46 |
$home_url = site_url().'/';
|
47 |
}
|
48 |
|
49 |
+
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
50 |
+
|
51 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
52 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
53 |
$seopress_sitemaps .= "\n";
|
inc/functions/sitemap/template-xml-sitemaps-single.php
CHANGED
@@ -58,6 +58,8 @@ function seopress_xml_sitemap_single() {
|
|
58 |
$home_url = site_url().'/';
|
59 |
}
|
60 |
|
|
|
|
|
61 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
62 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
63 |
$seopress_sitemaps .= "\n";
|
@@ -104,35 +106,19 @@ function seopress_xml_sitemap_single() {
|
|
104 |
'post_type' => $path,
|
105 |
'post_status' => 'publish',
|
106 |
'meta_query' =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
[
|
108 |
-
'
|
109 |
-
|
110 |
-
|
111 |
-
[
|
112 |
-
'key' => '_seopress_robots_index',
|
113 |
-
'value' => '',
|
114 |
-
'compare' => 'NOT EXISTS'
|
115 |
-
],
|
116 |
-
[
|
117 |
-
'key' => '_seopress_robots_index',
|
118 |
-
'value' => 'yes',
|
119 |
-
'compare' => '!='
|
120 |
-
],
|
121 |
-
],
|
122 |
-
[
|
123 |
-
'relation' => 'OR',
|
124 |
-
[
|
125 |
-
'key' => '_seopress_robots_canonical',
|
126 |
-
'value' => '',
|
127 |
-
'compare' => 'NOT EXISTS'
|
128 |
-
],
|
129 |
-
[
|
130 |
-
'key' => '_seopress_robots_canonical',
|
131 |
-
'value' => '',
|
132 |
-
'compare' => '='
|
133 |
-
],
|
134 |
-
],
|
135 |
],
|
|
|
136 |
'fields' => 'ids',
|
137 |
'lang' => '',
|
138 |
'has_password' => false
|
58 |
$home_url = site_url().'/';
|
59 |
}
|
60 |
|
61 |
+
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
62 |
+
|
63 |
$seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
|
64 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
65 |
$seopress_sitemaps .= "\n";
|
106 |
'post_type' => $path,
|
107 |
'post_status' => 'publish',
|
108 |
'meta_query' =>
|
109 |
+
[
|
110 |
+
'relation' => 'OR',
|
111 |
+
[
|
112 |
+
'key' => '_seopress_robots_index',
|
113 |
+
'value' => '',
|
114 |
+
'compare' => 'NOT EXISTS'
|
115 |
+
],
|
116 |
[
|
117 |
+
'key' => '_seopress_robots_index',
|
118 |
+
'value' => 'yes',
|
119 |
+
'compare' => '!='
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
],
|
121 |
+
],
|
122 |
'fields' => 'ids',
|
123 |
'lang' => '',
|
124 |
'has_password' => false
|
inc/functions/sitemap/template-xml-sitemaps.php
CHANGED
@@ -35,7 +35,9 @@ function seopress_xml_sitemap_index() {
|
|
35 |
|
36 |
if (function_exists('pll_home_url')) {
|
37 |
$home_url = site_url().'/';
|
38 |
-
|
|
|
|
|
39 |
|
40 |
$seopress_sitemaps ='<?xml version="1.0" encoding="UTF-8"?>';
|
41 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
@@ -53,32 +55,16 @@ function seopress_xml_sitemap_index() {
|
|
53 |
'post_status' => 'publish',
|
54 |
'meta_query' =>
|
55 |
[
|
56 |
-
'relation' => '
|
57 |
[
|
58 |
-
'
|
59 |
-
|
60 |
-
|
61 |
-
'value' => '',
|
62 |
-
'compare' => 'NOT EXISTS'
|
63 |
-
],
|
64 |
-
[
|
65 |
-
'key' => '_seopress_robots_index',
|
66 |
-
'value' => 'yes',
|
67 |
-
'compare' => '!='
|
68 |
-
],
|
69 |
],
|
70 |
[
|
71 |
-
'
|
72 |
-
|
73 |
-
|
74 |
-
'value' => '',
|
75 |
-
'compare' => 'NOT EXISTS'
|
76 |
-
],
|
77 |
-
[
|
78 |
-
'key' => '_seopress_robots_canonical',
|
79 |
-
'value' => '',
|
80 |
-
'compare' => '='
|
81 |
-
],
|
82 |
],
|
83 |
],
|
84 |
'fields' => 'ids',
|
@@ -135,8 +121,6 @@ function seopress_xml_sitemap_index() {
|
|
135 |
'ignore_sticky_posts' => true,
|
136 |
'posts_per_page' => 1,
|
137 |
'meta_query' =>
|
138 |
-
[
|
139 |
-
'relation' => 'AND',
|
140 |
[
|
141 |
'relation' => 'OR',
|
142 |
[
|
@@ -150,20 +134,6 @@ function seopress_xml_sitemap_index() {
|
|
150 |
'compare' => '!='
|
151 |
],
|
152 |
],
|
153 |
-
[
|
154 |
-
'relation' => 'OR',
|
155 |
-
[
|
156 |
-
'key' => '_seopress_robots_canonical',
|
157 |
-
'value' => '',
|
158 |
-
'compare' => 'NOT EXISTS'
|
159 |
-
],
|
160 |
-
[
|
161 |
-
'key' => '_seopress_robots_canonical',
|
162 |
-
'value' => '',
|
163 |
-
'compare' => '='
|
164 |
-
],
|
165 |
-
],
|
166 |
-
],
|
167 |
'order' => 'DESC',
|
168 |
'orderby' => 'modified',
|
169 |
'lang' => '',
|
@@ -203,32 +173,16 @@ function seopress_xml_sitemap_index() {
|
|
203 |
'fields' => 'ids',
|
204 |
'meta_query' =>
|
205 |
[
|
206 |
-
'relation' => '
|
207 |
[
|
208 |
-
'
|
209 |
-
|
210 |
-
|
211 |
-
'value' => '',
|
212 |
-
'compare' => 'NOT EXISTS'
|
213 |
-
],
|
214 |
-
[
|
215 |
-
'key' => '_seopress_robots_index',
|
216 |
-
'value' => 'yes',
|
217 |
-
'compare' => '!='
|
218 |
-
],
|
219 |
],
|
220 |
[
|
221 |
-
'
|
222 |
-
|
223 |
-
|
224 |
-
'value' => '',
|
225 |
-
'compare' => 'NOT EXISTS'
|
226 |
-
],
|
227 |
-
[
|
228 |
-
'key' => '_seopress_robots_canonical',
|
229 |
-
'value' => '',
|
230 |
-
'compare' => '='
|
231 |
-
],
|
232 |
],
|
233 |
],
|
234 |
];
|
35 |
|
36 |
if (function_exists('pll_home_url')) {
|
37 |
$home_url = site_url().'/';
|
38 |
+
}
|
39 |
+
|
40 |
+
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
41 |
|
42 |
$seopress_sitemaps ='<?xml version="1.0" encoding="UTF-8"?>';
|
43 |
$seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
|
55 |
'post_status' => 'publish',
|
56 |
'meta_query' =>
|
57 |
[
|
58 |
+
'relation' => 'OR',
|
59 |
[
|
60 |
+
'key' => '_seopress_robots_index',
|
61 |
+
'value' => '',
|
62 |
+
'compare' => 'NOT EXISTS'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
],
|
64 |
[
|
65 |
+
'key' => '_seopress_robots_index',
|
66 |
+
'value' => 'yes',
|
67 |
+
'compare' => '!='
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
],
|
69 |
],
|
70 |
'fields' => 'ids',
|
121 |
'ignore_sticky_posts' => true,
|
122 |
'posts_per_page' => 1,
|
123 |
'meta_query' =>
|
|
|
|
|
124 |
[
|
125 |
'relation' => 'OR',
|
126 |
[
|
134 |
'compare' => '!='
|
135 |
],
|
136 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
'order' => 'DESC',
|
138 |
'orderby' => 'modified',
|
139 |
'lang' => '',
|
173 |
'fields' => 'ids',
|
174 |
'meta_query' =>
|
175 |
[
|
176 |
+
'relation' => 'OR',
|
177 |
[
|
178 |
+
'key' => '_seopress_robots_index',
|
179 |
+
'value' => '',
|
180 |
+
'compare' => 'NOT EXISTS'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
],
|
182 |
[
|
183 |
+
'key' => '_seopress_robots_index',
|
184 |
+
'value' => 'yes',
|
185 |
+
'compare' => '!='
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
],
|
187 |
],
|
188 |
];
|
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.5
|
8 |
Requires PHP: 5.6
|
9 |
-
Stable tag: 4.1.
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
@@ -310,6 +310,13 @@ You're theme is probably using a deprecated function to handle the title. <a hre
|
|
310 |
8. Installation Wizard
|
311 |
|
312 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
= 4.1.5.1 =
|
314 |
* FIX DomDocument issue if "Automatically set the image Alt text from target keywords option" is enabled
|
315 |
= 4.1.5 =
|
6 |
Requires at least: 4.7+
|
7 |
Tested up to: 5.5
|
8 |
Requires PHP: 5.6
|
9 |
+
Stable tag: 4.1.6
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
310 |
8. Installation Wizard
|
311 |
|
312 |
== Changelog ==
|
313 |
+
= 4.1.6 =
|
314 |
+
* NEW Import your redirect categories when importing redirects from CSV file
|
315 |
+
* NEW 'seopress_sitemaps_home_url' hook to filter home_url in XML sitemaps (https://www.seopress.org/support/hooks/filter-home_url-in-xml-sitemaps/)
|
316 |
+
* INFO Add a link to find your Google Ads conversion ID (https://www.seopress.org/support/guides/how-to-find-your-google-ads-conversions-id/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress)
|
317 |
+
* INFO Add a link to create an automatic FAQ schema with ACF repeater field (https://www.seopress.org/support/guides/create-an-automatic-faq-schema-with-acf-repeater-fields/)
|
318 |
+
* INFO Delete 404 errors manually even if enable 404 cleaning CRON is disabled (it was too confusing for the users)
|
319 |
+
* FIX Revert: Exclude posts and terms from XML sitemaps if custom canonical URL set from SEO metabox
|
320 |
= 4.1.5.1 =
|
321 |
* FIX DomDocument issue if "Automatically set the image Alt text from target keywords option" is enabled
|
322 |
= 4.1.5 =
|
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: 4.1.
|
7 |
Author: SEOPress
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
@@ -55,7 +55,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
|
55 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
//Define
|
57 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
58 |
-
define( 'SEOPRESS_VERSION', '4.1.
|
59 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
60 |
|
61 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
3 |
Plugin Name: SEOPress
|
4 |
Plugin URI: https://www.seopress.org/
|
5 |
Description: One of the best SEO plugins for WordPress.
|
6 |
+
Version: 4.1.6
|
7 |
Author: SEOPress
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
55 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
//Define
|
57 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
58 |
+
define( 'SEOPRESS_VERSION', '4.1.6' );
|
59 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
60 |
|
61 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|